Eins der zentralen Ziele von OpenSAGA ist es, den Prozess der Anforderungserhebung nachhaltig zu vereinfachen. Zur Erreichung dieses Ziels haben wir mehrere Ansätze verfolgt:
- Die OpenSAGA-Modelle erlauben eine Top-Down-Modellierung von Anforderungen in webbasierten Systemen. So können Berater und Domänenexperten sich gemeinsam an den zu lösenden Problemkreis herantasten und ausgehend von einer eher allgemeinen Beschreibung zunehmend in die Details eintauchen. Da es sich hierbei um eine schrittweise Annäherung handelt, kann so graduell das notwendige Detailwissen aufgebaut und im Rahmen dieses Prozesses eine gemeinsame Sprache entwickelt werden.
- Die OpenSAGA-Modelle abstrahieren von Technologie. Dadurch wird es möglich, die OpenSAGA-Modelle als direktes Werkzeug zur Beschreibung der Anforderungen zu verwenden. Klassische Modellierungssprachen sind an vielen Stellen zu detailliert, um von vielen Nicht-IT-Experten hinreichend verstanden zu werden und erzeugen bei Fachexperten eher Ängste und Stress. Das bedeutet nicht, dass wir keinen Wert in UML sehen – UML ist nur kein wirklich universelles Werkzeug sondern eher zur Spezifikation technischer Zusammenhänge optimiert. Mit OpenSAGA-Modellen ist dies anders – sie beschreiben unmittelbar das “Was?” einer Anwendung und verschwenden keine Energie darauf, das “Wie?” im Detail zu spezifizieren. Das überlässt OpenSAGA seinem Generator… und bietet für die notwendigen Ausnahmen von dieser Regel schlanke Strategie-Interfaces, die programmatische Erweiterungen erlauben.
- OpenSAGA stellt die Modelle in den Vordergrund. Während der Entwicklung wird ausschließlich an den Modellen selbst oder an definierten Strategie-Interfaces für punktuelle Erweiterungen gearbeitet. Es gibt keine Möglichkeiten, in den generierten Code einzugreifen. Dafür gibt es die Möglichkeit, in den Generierungsprozess einzugreifen, sollte dies technisch notwendig sein. So vermeiden wir aber eins der großen Probleme der UML – nämlich dass Modelle und Code in langlaufenden Projekten die unangenehme Eigenschaft haben, zunehmend inkonsistent zu werden.
Wie sieht daher das Modellieren und Spezifizieren mit OpenSAGA aus? Das kann ganz klassisch ablaufen, wenn wir die Wahl und die Möglichkeit haben, bevorzugen wir aber den folgenden Ansatz:
- Fach- bzw. Domänenexperten setzen sich mit Modellierern zusammen, um ihre Anforderungen zu beschreiben. Die Zahl der notwendigen Sitzungen hängt von vielen Faktoren ab (Komplexität des Themas, usw.)
- Die Anforderungen werden Top-Down erfasst.
- Zunächst wird mit einem Navigationsmodell der Rahmen der Webanwendung abgegrenzt.
- Dann wird geklärt, welche Knoten des Navigationsmodells tatsächliche Prozesse bzw. Workflows initiieren.
- Die Prozesse werden dahingehend verfeinert, dass die Zustände und Zustandsübergänge in Prozessmodellen beschieben werden.
- Alle Ansichtszustände (ViewStates) werden als Nächstes verfeinert, indem die Maskeninhalte geklärt werden.
- Spätestens an diesem Punkt – wenn erforderlich aber auch schon früher, ggf. sogar in einem eigenen Schritt – wird das Domänenmodell beschrieben.
- Die Transitionen mit ihren Aktionen werden detailliert – ggf. nur noch mit punktueller Unterstützung der Fachanwender an den Stellen, an denen komplexe Operationen ausgeführt werden sollen.
Auf diese Weise wird es möglich, sich schrittweise an die Anforderungen heranzutasten. In manchen Fällen wird es möglich sein, direkt Modelle zu schreiben, in anderen Fällen werden diese besser grafisch vormodelliert (z.B. Navigationsmodelle als Mindmaps, Prozessmodelle als vereinfachte Aktivitätsdiagramme, usw.)
Sie müssen angemeldet sein, um einen Kommentar schreiben zu können.

Keine Kommentare
Kommentar-Feed für diesen Artikel
Trackback-Link: http://www.opensaga.org/blog/dokumentation/spezifizieren-und-modellieren/trackback/