SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
MDA
  Neue Techniken,
  neue Lösungen,
       Lösungen
  neue Probleme?


    Dr. Christian Mann




Tomcat® computer GmbH
           p
Eine „Erfolgsgeschichte“ zu Beginn…
                            Erfolgsgeschichte“    Beginn




                                        „Chaos Report 2007“ (Standish Group):
                                       35 % der Software-Projekte können
                                                      als erfolgreich gelten…
                                                               g      g




„Chaos Report 1994“ (Standish Group):
16,2 % der Software-Projekte können
als erfolgreich gelten
                gelten…


                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                            2
Woran scheitern Software-Projekte?
                                        Software Projekte?



                                                                     Programmiersprache,
                                                                     IDE, Betriebssystem,

         Hardware?                                                   Zielumgebung…




    CPU-Geschwindigkeit,                                       Software?
                                                               S ft    ?
    Arbeitsspeicher,
    Plattenspeicher,
    Netzwerkdurchsatz…




                                 Wetware?
                                                        Der eigene
                                                        Kopf…



                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                        3
Fehlerquelle & Erfolgsfaktor Nr 1
                                                        Nr.




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           4
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           5
(Subjektive!) Begriffsabgrenzung

 MDA                                               MDD
      „Akademischer“ Standard                          „Pragmatísches“
      Separation of Concerns durch                      Vorgehensmodell
       Modellhierarchie
       M d llhi      hi                                 N t t typischerweise nur
                                                         Nutzt t i h       i
       (CIM => PIM => PSM => Code)                       M2T-Transformationen
      M2M-Transformation                               Nutzt tendenziell nur eine DSL
       als wesentliches Element!                         pro Projekt
      Nutzt mehrere DSLs pro Projekt                   Bevorzugt
             - CIM/PIM                                   „Single-Pass-Generierung“
               => Fachliche Domänen
             - PSM/Code
               => Technische Domänen
      Nutzt ggfls. mehrstufige
       Transformation/Generierung




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                      6
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           7
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           8
Narrensicher!


             “A common mistake
             that people make when
             trying to design something
             completely foolproof
             was to underestimate
             the ingenuity of complete
             fools.”
                                    Douglas Adams,
                            “Mostly Harmless”, 1992
                             Mostly Harmless




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           9
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           10
Qualitätssicherung für Frameworks

 Wiederverwendung setzt Vertrauen in die Qualität voraus!

 Mehr Testfälle
      Abdeckung aller „intendierten Anwendungen“!
      Abdeckung aller möglichen Anwendungen!?


 „Scylla & Charybdis“:
      Hohe Pfad-Abdeckung aller möglichen Anwendungen
       mit prohibitiven Aufwänden
                 vs.
      Konzentration auf intendierte Anwendungen
       mit hohem Qualitäts-Risiko



                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           11
Model Driven Testing

 „MDA-Antwort auf Probleme der Qualitätssicherung:
   MDA-Antwort“
      Basis: eigenes UML-Profil zur Testfall-Spezifikation
      Testcode wird mit der Applikation generiert
             - Abhängigkeiten zu Applikationsframework
             - Abhängigkeiten zu spezifischem Test-Framework


 Problem:
      „Überschaubarer“ Aufwand für fachliche Akzeptanztests
       (= Anwendung auf PIM-Ebene)
      Die Anzahl technischer Fehlerklassen überwiegt die
       fachlichen Fehlerklassen bei weitem!
       (= Anwendung auf PSM-Ebene)
                          PSM Ebene)


                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           12
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           13
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           14
Werwölfe…
                                           Werwölfe



                                                 “There is no single
                                                 development,
                                                 development in either
                                                 technology or management
                                                 technique,
                                                 technique which by itself
                                                 promises even one order-
                                                 of-magnitude improvement
                                                 within a decade in
                                                 productivity, reliability
                                                 productivity in reliability, in
                                                 simplicity.“
                                                                Fredrick P. Brooks Jr.,
                                                               „No Silver Bullet“, 1986


                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                      15
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           16
„Wir haben da unsere generische DSL…“
                    Wir                            DSL “

 Ja
  Ja…                                               …Aber
                                                      Aber
      Den höchsten Grad an                             Die DSL ist spezifisch für eine
       Wiederverwendung erreichen                        bestimmte Domäne.
       wir durch Wiederverwendung                       Di
                                                         Diese muss (zumindest: auch)
                                                                      (      i d t     h)
       von fachlichen Konzepten.                         fachlich sein, um das
      Wiederverwendbarkeit der DSL                      Abstraktionsniveau der
       gewährleistet Wi d
            äh l i t t Wiederverwend-
                                   d                     Modellierung anheben zu
                                                         M d lli          h b
       barkeit                                           können.
         - des Frameworks                               Als fachliche DSL kann sie
         - des Generatoren                               aber nicht projektunabhängig
                                                          b     i ht    j kt    bhä i
                                                         und -übergreifend generisch
                                                         sein!
      Als Entwickler lieben wir
       generische Lösungen… ;-)                         Eine „generische DSL“ droht
                                                         stets eine „TSL“ (Technology
                                                         Specific L
                                                         S     ifi Language) zu
                                                                            )
                                                         werden…


                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                        17
