Dienstag, 18. August 2009

Buchempfehlung: Modellgetriebene Softwareentwicklung


Aktuell interessiert mich das Thema modellgetriebene Softwareentwicklung sehr stark. Um mehr als nur Tutorials aus dem Netz und das Wikipedia-Wissen zu erfahren habe ich mich für das Buch "Modellgetriebene Softwareentwicklung. MDA und MDSD in der Praxis" von Georg Pietrek, Jens Trompeter (Herausgeber), und vielen anderen entschieden.

Ich stand zwischen der Wahl von "Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management" (Thomas Stahl, Markus Völter, Sven Efftinge, Arno Haase) für 49,00 Euro, dem oben genannten Buch für 39,90 Euro und "Model-Driven Development with Executable UML" (Dragan Milicev) für 41,95 Euro. All diese Bücher konnte ich in meinem Buchladen vergleichen.

Die Wahl viel mir leicht. Zum einen hat "Modellgetriebene Softwareentwicklung" einen akzeptablen Preis und zum anderen ist der Inhalt gut strukturiert, es gibt ein durchgängiges Praxisbeispiel und es geht soweit ins Detail, dass man danach anfangen kann mit einer IDE modellgetrieben zu entwickeln. Der Fokus liegt dabei auf der openArchitectureWare IDE.

Anfangs geht es um die Motivation modellgetrieben zu entwickeln, über Änderung an der Organisation und dem Entwicklungsprozess zum modellgetriebenen Entwickeln, zu den Grundlagen der Modellierung, Metamodellierung, domänenspezifischen Sprachen (DSL), Validieren von Modellen, Transformation und Werkzeugunterstützung. Alles anhand von Beispielen verdeutlicht und später mit Best Practices angereichert. Im Fazit wird die aktuelle Entwicklung des Fachgebietes zusammengefasst und ein Ausblick gegeben.

Das Buch ist sowohl für Entwickler als auch Architekten geschrieben. Alle Begriffe werden auf Anfängerniveau erklärt und es wird meines Erachtens wenig Hintergrundwissen vorausgesetzt.

Ich bin gespannt wie weit ich mit dem "Neuschreiben" des cocktailberater Projektes anhand modellgetriebener Softwareentwicklung komme. Es ist schon interessant aus einem Modell und ein paar DSLs letztlich von der Klassenstruktur, über die GUI, Datenbankstruktur, Objekt-Relationales-Mapping, Dokumentation, Konfigurationsdateien einen Großteil des Programms generieren zu können.


1 Kommentare,:

  1. Wir haben im w3 ne ganze Menge zu MDA/MDSD und auch ganz gescheite Tools zum rumprobieren -> RSA kann ich da empfehlen. Das ganze beißt sich immer dann wenn du tatsächlich konkret was machen musst - theoretisch ist das immer total clever. War mal auf einem Projekt wo wir vom Modell zum Code sind - die Transferleistung ist für "Automatik" damals einfach zu groß gewesen. Der Scaffolding - Ansatz von Ruby/Rails gefällt mir in der Praxis dann besser. Musst mal posten was du für Erfahrung damit gemacht hast ...
    AntwortenLöschen