Dieser Artikel zeigt den Einsatz von
Monaden
in der Praxis um GUI-Fenster zu beschreiben.
Für einen Kunden, der in der Sozialpädagogik tätig ist, entwickelt die
ActiveGroup eine Software zur Dokumentation von Therapiemaßnahmen.
Die Software erfasst die Stammdaten von Personen, die sich einer
Therapie unterziehen, lässt die Personen Fragebögen ausfüllen, um den
aktuellen Zustand und die Fortschritte der Therapie zu dokumentieren,
und erlaubt das Erstellen zahlreicher Berichte.
Zur Entwicklung der Fragebögen verwenden wir eine Monade, welche die
Darstellung des Fragebogens beschreibt und die Antworten einsammelt.
Wieso eine Monade? Wir sehen folgende Vorteile:
-
Komponierbarkeit Die Elemente des Fragebogens lassen sich unabhängig
voneinander beschreiben und anschließend beliebig miteinander
kombinieren. Damit lassen sich unterschiedliche Logiken im
Ablauf eines Fragebogens darstellen, z.B. wenn Frage 1 mit ‚ja‘
beantwortet wurde, geht es weiter auf Seite 2, ansonsten auf Seite
3.
-
Testbarkeit Da die Monade den Fragebogen nur beschreibt, lässt
er sich relativ leicht testen. Statt Maus-Klicks zu synthetisieren,
wertet man die Callbacks der Knöpfe innerhalb der Monade aus und
testet ihre Auswirkungen auf die Beschreibung.
In diesem Artikel möchte die Komponierbarkeit anhand eines Beispiels
illustrieren; die Testbarkeit und Implementierung überlasse ich
späteren Artikeln. Als Beispiel dient ein kleiner Fragebogen, der
festellt, ob der Befragte am Montag Zeit hat und falls ja, um wieviel
Uhr.
Weiterlesen...