Von der Idee zum Projekt -
Möglichkeiten und Grenzen der Model Driven Architecture
Im letzten Jahrzehnt hat die Software-Industrie große Fortschritte erlebt. Mit
der UML hat sich ein einheitlicher Modellierungsstandard durchgesetzt. Durch die
Etablierung von Objektorientierung, Komponententechnologie und Applikationsservern
wurden größere und komplexere Systeme und Webapplikationen möglich.
Aber die heutigen Software-Projekte sind trotz des Fortschritts mit einer Vielzahl
von Problemen konfrontiert. Nach wie vor muss sehr viel Quelltext von Hand
erstellt werden. Die technische Komplexität der heutigen Anwendungen verlangt von
Entwicklern ein enormes Wissen an infrastrukturellen Details, die nur wenig zur
tatsächlichen Funktionalität beitragen. Die resultierenden Systeme sind oft
fehleranfällig und wenig änderbar. Der Zwang oder Wille, auf eine neue
Technologie umzusteigen, führt daher nicht selten zur Neuentwicklung ganzer
Anwendungen.
Für diese Probleme bietet MDA eine Lösung. Der OMG Standard verbindet dabei
teilweise altbekannte Methoden wie die generative Programmierung mit neuen Ideen.
Im Vordergrund der Entwicklung stehen Modelle, durch die das System
möglichst vollständig beschrieben wird. Der Anspruch der MDA ist, nur das
abstrakteste Modell manuell zu entwerfen, und alle anderen Artefakte wie auch
den Quelltext vollständig aus diesem zu generieren. Mit der MDA sind folgende
Erwartungen verbunden:
- Verbesserung der Wiederverwendbarkeit
- Beschleunigung des Entwicklungsprozesses bei gleichzeitiger Erhöhung
der Qualität
- Reduktion der Komplexität durch Abstraktion und Trennung von
Fachlichkeit und Technik
- Erstellung wartbarer und technologisch flexibler Systeme, um besser
auf zukünftige Technologieänderungen reagieren zu können
Aber es ist auch klar, dass die MDA kein „Silver Bullet“ ist. Der vorliegende
Beitrag beschäftigt sich daher gerade im Licht der Erfahrungen mit CASE intensiv
und kritisch mit der neuen Methode.
Die Erfahrung von iteratec zeigt, dass MDA in Projekten erfolgreich angewendet
werden kann, selbst wenn nur Teile der Theorie umgesetzt werden. Der Beitrag
gibt daher zuerst einen Überblick über die theoretischen Grundlagen und bewertet
dann den Ansatz im Hinblick auf den heutigen Stand der Technik. Die Vorteile
und Nachteile von MDA werden diskutiert und notwendige konzeptionelle Vorarbeiten
für den Einsatz in einem Entwicklungsprojekt benannt. Darüber hinaus wird gezeigt,
welche Konsequenzen sich für den Entwicklungsprozess mit MDA ergeben und es
werden Erfahrungen aus iteratec Projekten vorgestellt. Zum Abschluss werden
Kriterien angegeben, mit denen die Perspektive eines Einsatzes von MDA in
konkreten Projekten bewertet werden kann.