„Erstmal entwickeln wir das Framework “
                   Erstmal                    Framework…“

 Ja
  Ja…                                               …Aber
                                                      Aber
      Zu Projektbeginn steckt die                      Frameworks entstehen nicht
       fachliche Spezifikation oft noch                  auf der „grünen Wiese“,
       in den Kinderschuhen
              Kinderschuhen.                             sondern wachsen mit der Zeit!
      Das technische Umfeld ist                        Das Framework als Ziel-
       hingegen bekannt.                                 Plattform der Generierung, ist
      Die Probleme des technischen                      ein F
                                                          i Framework mit fachlicher
                                                                        k it
       Umfelds sind oft bekannt.                         Funktionalität.
      Die Lösung technischer                           Die fachlichen Anforderungen
       Probleme kann unmittelbar                         müssen vorrangiger T ib d
                                                           ü              i  Treiber der
       angegangen werden.                                Entwicklung von Framework &
                                                         Generator sein!
                                                           - Das Framework muss
                                                             enthalten, was benötigt wird,
      Und wir haben das im übrigen                          nicht was man eventuell
       schon immer so gemacht!                               benötigen könnte…




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                         18
„Daraus können wir nix generieren,
                           da müssen wir nochmal bei “
                                                  bei…“

 Ja
  Ja…                                               …Aber
                                                      Aber
      Es gibt eine Tradition                           Ziel von MDA ist es gerade,
       „schlampiger Modellierung“ bei                    fachliche & technische
       vielen Fachbereichen!                             Baustellen klar zu trennen.
                                                                            trennen
             - Daher:                                      - Fachlichkeit spezifiziert der
               fachliche Modellierung liegt oft              Fachbereich, Technik stellen
               in der Hand von „Prozess-
                                „Prozess                     die Entwickler bereit…
               Designern“, o.ä.                         Die DSL muss fachliche
             - Diese sind häufig der                     Funktionalität deklarativ
               Entwicklung zugeordnet.
                                                         zugängig machen!
                                                        Technische Detail-Tiefe wird
      Die Entwickler kennen die
                                                         generiert.
       formalen Anforderungen an
       Detail-Tiefe am besten.

      Warum also den Fachbereich
       damit behelligen anstatt selbst
       Hand an zu legen?


                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                         19
