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: 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.