Package: 4-MDA@Work

Software-Entwicklung erfolgt im Allgemeinen auf der Grundlage eines in der realen Welt festgestellten Problems, zu dessen Lösung das Softwareprodukt so gut wie möglich beitragen soll. In aller Regel handelt es sich hierbei um wirtschaftliche oder technische Probleme, aus denen sich Anforderungen an eine DV-gestützte Lösung ergeben. Software entwickeln ist mehr als Programmieren, sie beginnt mit einer Beschreibung des Problems und Analyse der Anforderungen, gefolgt von mehreren Phasen der Abstraktion bis hin zum fertigen Produkt.

Mit den Veröffentlichungen zum Thema MDA, erstmalig im Jahre 2001, wurde von der Object Management Group (OMG) ein Konzept für eine modellgetriebene Anwendungsentwicklung vorgestellt, das sich im Laufe der Zeit in vielfältige Richtungen ausgebreitet und entwickelt hat. Dabei lag das Schwergewicht oft auf eine modellgetriebene Codegenerierung, die im Wesentlichen die Generierung von Softwarekomponenten aus Modellen zum Inhalt hat. MDA jedoch ist mehr, MDA - „Model Driven Architecture" - ist eine Zusammenstellung von verschiedenen Konzepten und Spezifikationen, die von der OMG als Architektur eines modellgetriebenen Ansatzes beschreiben wird. Ich würde den Begriff mehr und meiner Meinung nach pragmatischer als einen Ansatz für eine „architekturzentrierte modellgetriebene Anwendungsentwicklung" interpretieren. Ich werde versuchen, dies im Rahmen des Projektes MDA@Work an einem praktischen Beispiel zu erläutern und zu begründen.

Das Projekt MDA@Work soll anhand eines komplexen Beispiels einen umfassenden Weg aufzeigen, wie mit MDA-Techniken systematisch und ergebnisorientiert Software entwickelt werden kann. Das Projekt hat zur Aufgabe, auf der Basis eines UML-Modells über einen klassischen Softwareentwicklungsprozess eine prototypische Anwendung zu erarbeiten. Dabei steht die Modellierung, zunächst mit Klassendiagrammen, im Vordergrund. Der Anteil der Programmierung soll so gering wie möglich sein. Das Ziel ist sogar, im Rahmen der Entwicklung eines ersten lauffähigen Prototyps einer Anwendung auf Programmierung gänzlich verzichten zu können.

Das primäre Ziel ist also, im Laufe einer Entwicklung weitgehend Modellierungs- und Modelltransformationstechniken einzusetzen, ausschließlich auf der Grundlage der MDA-Konzepte der OMG: MOF, UML, QVT und MTL. Als Ergebnis soll mit Hilfe von generativen Mitteln eine komplette prototypische Applikation entstehen, bestehend aus einer graphischen Benutzeroberfläche und einer Datenhaltungskomponente.

Besitzer

Diagramme