Ausarbeitung
Ausarbeitung
Ausarbeitung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 2: Model Driven Architecture<br />
2 Model Driven Architecture<br />
Model Driven Architecture (MDA) stellt ein Framework für die Entwicklung von<br />
Software dar. MDA wurde von der Object Management Group (OMG) entwickelt und<br />
in [OMG03] spezifiziert. Bei der OMG handelt es sich um ein internationales<br />
Konsortium, das sich mit der Entwicklung von herstellerunabhängigen Standards für die<br />
objektorientierte Programmierung beschäftigt.<br />
Die traditionelle Methode zur Software-Entwicklung folgt nach [KWB03, Kapitel 1] in<br />
der Regel einem ähnlichen Ablauf wie dem in Abb. 1 dargestellten. Besonders in den<br />
frühen Phasen werden neben textuellen Beschreibungen auch Modelle generiert, die im<br />
späteren Entwicklungsprozess jedoch lediglich zur Dokumentation dienen. Da in der<br />
Praxis Iterationen des Prozesses aus Zeit- und Kostengründen hauptsächlich die<br />
späteren Entwicklungsphasen umfassen, entfernt sich die tatsächliche Implementierung<br />
zunehmend von den Modellen, die so ihre Bedeutung verlieren. Das führt zu Problemen<br />
bei der Wartung und Weiterentwicklung der Systeme, wenn außer den initialen<br />
Beschreibungen und Modellen keine aktuelle Dokumentation vorhanden ist. Weitere<br />
Schwierigkeiten ergeben sich aus der schnellen technologischen Entwicklung im<br />
Bereich der Software-Industrie und der damit entstehenden Notwendigkeit, Systeme<br />
portabel und interoperabel zu gestalten.<br />
MDA stellt im Gegensatz zum traditionellen Ansatz Modelle in den Mittelpunkt des<br />
Software-Entwicklungs-Prozesses. Obwohl die Phasen des Entwicklungsprozesses<br />
gleich bleiben (vgl. Abb. 1), werden nunmehr als Hauptartefakte formale Modelle<br />
generiert, die von einem Computer verarbeitet werden können. Es existieren die<br />
folgenden Modelltypen (vgl. [OMG03]):<br />
Computer Independent Model (CIM): Das CIM beschreibt die fachlichen<br />
Anforderungen an das spätere System und beinhaltet Geschäftsabläufe, Mitarbeiter,<br />
Schnittstellen usw.<br />
Platform Independent Model (PIM): Ein Model mit hohem Abstraktionsniveau, welches<br />
die Struktur des Systems unabhängig von der späteren Implementierung beschreibt. Das<br />
PIM enthält „die zu verwendenden Komponenten sowie deren Funktionalitäten und<br />
Interaktionen“ [TBH04, S. 349].<br />
4