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
1. Grundideen modellgetriebener
                     Softwareentwicklung




Seite 4 / 23
Grundidee modellgetriebener Softwareentwicklung

                                                          Individu-
                                                         eller Code    dom.-
     Anwendung                                                         spezif.
                                     Trennung
                                                                        Platt-
                                                Schematischer           form
                                                    Code

         extrahieren                                     erzeugt



     Anwendungs-                                                   Templates
                                                  Generator         Templates
        modell                                                       Templates
                       basiert auf
                                                  basiert auf
                                       DSL
                                                                        [SV2005]
Seite 5 / 23
Domänenarchitektur
                                             Templates
                                              Templates
                                               Templates
               DSL          Generator
                                                 extrahiert aus



                     domänenspezifische
                                                Referenzimplementierung
                         Plattform




      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

                       Anwen-         Generative Architektur
                      dungslogik

                                                    Architektur-
                Infrastruktur                        plattform
                    Code

                                   Templates        Referenz-
                                    Templates
                Generator            Templates   implementierung


                                                  UML-Profil
                    AC
               Design-Modell

Seite 8 / 23
2. Vorteile von MDSD-Ansätzen




Seite 9 / 23
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


                                 V1.1.0
                                                        V2.4.0
          V0.1.0                          beeinflusst
                   beeinflusst
                                 V2.0.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
3. Aufwandsvergleiche




Seite 14 / 23
Aufwand bei weitgehend manueller Entwicklung
          fachlicher Informationsgehalt




                                          technischer
                                          Detaillierungs-
                                          grad




                                                     [SV2005]
Seite 15 / 23
Aufwand bei MDSD mit teilw. manueller Entwicklung
                fachlicher Informationsgehalt




                                                technischer
                                                Detaillierungs-
                                                grad




                                                          [SV2005]
Seite 16 / 23
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%




                                                          [SV2005]
Seite 17 / 23
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%

                                                         [B2003]
Seite 18 / 23
4. Zusammenfassung




Seite 19 / 23
Vorteil der MDSD: Entwicklungseffizienz


                                            weniger
                 Generierung               manuelle
                                           Codierung




             stabile           höhere            Wieder-
           Domänen-            Effizienz       verwendung
           architektur

Seite 20 / 23
Vorteil der MDSD: Softwarequalität

                              einheitliche
                                               Wieder-
                              Domänen-
                                             verwendung
                              architektur


                                                           getrennte
                Generierung                               Verantwort-
                                                           lichkeiten




                                       höhere                   Besserer
           fachliche
          Modellierung                Software-                Kontakt zur
                                                              Fachabteilung
                                       qualität


Seite 21 / 23
Literaturverzeichnis

[SV2005] - Stahl, Thomas; Völter, Markus: Modellgetriebene
           Softwareentwicklung: Techniken, Engineering, Management. 2005
[PT2007] - Pietrek, Georg; Trompeter, Jens (Hrsg.): Modellgetriebene
           Softwareentwicklung. 2007
[B2003] -       Bettin, Jorn: Model-Driven Architecture – Implementation & Metrics
                V1.1. 2003




Seite 22 / 23
www.iks-gmbh.com




Seite 23 / 23

MDSD Potentiale modellgetriebener Softwareentwicklung

  • 1.
    Model Driven SoftwareDevelopment Potentiale modellgetriebener Softwareentwicklung Referent: Hartwig Tödter Seite 2 / 23
  • 2.
    Inhaltsverzeichnis 1. Grundideen modellgetriebenerSoftwareentwicklung 2. Vorteile von MDSD-Ansätzen – Verwendung einer fachlichen Modellierungssprache – Trennung von Verantwortlichkeiten – Automatisierung und Wiederverwendung 3. Aufwandsvergleiche 4. Zusammenfassung Seite 3 / 23
  • 3.
    1. Grundideen modellgetriebener Softwareentwicklung Seite 4 / 23
  • 4.
    Grundidee modellgetriebener Softwareentwicklung Individu- eller Code dom.- Anwendung spezif. Trennung Platt- Schematischer form Code extrahieren erzeugt Anwendungs- Templates Generator Templates modell Templates basiert auf basiert auf DSL [SV2005] Seite 5 / 23
  • 5.
    Domänenarchitektur Templates Templates Templates DSL Generator extrahiert aus domänenspezifische Referenzimplementierung Plattform fachliche Plattform technische Plattform Seite 6 / 23
  • 6.
    Architekturzentrierte MDSD Steigerung von Entwicklungseffizienz Softwarequalität Wiederverwendbarkeit ganzheitliche automatisierte Erstellung von Infrastrukturcode Minimierung der manuellen Erstellung von redundanten, technischen Code Seite 7 / 23
  • 7.
    Architekturzentrierte MDSD Anwen- Generative Architektur dungslogik Architektur- Infrastruktur plattform Code Templates Referenz- Templates Generator Templates implementierung UML-Profil AC Design-Modell Seite 8 / 23
  • 8.
    2. Vorteile vonMDSD-Ansätzen Seite 9 / 23
  • 9.
    Verwendung einer fachlichenModellierungssprache 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
  • 10.
    Trennung von Verantwortlichkeiten TechnischeExperten 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
  • 11.
    Getrennte Entwicklungsstränge Anwendung A Domänenarchitektur Anwendung B V1.0.2 V2.3.1 V1.1.0 V2.4.0 V0.1.0 beeinflusst beeinflusst V2.0.0 Seite 12 / 23
  • 12.
    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
  • 13.
  • 14.
    Aufwand bei weitgehendmanueller Entwicklung fachlicher Informationsgehalt technischer Detaillierungs- grad [SV2005] Seite 15 / 23
  • 15.
    Aufwand bei MDSDmit teilw. manueller Entwicklung fachlicher Informationsgehalt technischer Detaillierungs- grad [SV2005] Seite 16 / 23
  • 16.
    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% [SV2005] Seite 17 / 23
  • 17.
    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% [B2003] Seite 18 / 23
  • 18.
  • 19.
    Vorteil der MDSD:Entwicklungseffizienz weniger Generierung manuelle Codierung stabile höhere Wieder- Domänen- Effizienz verwendung architektur Seite 20 / 23
  • 20.
    Vorteil der MDSD:Softwarequalität einheitliche Wieder- Domänen- verwendung architektur getrennte Generierung Verantwort- lichkeiten höhere Besserer fachliche Modellierung Software- Kontakt zur Fachabteilung qualität Seite 21 / 23
  • 21.
    Literaturverzeichnis [SV2005] - Stahl,Thomas; Völter, Markus: Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management. 2005 [PT2007] - Pietrek, Georg; Trompeter, Jens (Hrsg.): Modellgetriebene Softwareentwicklung. 2007 [B2003] - Bettin, Jorn: Model-Driven Architecture – Implementation & Metrics V1.1. 2003 Seite 22 / 23
  • 22.