„Wir streben nur eine 80%-Lösung an…“
                     Wir                  80% Lösung an “

 Ja
  Ja…                                               …Aber
                                                      Aber
      100%-Lösungen tendieren dazu                     „Pareto-Regel“: die generierten
       „in Schönheit zu sterben“…                        80% sparen typischerweise nur
             - i
               insonderheit, wenn sie
                    d h it         i                     20% des Codieraufwandes!
               technologiegetrieben sind!
      80% generierter Code spart                         => „Low Hanging Fruits“
       bereits viel Zeit, die den 20%
                    Zeit
       manuell zu erstellenden Code                     Wird generierter und manueller
       zugute kommen.                                    Code gemischt, so schafft dies
      D G
       Der Generator wächst mit der
                    t     ä h t it d                     neue Probleme die den Zeit
                                                              Probleme,          Zeit-
       Zahl der Projekte, wir müssen                     gewinn „aufzufressen“ drohen…
       aber jetzt zu lauffähigen
       Ergebnissen kommen!
                                                    Sinnvoller:
                                                        80% für fachliche Modellierung
                                                        20% fü F
                                                             für Framework-Erweiterungen
                                                                           kE     it
                                                        100% Generierung!


                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                       20
Low Hanging Fruits




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           21
Quellen

 Douglas Adams
      „Mostly Harmless“, William Heinemann Ltd., 1992
          5. Band der Trilogie „Hitchhiker‘s Guide to the Galaxy“…
      „Einmal Rupert und zurück“, Hoffmann & Campe, 1993


 Frederick P. Brooks Jr.
      „No Silver Bullet“, Proceedings of the IFIP '86 conference
                  Bullet ,                          86
          Nachdruck in:
      „The Mythical Man Month“, Addison-Wesley, 1995
      „Vom Mythos des Mann-Monats “, mitp, 2003




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                 22
Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           23
Wer wir sind, was wir sind
                                          sind

 Tomcat® computer GmbH:
      Kleines, mittelständiges Beratungsunternehmen
       mit Sitz in Krailing bei München
                          g
      Gegründet 1988
      Derzeit 18 (freie & feste) Mitarbeiter
                  (             )
      Schwerpunkte:
             - Objektorientierter Technologien
                  j                       g
             - Methoden & Verfahren der Software-Entwicklung
             - Projektmanagement
      Kunden:
             - Banken, Versicherungswirtschaft, Finanzdienstleister
             - Leasing & Handel
             - Energiewirtschaft

                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                  24
Entwicklung



                                              2006/07: Wachstum und Kompetenz-
                                              erweiterung durch Beteiligungen

                              2003: Start der Business-Consulting
                              Division

           2001: Erste Ansätze: Business-Analyse
           GPM und Projektmanagement


1999: OO-Systemarchitektur und
MDA

                                                              1997: „Einstieg“ in Entwicklungen
                                                              mit JAVA-Techniken

                                                   1992: OO-Technologie mit Smalltalk

                                        1988: Gründung der Tomcat computer GmbH durch
                                        Herrn Richard von Lavante in München
                                        Ab hier SW-Unterstützung im UNIX-Umfeld




                                         Tomcat® computer GmbH
 © 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                             25
Standorte




                                        München




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           26
Kunden




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                           27
Business- und IT-Lösungen für den Projekt-Lifecycle
                   B i         d IT Lö       fü d P j kt Lif        l




                                                     IV-Konzept
                                                             p       SW-Engineering
                                                                          g       g
                                     Fachkonzept                       Verfahren

         Geschäftsprozeß-
           Management                                                          Implementierung, Test,
                                                                                 p            g
                                                                                    Integration

     Projekt-
   Management
    a age e t                                                                            Schulung
                                                                                         Coaching
Consulting




                                             Tomcat® computer GmbH
      © 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                       28
Business Solutions Finance - Fachthemen



                                                                 Kreditwesen
                                                    IAS / IFRS    und -risiko
                                     In-/Exkasso
                                     In /Exkasso
                                                                                Rating / Basel-2
       Kompositversicherung


   Kontokorrent-Systeme                                                                Risikocontrolling

Provisionssystem
Pro isionss stem




                                                                                             WP-Handel




                                             Tomcat® computer GmbH
      © 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                            29
Software Engineering



                                                   Klassische C/S
                                                 mit JAVA / Smalltalk
                                                                        Intranet /
                                                                        Extranet
                 Multi Tier Architecture
                                                                                       Config-
                                                                                     management

     Datenbanken
                                                                                           Frameworks
                                                                                              Beans
 Mainframe
...mit Partner




                                             Tomcat® computer GmbH
      © 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                        30
