Reif für den Einsatz: Modellgetriebene Entwicklung

Malcolm Groves, Borlands APAC Director of Product Line Sales, ist überzeugt, dass modellgetriebe Entwicklung (Model Driven Development: MDD) der nächste evolutionäre Schritt ausgehend von den in den 90er-Jahren entwickelten RAD- und OO-Paradigmen ist. Zwar ermöglichten RAD-Tools (Rapid Application Development) den Entwicklern die extrem schnelle Erzeugung echten, brauchbaren Codes, hatten aber auch die Tendenz, schlechten Code zu produzieren, was den entsprechenden Programmieren den wenig schmeichelhaften Ruf einbrachte, „Spaghetti“-Produzenten zu sein. Eine andere Gruppe von Entwicklern behauptete, RAD wäre von Haus aus ineffizient, und stützte sich lieber auf UML-Modelle und manuelle Programmierung, um sowohl strukturierten als auch wartbaren Code zu erzeugen. Die Ergebnisse waren zwar erstklassig, gingen aber zu Lasten der Entwicklungsgeschwindigkeit. MDD verspricht, die Kluft zwischen diesen beiden Schulen zu überbrücken, so dass die Entwickler schnell qualitativen Code erzeugen können, der gleichzeitig auch einfach zu pflegen ist.

Bei RAD ist in der Regel die Architektur maßgeblich für die Entwicklung: Die Struktur der Datenbank wird in hohem Maße die Form der Anwendung bestimmen. Bei MDD kann der Entwickler ungehindert von der Datenbank zum Code oder wieder zurück wechseln, und auch Zwischenstufen sind möglich. Mit ECO III, das noch im Laufe diesen Jahres herauskommen soll, bietet Borland MDD für C# und Delphi .NET.

Borland versucht, MDD als logischen nächsten Schritt nach RAD zu etablieren und Malcolm Groves argumentiert, dass der zunehmende Rückgriff auf Modellierung ein pragmatischer Ansatz ist. Entwickler können sehr schnell und auf einer hohen Abstraktionsebene arbeiten, ohne sich darum kümmern zu müssen, wie ihre Anwendungen unter der Haube in Code umgesetzt werden. Sogar noch einen Schritt weiter in Sachen Abstraktion geht Model Driven Architecture (MDA): Hier kann sich der Entwickler ganz auf die Geschäftslogik konzentrieren.

Bei den Entwicklern von Rational Software sieht man die Fortentwicklung von MDD ähnlich, nachdem man schon bei der Definition von UML eine entscheidende Rolle gespielt hat. Rational ist auf diesem Gebiet bereits seit ungefähr 1990 aktiv, zuerst mit der Einführung von Rational Rose und später mit Rational XDE. Das Eclipse-Projekt ist inzwischen Open Source, wobei Rational hier sicher als führend angesehen werden kann.

Nach Davyd Norris, Senior Pre-Sales Architect bei Rational, IBM Software, war die Entwicklung grafisch orientierter Tools zur Codegenerierung immer ein nahe liegender Evolutionsschritt, denn bei MDD geht es um unterschiedliche Abstraktionsebenen. Dadurch können unterschiedliche Leute mit unterschiedlichen Erfahrungen und Ideen gemeinsam an einem Projekt arbeiten, und zwar jeder auf der Abstraktionsebene, die ihnen jeweils am meisten liegen.

Norris argumentiert, dass Unternehmensarchitekturen einen flexiblen Ansatz in Bezug auf UML brauchen, weil es eine deutliche Tendenz dahingehend gibt, dass die Unternehmen als Organisationen immer flexibler werden. Daher werden ganze Anwendungsfamilien auf der Basis von Modellen auf einer höheren Abstraktionsebene abgeleitet.

Für Norris ist jede Abstraktionsebene – vom Code auf der untersten Ebene bis zum Modell auf der höchsten Ebene – Bestandteil des Modells. Für die Auffassung, dass der Code das Modell ist, hat er nichts übrig, denn es gibt im Hinblick auf die Unternehmensarchitektur zu viele Dinge, die sich gar nicht in Code ausdrücken lassen. Es ist zwar möglich, mit Hilfe von Transformations-Tools zwischen diesen Extraktionsebenen zu wechseln, aber alle sind gleichermaßen wichtige Teile desselben Puzzles.

Microsoft nimmt da eine etwas andere Haltung ein und bezieht sich auf die offizielle Definition der OMG (Object Management Group), die MDA als Möglichkeit der Entwicklung von Anwendungen mit Hilfe von UML beschreibt. Microsofts Ansatz versucht allerdings nicht, UML für die modellgetriebene Entwicklung einzusetzen, sondern greift stattdessen auf DSLs zurück (Domain Specific Languages), welche für die Unterstützung spezieller Aufgaben entwickelt wurden. Microsoft argumentiert, dass UML für Entwürfe zwar brauchbar ist, aber als Quellsprache wenig taugt, da es UML an Adressierbarkeit, Erweiterbarkeit und Konsistenz mangelt.

Nach Ansicht von Jack Greenfield, Architect for Enterprise Frameworks and Tools bei Microsoft, setzt der Ansatz von Microsoft Modelle als Quellartefakte für die Softwareentwicklung ein, die für Zwecke wie Validierung, Analyse, Traceability und Codegenerierung bearbeitet werden können. Die Modelle dienen dabei gerade nicht der Dokumentation.

Themenseiten: Plattform, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Reif für den Einsatz: Modellgetriebene Entwicklung

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *