[Seminarthemen WS08/09] [ < ] [ > ] [Übersicht]


5 Fazit


Modellgetriebene Softwareentwicklung

Die MDSD bietet die Möglichkeit, durch die Einführung neuer Abstraktionsebenen und die automatische Erzeugung von Softwareanteilen die Softwareentwicklung zu beschleunigen und die Qualität der Software zu erhöhen (vgl. [HSS05, S. 113]). Durch die Einführung domänenspezi&64257;scher Abstraktionen können die Domänen zudem sinnvoll und prägnant beschrieben werden, ohne Implementierungsaspekte berücksichtigen zu müssen. Dies unterstützt insbesondere die Trennung von Fachlichkeit und Technik einer Software: Die Fachlichkeit kann zunächst modelliert werden, bevor sie über Transformationen in die Technik integriert wird. Die Technik wiederum kann unabhängig von der Fachlichkeit entwickelt werden. Des Weiteren kann auch die Technik sinnvoll in einzelne Bestandteile zerlegt werden, was die Trennung von Zuständigkeiten weiter unterstützt. Ferner besteht die Möglichkeit, Spezialwissen dauerhaft in Generatoren abzulegen und somit langfristig zu sichern.

Es darf jedoch nicht vernachlässigt werden, dass die modellgetriebene Softwareentwicklung zunächst Zusatzaufwand bedeutet. In der Praxis steht oftmals eine Referenzimplementierung in Form eines Prototyps am Anfang, von dem ausgehend domänenspezi&64257;sche Metamodelle identi&64257;ziert und entworfen werden. Dabei ist bereits zu Beginn ein sehr umfassendes Problemverständnis notwendig. Somit wird eine Produktivitätssteigerung typischerweise erst in späteren Phasen erreicht werden können. Insbesondere die Wartungs- und Weiterentwicklungsphasen sowie der Entwurf von Produktfamilien werden aber langfristig von der MDSD pro&64257;tieren.


openArchitectureWare

openArchitectureWare ist ein &64258;exibler Werkzeugkasten, mit dem es möglich ist, die vorgestellten Konzepte der modellgetriebenen Softwareentwicklung umzusetzen. Die Flexibilität ist bei openArchitectureWare in zweierlei Hinsicht gegeben. Zum einen ist der Input in das Framework nicht durch ein festes Metametamodell vorgegeben, wie es bei den traditionellen CASE-Tools der Fall ist. Zum anderen ist auch der Output aus einem erstellten Generator nicht starr auf Quelltext einer vorgegebenen Sprache festgelegt. Vielmehr ist es mit openArchitectureWare möglich verschiedene Codefragmente und Kon&64257;gurationsdateien aus demselben Modell zu berechnen. Die mit diesem Seminar durchgeführte Fallstudie zu der Stammdatenp&64258;ege (Abschnitt 4) hat dies bestätigt.

Das Arbeiten mit den Werkzeugen von openArchitectureWare ist nach kurzer Einarbeitungszeit und Dank der Eclipse IDE Integration schnell produktiv und macht Spaß. Die knappe Formulierung des Handbuches macht ein tieferes Einsteigen in die Materie an manchen Stellen allerdings schwieriger. Weiterhin hat die aktuelle Version 4.3 des Frameworks Probleme mit der Eclipse Integration. Es kam bei der Entwicklung des Generators für die Fallstudie öfters vor, dass Eclipse Fehler meldete die keine waren und die nach diversen Neustarts von Eclipse wieder verschwanden. Diesen Sachverhalt aufzuklären hat mehrfach einige Zeit gekostet und ist gerade für Einsteiger frustrierend.

Ist für ein Projekt eine hohe Flexibilität notwendig, so sollte openArchitectureWare das Tool der Wahl darstellen. Allerdings gilt es abzuwägen, ob für eine konkrete Aufgabenstellung schon Spezialgeneratoren vorliegen, denen unter Umständen der Vorzug zu geben ist. Weiterhin ist abzuwarten, wie stabil sich die API von openArchitectureWare erweist. Alles in allem stellt openArchitectureWare ein gutes Werkzeug dar, um Generatoren systematisch zu entwickeln.


[Seminarthemen WS08/09] [ < ] [ > ] [Übersicht]