Unternehmens-
                     Unternehmens und Mitarbeiterstruktur



                                       Tomcat computer GmbH       Aktives
                                                                  Netzwerk
                                       Krailling
                                       Mitarbeiter: 18


                                                                              Mitarbeiter: 32
                                                  Beteiligungen
        Feltech s.r.o
        CZ / Prag
        Mitarb.:
        Mit b 8
                                                                     Premium Data Services
                                                                     GmbH, München
                                                                     Mitarbeiter: 15
   AspectWorks s.r.o.
   CZ / Prag
   Mitarbeiter: 13




                                       Tomcat® computer GmbH
© 2009 Dr.Ch.Mann (Stand 08.03.2009)                                                            31

Más contenido relacionado

Similar a Mdd Days 2009 Handout

IT Transformation mit EMC
IT Transformation mit EMCIT Transformation mit EMC
IT Transformation mit EMCConnected-Blog
 
Projektkrisen Vortrag OOP 2011
Projektkrisen Vortrag OOP 2011Projektkrisen Vortrag OOP 2011
Projektkrisen Vortrag OOP 2011KEGON AG
 
Was die Cloud mit einem brennenden Haus zu tun hat
Was die Cloud mit einem brennenden Haus zu tun hatWas die Cloud mit einem brennenden Haus zu tun hat
Was die Cloud mit einem brennenden Haus zu tun hatNane Kratzke
 
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael PaulyCloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael PaulyMedien Meeting Mannheim
 
A5 Vortrag Mca Lotusday 2008
A5 Vortrag Mca Lotusday 2008A5 Vortrag Mca Lotusday 2008
A5 Vortrag Mca Lotusday 2008Andreas Schulte
 
Software Archaeology - Raiders of the Lost Code (long)
Software Archaeology - Raiders of the Lost Code (long)Software Archaeology - Raiders of the Lost Code (long)
Software Archaeology - Raiders of the Lost Code (long)Lars Martin
 
Mitarbeiter-Weblogs bei der Siemens AG
Mitarbeiter-Weblogs bei der Siemens AGMitarbeiter-Weblogs bei der Siemens AG
Mitarbeiter-Weblogs bei der Siemens AGKarsten Ehms
 
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Communote GmbH
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018André Krämer
 
Imitrix Elektronik D
Imitrix Elektronik DImitrix Elektronik D
Imitrix Elektronik Dimitrix GmbH
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungFalk Hartmann
 
Dbvisit Standby - Die kostengünstige und einfache Standby-Lösung
Dbvisit Standby - Die kostengünstige und einfache Standby-LösungDbvisit Standby - Die kostengünstige und einfache Standby-Lösung
Dbvisit Standby - Die kostengünstige und einfache Standby-LösungOPITZ CONSULTING Deutschland
 
Data Domain Backup & Recovery
Data Domain Backup & RecoveryData Domain Backup & Recovery
Data Domain Backup & Recoverynetlogix
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Ernest Wallmueller
 
Silverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorSilverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorMartin Hey
 

Similar a Mdd Days 2009 Handout (20)

IT Transformation mit EMC
IT Transformation mit EMCIT Transformation mit EMC
IT Transformation mit EMC
 
Projektkrisen Vortrag OOP 2011
Projektkrisen Vortrag OOP 2011Projektkrisen Vortrag OOP 2011
Projektkrisen Vortrag OOP 2011
 
Cloud Konzepte und Strategien
Cloud Konzepte und StrategienCloud Konzepte und Strategien
Cloud Konzepte und Strategien
 
Was die Cloud mit einem brennenden Haus zu tun hat
Was die Cloud mit einem brennenden Haus zu tun hatWas die Cloud mit einem brennenden Haus zu tun hat
Was die Cloud mit einem brennenden Haus zu tun hat
 
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael PaulyCloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
 
Die Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von MorgenDie Cloud als Grundlage für die IT von Morgen
Die Cloud als Grundlage für die IT von Morgen
 
