In seinem von über 60 Besuchern frequentierten Vortrag auf der GUI&Design Messe in Frankfurt/Main skizzierte Dr. Oliver Alt kürzlich die Synthese von grafischem User Interface Design mit der modellbasierten Entwicklung der UI-Logik. Ausgangspunkt sowohl der modellbasierten Entwicklung wie auch der GUI-Erstellung ist eine erste Idee, die Festlegung der Anforderungen und darauf aufbauend dann die Erarbeitung von Architektur und Design. Im klassischen GUI-Design kommen heute MVC und MVVM-Entwurfsmuster zum Einsatz. Das Ziel dabei ist es, einen flexiblen Entwurf zu erstellen, der leicht geändert und erweitert werden kann und dessen Komponenten sich wieder verwenden lassen. So kann das einmal erstellte Muster etwa für eine Windows-, Linux- oder Web-Oberfläche genutzt werden. Bei der Verwendung von MVVM wird darüber hinaus bereits zwischen Design und Logik unterschieden, die Anwendungsschichten können getrennt entwickelt werden. So können sich Designer und Entwickler ganz auf ihre Rollen konzentrieren und es entsteht doch ein gemeinsames Produkt. Die Umsetzung der Logik (code behind) erfolgt jedoch weiterhin meist manuell.

image

Hier zeigen sich nun die Vorteile der modellbasierten Entwicklung für den Logik-Teil der GUI-Entwicklung. Mittels grafischer Modellierungssprachen (UML) modelliert man dabei Aspekte der Software und leitet daraus automatisch die Dokumentation, den Code sowie Testfälle ab. Die Logik hinter einem UI wird also mit Hilfe der UML-Verhaltensdiagramme grafisch spezifiziert, der „code behind“ aus dem Modell automatisch generiert. Dort, wo die grafische Darstellung zu unübersichtlich wird, kann auch noch Code im UML-Modell hinterlegt werden. Während also das grafische UI-Design weiterhin „klassisch“ abläuft und XAML generiert, wird die Logik modellbasiert entwickelt. So entsteht ein in sich geschlossener, grafischer Entwicklungsprozess. In die entstehenden UML-Modelle lassen sich nicht zuletzt Verweise auf externe Bibliotheken einfügen, sodass die Wiederverwendung bestehender UI-Bibliotheken über Verhaltensmodelle gewährleistet ist.

Da gute Werkzeuge zur Verknüpfung von UML und UI-Design zur Verfügung stehen, bietet die modellbasierte Entwicklung auf UML-Basis durch die durchgängige grafische Spezifikation von UI und Logik für UI-Designer klare Vorteile. Die Durchführung von Tests und Simulationen auf grafischer Ebene ist bereits heute möglich, an der weiteren Integration der verschiedenen Werkzeuge wird bei uns gearbeitet. Zu den Herausforderungen zählt etwa auch, UML-Modellierungen durch neuartige Editormöglichkeiten weiter zu vereinfachen.