Warum wir modellieren
Modelle begegnen uns überall in unserem Leben. Kleine Bilder, die uns den Weg zeigen, Kartenmaterial einer unbekannten Stadt, Bilder von großen und kleinen Tassen an einem Kaffeeautomaten (obwohl man für mich die Bilder der kleinen Tassen weglassen könnte).
Modelle sind für uns alltäglich. Sie helfen uns, dass wesentliche in einer unübersichtlichen Situation zu erkennen – wie z.B. Schilder mit Abbiegepfeilen auf einer vierspurigen Straße. Die unübersichtliche Situation wird durch Abstraktion und Konzentration auf das wesentliche übersichtlicher. Modellieren heißt also nicht aus Ton schöne Dinge zu formen (leider), sondern exakt diese Abstraktionsebene zu finden, die nicht zu viel weglässt und trotzdem noch verständlich ist.
In der Software-Industrie haben sich Modelle schon relativ frühzeitig durchgesetzt. In den frühen 90er des vergangenen Jahrhunderts wurden erste Modelle durch Grady Booch und Ivar Jacobson eingeführt. Grady Booch versuchte erfolgreich Business-Objekte, wie sie in Applikationen auftauchen, und ihre Abhängigkeiten grafisch darzustellen. Ivar Jacobson führte Anwendungsfall-Diagramme ein, wie sie auch heute benutzt werden (oder besser bekannt unter dem englischen Namen Use Case Diagrams).
Das eigentliche Problem besser verstehen
Immer war es die Hoffnung, mit solchen und vergleichbaren Modellen ausführbaren Code zu generieren. Leider wurde diese Hoffnung so nicht bestätigt. Allerdings helfen uns Modelle, die komplexe Natur von Geschäftsprozessen besser zu verstehen und den langen Weg zu ausführbaren Code zu begleiten. Wir können Funktionen gruppieren und mit Geschäftsobjekten in einer übersichtlichen Form in Zusammenhang bringen. Das hilft uns, das eigentliche Problem besser zu verstehen und mit der Hilfe der Informationstechnologie zu lösen.
Seit einigen Jahren ist es sogar möglich ganze Geschäftsprozesse mit Hilfe von Modellen darzustellen – Stichwort BPMN (Business Process Modeling Notation) oder auch BPEL (Business Process Execution Language). Das Wort Execution deutet darauf hin, dass wir hier was „Ausführbares“ haben. Und das ist auch wirklich so. Ein Geschäftsprozess, der mit BPEL modelliert ist, kann in einer dafür hergestellten Technologie (ESB – Enterprise Service Bus) automatisch ablaufen. Natürlich müssen dann alle technischen Systeme an diesen Bus angeschlossen sein. Auch wenn dies nicht so realisiert werden kann, hilft uns die grafische Darstellung des Geschäftsprozesses beim Verstehen der Abläufe und involvierten Personen und Systeme.
Modellieren hilft – auch wenn es anstrengend ist die richtige Abstraktionsebene zu finden. Lasst uns Modellieren!