A5 Vortrag Mca Lotusday 2008
A5 Vortrag Mca Lotusday 2008A5 Vortrag Mca Lotusday 2008
A5 Vortrag Mca Lotusday 2008
 
3 robert randall osstmm
3 robert randall osstmm3 robert randall osstmm
3 robert randall osstmm
 
Software Archaeology - Raiders of the Lost Code (long)
Software Archaeology - Raiders of the Lost Code (long)Software Archaeology - Raiders of the Lost Code (long)
Software Archaeology - Raiders of the Lost Code (long)
 
Mitarbeiter-Weblogs bei der Siemens AG
Mitarbeiter-Weblogs bei der Siemens AGMitarbeiter-Weblogs bei der Siemens AG
Mitarbeiter-Weblogs bei der Siemens AG
 
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
 
Imitrix Elektronik D
Imitrix Elektronik DImitrix Elektronik D
Imitrix Elektronik D
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende Programmierung
 
Dbvisit Standby - Die kostengünstige und einfache Standby-Lösung
Dbvisit Standby - Die kostengünstige und einfache Standby-LösungDbvisit Standby - Die kostengünstige und einfache Standby-Lösung
Dbvisit Standby - Die kostengünstige und einfache Standby-Lösung
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Wie sich SaaS und PaaS in Unternehmen durchsetzen wird
Wie sich SaaS und PaaS in Unternehmen durchsetzen wirdWie sich SaaS und PaaS in Unternehmen durchsetzen wird
Wie sich SaaS und PaaS in Unternehmen durchsetzen wird
 
Data Domain Backup & Recovery
Data Domain Backup & RecoveryData Domain Backup & Recovery
Data Domain Backup & Recovery
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?
 
Silverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorSilverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess Editor
 

