Model Driven Software Development Potentiale modellgetriebener Softwareentwicklung Referent: Hartwig Tödter Seite 2 / 23
Inhaltsverzeichnis 1. Grundideen modellgetriebener Softwareentwicklung 2. Vorteile von MDSD-Ansätzen Verwendung einer fachlichen Modellierungssprache Trennung von Verantwortlichkeiten Automatisierung und Wiederverwendung 3. Aufwandsvergleiche 4. Zusammenfassung Seite 3 / 23
Seite 4 / 23 1. Grundideen modellgetriebener Softwareentwicklung
Grundidee modellgetriebener Softwareentwicklung Anwendung Trennung dom.- spezif. Plattform Individueller Code Schematischer Code extrahieren erzeugt Anwendungsmodell Generator Templates Templates Templates basiert auf DSL basiert auf [SV2005] Seite 5 / 23
Domänenarchitektur DSL Generator Templates Templates Templates extrahiert aus domänenspezifische Plattform Referenzimplementierung fachliche Plattform technische Plattform Seite 6 / 23
Architekturzentrierte MDSD Steigerung von Entwicklungseffizienz Softwarequalität Wiederverwendbarkeit ganzheitliche automatisierte Erstellung von Infrastrukturcode Minimierung der manuellen Erstellung von redundanten, technischen Code Seite 7 / 23
Architekturzentrierte MDSD Infrastruktur Code Generative Architektur Generator Templates Templates Templates Architekturplattform Anwendungslogik Referenzimplementierung AC Design-Modell UML-Profil Seite 8 / 23
Seite 9 / 23 2. Vorteile von MDSD-Ansätzen
Verwendung einer fachlichen Modellierungssprache Das Modell ist zentraler Bestandteil der Entwicklung Die Qualität der Anwendung wir deutlich höher Technische Details werden in den Modellen vermieden Die Modelle werden einfacher und aussagekräftiger Modellelemente orientieren sich an fachlichen Konzepten und Begriffen Das Modell kann von Fachabteilungen verstanden werden Das Modell wird zusammen mit der Fachabteilung erstellt Deutlich verbesserte Kommunikation zwischen Fachabteilung und IT Seite 10 / 23
Trennung von Verantwortlichkeiten Technische Experten Aufbau der Architektur und der technischen Plattform Generator-Konfiguration Referenzimplementierung und Templates Domänen Experten (der IT-Abteilung) Kommunikation mit Fachabteilungen Aufbau der DSL und der fachlichen Plattform Anwendungsentwicklung: Anwendungsmodellierung und Implementierung der Fachlogik Seite 11 / 23
Getrennte Entwicklungsstränge Anwendung A Domänenarchitektur Anwendung B V1.0.2 V2.3.1 V0.1.0 beeinflusst V1.1.0 V2.0.0 beeinflusst V2.4.0 Seite 12 / 23
Automatisierung und Wiederverwendung Automatisierung wiederholter Abläufe durch Generierung Steigende Qualität der generierten Teile Verkürzung von Entwicklungszeiten Wiederverwendung der domänenspezifischen Plattform Stabile, einheitliche Softwarearchitektur Zentralgesteuerter Technologiewandel Seite 13 / 23
Seite 14 / 23 3. Aufwandsvergleiche
fachlicher Informationsgehalt Aufwand bei weitgehend manueller Entwicklung technischer Detaillierungsgrad Seite 15 / 23 [SV2005]
fachlicher Informationsgehalt Aufwand bei MDSD mit teilw. manueller Entwicklung technischer Detaillierungsgrad Seite 16 / 23 [SV2005]
Vergleich: manuelle Entwicklung / MDSD manuelle Entwicklung MDSD Referenzimplementierung (kb) 1000 manuell geschriebener Code (kb) 18800 2200 Modelle (kb) 3400 Transformationen (kb) 200 Summe 18800 6800 In % zur manuellen Entwicklung 100% 36% Seite 17 / 23 [SV2005]
Vergleich: manuelle Entwicklung / MDSD manuelle Entwicklung MDSD Manuell codiert (LOC) 126 20 Generierter Code (LOC) 0 106 Summe LOC 126 126 Statische Modelle (AME) 0 21 Dynamische Modelle (AME) 0 20 Summe AME 0 41 Summe man. LOC und AME 126 62 In % zur man. Entwicklung 100% 49% Seite 18 / 23 [B2003]
Seite 19 / 23 4. Zusammenfassung
Vorteil der MDSD: Entwicklungseffizienz Generierung weniger manuelle Codierung stabile Domänenarchitektur höhere Effizienz Wiederverwendung Seite 20 / 23
Vorteil der MDSD: Softwarequalität einheitliche Domänenarchitektur Wiederverwendung Generierung getrennte Verantwortlichkeiten fachliche Modellierung höhere Softwarequalität Besserer Kontakt zur Fachabteilung Seite 21 / 23
Literaturverzeichnis [SV2005] - [PT2007] - [B2003] - Stahl, Thomas; Völter, Markus: Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management. 2005 Pietrek, Georg; Trompeter, Jens (Hrsg.): Modellgetriebene Softwareentwicklung. 2007 Bettin, Jorn: Model-Driven Architecture Implementation & Metrics V1.1. 2003 Seite 22 / 23
Seite 23 / 23 www.iks-gmbh.com