UML: Stärken und Schwächen der grafischen Modellierung

Transformation bis zur implementierten Lösung

Für den effizienten Einsatz von grafischer Modellierung ist es sinnvoll, dass sie breitflächig in allen Phasen der Entwicklung eingesetzt wird. Dies fängt bei der Analyse an und geht über das Design bis hin zur Implementierung. Die phasenübergreifende Modellierung ist beispielsweise die Grundlage der Model Driven Architecture (MDA). Ein zentraler Aspekt der MDA ist die Transformation von Modellen. Ausgehend von einem plattformunabhängigen Anfangsmodell, werden durch schrittweise Umformungen plattformspezifischere Modelle erzeugt. Das Endmodell spiegelt die implementierte Lösung wider.

Für die konkreten Modellierungsformen in den einzelnen Phasen - also welcher Aspekt wird mit welchen Sprachmitteln formuliert - gibt es bislang keine Standards. In der Analyse können die fachlichen Anforderungen unter anderem in Form von Use-Cases, Klassendiagrammen und Activity-Diagrammen modelliert werden. Leider gibt es keine geeignete Ausdrucksform für die Beschreibung von Benutzeroberflächen. Und dies, obwohl gerade die Oberflächen dringend notwendig sind, um dem fachlichen Anwender die spezifizierte Lösung näher zu bringen.

Im Design hat die Verwendung von grafischer Modellierung unterschiedliche Spannweiten. Es gibt Ansätze zur vollständigen Modellierung der Model-View-Controller-Schichten und Ansätze, in denen ausschließlich auf der Ebene der Business-Logik Modellierung stattfindet. Die Entscheidung, die View- und Controller-Schicht zu modellieren, ist oft von zwei Fragen abhängig:

  • Wird ein Produkt oder eine Individuallösung entwickelt?

  • Gibt es für die Lösung verschiedene GUI-Zielplattformen?

Ein UML-Modell ist nur hilfreich, wenn es den aktuellen Implementierungsstand widerspiegelt. Dies war in den Anfängen der grafischen Modellierung oft nicht der Fall. Es wurde ein UML-Modell entworfen und losgelöst davon dessen Umsetzung programmiert. Damit war das Auseinanderdriften von grafischem Modell und Code vorbestimmt. Der Nutzen des grafischen Modells ging verloren, es wurde zur Seite gelegt und nicht mehr gepflegt. Die Ursache lag darin, dass die Tools zur Modellierung in UML noch nicht den entsprechenden Reifegrad hatten und keine Exportmöglichkeiten oder bedarfsgerechten APIs zur Verfügung stellten. Damit war der Weg zur Verbindung von Modell und Programmcode versperrt. Das hat sich inzwischen geändert: Verschiedene Hersteller bieten Modellierungs-Tools an, die sich für unterschiedliche Anforderungen eignen.