Mdd Days 2009 Handout

  • 1. MDA Neue Techniken, neue Lösungen, Lösungen neue Probleme? Dr. Christian Mann Tomcat® computer GmbH p
  • 2. Eine „Erfolgsgeschichte“ zu Beginn… Erfolgsgeschichte“ Beginn „Chaos Report 2007“ (Standish Group): 35 % der Software-Projekte können als erfolgreich gelten… g g „Chaos Report 1994“ (Standish Group): 16,2 % der Software-Projekte können als erfolgreich gelten gelten… Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 2
  • 3. Woran scheitern Software-Projekte? Software Projekte? Programmiersprache, IDE, Betriebssystem, Hardware? Zielumgebung… CPU-Geschwindigkeit, Software? S ft ? Arbeitsspeicher, Plattenspeicher, Netzwerkdurchsatz… Wetware? Der eigene Kopf… Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 3
  • 4. Fehlerquelle & Erfolgsfaktor Nr 1 Nr. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 4
  • 5. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 5
  • 6. (Subjektive!) Begriffsabgrenzung  MDA  MDD  „Akademischer“ Standard  „Pragmatísches“  Separation of Concerns durch Vorgehensmodell Modellhierarchie M d llhi hi  N t t typischerweise nur Nutzt t i h i (CIM => PIM => PSM => Code) M2T-Transformationen  M2M-Transformation  Nutzt tendenziell nur eine DSL als wesentliches Element! pro Projekt  Nutzt mehrere DSLs pro Projekt  Bevorzugt - CIM/PIM „Single-Pass-Generierung“ => Fachliche Domänen - PSM/Code => Technische Domänen  Nutzt ggfls. mehrstufige Transformation/Generierung Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 6
  • 7. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 7
  • 8. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 8
  • 9. Narrensicher! “A common mistake that people make when trying to design something completely foolproof was to underestimate the ingenuity of complete fools.” Douglas Adams, “Mostly Harmless”, 1992 Mostly Harmless Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 9
  • 10. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 10
  • 11. Qualitätssicherung für Frameworks  Wiederverwendung setzt Vertrauen in die Qualität voraus!  Mehr Testfälle  Abdeckung aller „intendierten Anwendungen“!  Abdeckung aller möglichen Anwendungen!?  „Scylla & Charybdis“:  Hohe Pfad-Abdeckung aller möglichen Anwendungen mit prohibitiven Aufwänden vs.  Konzentration auf intendierte Anwendungen mit hohem Qualitäts-Risiko Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 11
  • 12. Model Driven Testing  „MDA-Antwort auf Probleme der Qualitätssicherung: MDA-Antwort“  Basis: eigenes UML-Profil zur Testfall-Spezifikation  Testcode wird mit der Applikation generiert - Abhängigkeiten zu Applikationsframework - Abhängigkeiten zu spezifischem Test-Framework  Problem:  „Überschaubarer“ Aufwand für fachliche Akzeptanztests (= Anwendung auf PIM-Ebene)  Die Anzahl technischer Fehlerklassen überwiegt die fachlichen Fehlerklassen bei weitem! (= Anwendung auf PSM-Ebene) PSM Ebene) Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 12
  • 13. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 13
  • 14. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 14
  • 15. Werwölfe… Werwölfe “There is no single development, development in either technology or management technique, technique which by itself promises even one order- of-magnitude improvement within a decade in productivity, reliability productivity in reliability, in simplicity.“ Fredrick P. Brooks Jr., „No Silver Bullet“, 1986 Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 15
  • 16. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 16
  • 17. „Wir haben da unsere generische DSL…“ Wir DSL “  Ja Ja…  …Aber Aber  Den höchsten Grad an  Die DSL ist spezifisch für eine Wiederverwendung erreichen bestimmte Domäne. wir durch Wiederverwendung  Di Diese muss (zumindest: auch) ( i d t h) von fachlichen Konzepten. fachlich sein, um das  Wiederverwendbarkeit der DSL Abstraktionsniveau der gewährleistet Wi d äh l i t t Wiederverwend- d Modellierung anheben zu M d lli h b barkeit können. - des Frameworks  Als fachliche DSL kann sie - des Generatoren aber nicht projektunabhängig b i ht j kt bhä i und -übergreifend generisch sein!  Als Entwickler lieben wir generische Lösungen… ;-)  Eine „generische DSL“ droht stets eine „TSL“ (Technology Specific L S ifi Language) zu ) werden… Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 17
  • 18. „Erstmal entwickeln wir das Framework “ Erstmal Framework…“  Ja Ja…  …Aber Aber  Zu Projektbeginn steckt die  Frameworks entstehen nicht fachliche Spezifikation oft noch auf der „grünen Wiese“, in den Kinderschuhen Kinderschuhen. sondern wachsen mit der Zeit!  Das technische Umfeld ist  Das Framework als Ziel- hingegen bekannt. Plattform der Generierung, ist  Die Probleme des technischen ein F i Framework mit fachlicher k it Umfelds sind oft bekannt. Funktionalität.  Die Lösung technischer  Die fachlichen Anforderungen Probleme kann unmittelbar müssen vorrangiger T ib d ü i Treiber der angegangen werden. Entwicklung von Framework & Generator sein! - Das Framework muss enthalten, was benötigt wird,  Und wir haben das im übrigen nicht was man eventuell schon immer so gemacht! benötigen könnte… Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 18
  • 19. „Daraus können wir nix generieren, da müssen wir nochmal bei “ bei…“  Ja Ja…  …Aber Aber  Es gibt eine Tradition  Ziel von MDA ist es gerade, „schlampiger Modellierung“ bei fachliche & technische vielen Fachbereichen! Baustellen klar zu trennen. trennen - Daher: - Fachlichkeit spezifiziert der fachliche Modellierung liegt oft Fachbereich, Technik stellen in der Hand von „Prozess- „Prozess die Entwickler bereit… Designern“, o.ä.  Die DSL muss fachliche - Diese sind häufig der Funktionalität deklarativ Entwicklung zugeordnet. zugängig machen!  Technische Detail-Tiefe wird  Die Entwickler kennen die generiert. formalen Anforderungen an Detail-Tiefe am besten.  Warum also den Fachbereich damit behelligen anstatt selbst Hand an zu legen? Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 19
  • 20. „Wir streben nur eine 80%-Lösung an…“ Wir 80% Lösung an “  Ja Ja…  …Aber Aber  100%-Lösungen tendieren dazu  „Pareto-Regel“: die generierten „in Schönheit zu sterben“… 80% sparen typischerweise nur - i insonderheit, wenn sie d h it i 20% des Codieraufwandes! technologiegetrieben sind!  80% generierter Code spart => „Low Hanging Fruits“ bereits viel Zeit, die den 20% Zeit manuell zu erstellenden Code  Wird generierter und manueller zugute kommen. Code gemischt, so schafft dies  D G Der Generator wächst mit der t ä h t it d neue Probleme die den Zeit Probleme, Zeit- Zahl der Projekte, wir müssen gewinn „aufzufressen“ drohen… aber jetzt zu lauffähigen Ergebnissen kommen!  Sinnvoller:  80% für fachliche Modellierung  20% fü F für Framework-Erweiterungen kE it  100% Generierung! Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 20
  • 21. Low Hanging Fruits Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 21
  • 22. Quellen  Douglas Adams  „Mostly Harmless“, William Heinemann Ltd., 1992 5. Band der Trilogie „Hitchhiker‘s Guide to the Galaxy“…  „Einmal Rupert und zurück“, Hoffmann & Campe, 1993  Frederick P. Brooks Jr.  „No Silver Bullet“, Proceedings of the IFIP '86 conference Bullet , 86 Nachdruck in:  „The Mythical Man Month“, Addison-Wesley, 1995  „Vom Mythos des Mann-Monats “, mitp, 2003 Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 22
  • 23. Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 23
  • 24. Wer wir sind, was wir sind sind  Tomcat® computer GmbH:  Kleines, mittelständiges Beratungsunternehmen mit Sitz in Krailing bei München g  Gegründet 1988  Derzeit 18 (freie & feste) Mitarbeiter ( )  Schwerpunkte: - Objektorientierter Technologien j g - Methoden & Verfahren der Software-Entwicklung - Projektmanagement  Kunden: - Banken, Versicherungswirtschaft, Finanzdienstleister - Leasing & Handel - Energiewirtschaft Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 24
  • 25. Entwicklung 2006/07: Wachstum und Kompetenz- erweiterung durch Beteiligungen 2003: Start der Business-Consulting Division 2001: Erste Ansätze: Business-Analyse GPM und Projektmanagement 1999: OO-Systemarchitektur und MDA 1997: „Einstieg“ in Entwicklungen mit JAVA-Techniken 1992: OO-Technologie mit Smalltalk 1988: Gründung der Tomcat computer GmbH durch Herrn Richard von Lavante in München Ab hier SW-Unterstützung im UNIX-Umfeld Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 25
  • 26. Standorte München Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 26
  • 27. Kunden Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 27
  • 28. Business- und IT-Lösungen für den Projekt-Lifecycle B i d IT Lö fü d P j kt Lif l IV-Konzept p SW-Engineering g g Fachkonzept Verfahren Geschäftsprozeß- Management Implementierung, Test, p g Integration Projekt- Management a age e t Schulung Coaching Consulting Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 28
  • 29. Business Solutions Finance - Fachthemen Kreditwesen IAS / IFRS und -risiko In-/Exkasso In /Exkasso Rating / Basel-2 Kompositversicherung Kontokorrent-Systeme Risikocontrolling Provisionssystem Pro isionss stem WP-Handel Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 29
  • 30. Software Engineering Klassische C/S mit JAVA / Smalltalk Intranet / Extranet Multi Tier Architecture Config- management Datenbanken Frameworks Beans Mainframe ...mit Partner Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 30
  • 31. Unternehmens- Unternehmens und Mitarbeiterstruktur Tomcat computer GmbH Aktives Netzwerk Krailling Mitarbeiter: 18 Mitarbeiter: 32 Beteiligungen Feltech s.r.o CZ / Prag Mitarb.: Mit b 8 Premium Data Services GmbH, München Mitarbeiter: 15 AspectWorks s.r.o. CZ / Prag Mitarbeiter: 13 Tomcat® computer GmbH © 2009 Dr.Ch.Mann (Stand 08.03.2009) 31