Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
1 Einleitung<br />
In den vergangenen zwei Jahrzehnten hat Software eine immer stärkere Be-<br />
deutung in zahlreichen Geschäftsprozessen und alltäglichen Informationsflüssen<br />
erlangt. Sie stellt gewissermaßen, das Fundament für diese Abläufe dar. Software<br />
ist somit zu einem bedeutenden Bestandteil vieler Unternehmen geworden.<br />
Dem gegenüber steht eine Vielzahl an Projekten bei denen sowohl die Budgets<br />
überschritten als auch die Designziele verfehlt werden. Viele Hersteller sind<br />
so mit ständig wechselnden Implementierungstechnologien beschäftigt, dass<br />
keine Zeit für Produktivitätsüberlegungen und Risikominimierung bleibt. Weder<br />
schwergewichtige dokumentenlastige Entwicklungsprozesse noch CASE-Tools 1<br />
können/konnten Abhilfe schaffen.<br />
In den letzten Jahren rückten aus diesen Gründen sowohl agile Entwicklungs-<br />
prozesse als auch die Bedeutung von Modellen für das Software Engineering<br />
vermehrt ins Zentrum des Interesses. Die steigende Bedeutung von Modellen ist<br />
nicht zuletzt auf die Definition und Verbreitung der Unified Modeling Language<br />
kurz UML zurückzuführen. Es gibt mittlerweile eine Vielzahl an Modellierungs-<br />
tools, die in der Lage sind aus dem Modell einer Anwendung Teile der späteren<br />
Implementierung zu generieren. Problematisch in diesem Zusammenhang ist<br />
der Umstand, dass die Domäne in der die Anwendung angesiedelt ist, keinerlei<br />
Auswirkung auf den generierten Sourcecode hat. Es wird auf Basis eines ” One-<br />
Size-Fits-All!“-Ansatzes gearbeitet. Der generierte Code muss somit für alle<br />
Eventualitäten und Einsatzbereiche geeignet sein. Das führt leider oft zu einer<br />
Unzulänglichkeit des Generats und erfordert viel manuelle Zusatzarbeit um die<br />
Lücke zwischen Generat und Zielplattform zu schließen. Zudem sind die meisten<br />
dieser Tools nicht in der Lage Designänderungen iterativ auf einen bestehenden<br />
Quellcode zu übertragen. Letzten Endes nehmen die Modelle hier nur den Status<br />
einer Dokumentation ein und fallen auf Grund der rein gedanklichen Verbindung<br />
zwischen Modell und Sourcecode oftmals dem Zeitdruck zum Opfer.<br />
Einen anderen Weg gehen modellgetriebene Ansätze wie Model Driven Software<br />
Development kurz MDSD oder Model Driven Architecture kurz MDA. Hier<br />
1 Computer Aided Software Engineering-Tools unterstützen Softwareentwickler bei Planung<br />
Design und Umsetzung einer Anwendung (siehe auch [cas06]).<br />
3