Fließbandfertigung fürSoftware-ApplikationenStephan Hochdörfer, bitExpert AG
Über mich   Stephan Hochdörfer, bitExpert AG   Department Manager Research Labs   S.Hochdoerfer@bitExpert.de   @shochd...
Eine Software, ein Kunde
Entwickler   vs.   Geschäftsmann
...mehr Kunden
...viel mehr Kunden
Wohin führt das?
Wohin führt das?       Wartungs-        hölle!
Einzellösung           Mieter 1         Anwendung          Datenbank          Hardware
Einzellösung Mieter 1    Mieter 2    Mieter 3Anwendung   Anwendung   AnwendungDatenbank   Datenbank   Datenbank Hardware  ...
Mandantenlösung Mieter 1    Mieter 2   Mieter 3            Anwendung            Datenbank            Hardware
Anpassbarkeit?
Anpassbarkeit? Mieter 1    Mieter 2   Mieter 3            Anwendung            Datenbank            Hardware
Anpassbarkeit? Mieter 1    Mieter 2   Mieter 3            Anwendung            Datenbank            Hardware
Anpassbarkeit? Wie?
Anpassbarkeit? Wie?      Plugins, Hooks
Anpassbarkeit? Wie?  Plugin 1               Plugin 2                UI             Business-               Logik
Konfiguration? Wie?
Konfiguration? Wie?    Dependency Injection
Konfiguration? Wo?        Wo wird die  Konfiguration verwaltet?
Konfiguration? Wie?        Wie werden    Varianten verwaltet?
Nachteile    Business-Logik kann        aufweichen!
Nachteile       Performance!
Abstrahieren du musst!
Keine Einzellösung!
Massenproduktion!
Softwaresystemfamilie
Einzelinstanz Mieter 1    Mieter 2   Mieter 3            Anwendung            Datenbank            Hardware
Multi-Instanz Mieter 1    Mieter 2   Mieter 3            Anwendung            Datenbank            Hardware
Automatisierung? Wie?
Automatisierung? Wie? Generative Programmierung
Gen. Programmierung          Generator          Generator
Gen. Programmierung          Konfiguration           Konfiguration             (DSL)               (DSL)          Generato...
Gen. Programmierung                     Konfiguration                      Konfiguration                        (DSL)     ...
Gen. Programmierung                     Konfiguration                      Konfiguration                        (DSL)     ...
Gen. Programmierung                     Konfiguration                      Konfiguration                        (DSL)     ...
Gen. Programmierung                     Konfiguration                      Konfiguration                        (DSL)     ...
Gen. Programmierung                     Konfiguration                      Konfiguration                        (DSL)     ...
Ziel       Erzeugen einer   optimierten Anwendung!
Ziel       Erzeugen einer   optimierten Anwendung     für einen Kunden!
Ziel       Wartung / Entwicklung        aller Applikationen in         einem Repository!
Entwicklungsablauf Mieter 1 Mieter 1
Entwicklungsablauf Mieter 1 Mieter 1   Mieter 2            Mieter 2
Entwicklungsablauf Mieter 1 Mieter 1   Mieter 2            Mieter 2   Mieter 3                       Mieter 3
Entwicklungsablauf Mieter 1 Mieter 1   Mieter 2            Mieter 2   Mieter 3                       Mieter 3      Gemeins...
Entwicklungsablauf Mieter 1 Mieter 1     Mieter 2              Mieter 2         Mieter 3                               Mie...
Entwicklungsablauf Mieter 1 Mieter 1     Mieter 2              Mieter 2         Mieter 3                               Mie...
Erzeugungsablauf Mieter 1 Mieter 1            Featurewahl (DSL) u.             Featurewahl (DSL) u.             Baubarkeit...
Bonuspunkt 1 Codekomplexität reduzieren!
Bonuspunkt 2Wartungsaufwände reduzieren!
Bonuspunkt 3     Updates nur für    betroffene Kunden!
Bonuspunkt 3               Implementierungs-   Merkmal                  komponente
Bonuspunkt 3   Merkmal     Kunde
Bonuspunkt 3             Kunde            Merkmal        Implementierungs-           komponente
Das Buch
Vielen Dank!
Flickr Creditshttp://www.flickr.com/photos/andresrueda/3452940751/http://www.flickr.com/photos/andresrueda/3455410635/http...
Nächste SlideShare
Wird geladen in …5
×

Fließbandfertigung für Software-Applikationen

1.127 Aufrufe

Veröffentlicht am

#eseconf

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.127
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
64
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Fließbandfertigung für Software-Applikationen

  1. 1. Fließbandfertigung fürSoftware-ApplikationenStephan Hochdörfer, bitExpert AG
  2. 2. Über mich Stephan Hochdörfer, bitExpert AG Department Manager Research Labs S.Hochdoerfer@bitExpert.de @shochdoerfer
  3. 3. Eine Software, ein Kunde
  4. 4. Entwickler vs. Geschäftsmann
  5. 5. ...mehr Kunden
  6. 6. ...viel mehr Kunden
  7. 7. Wohin führt das?
  8. 8. Wohin führt das? Wartungs- hölle!
  9. 9. Einzellösung Mieter 1 Anwendung Datenbank Hardware
  10. 10. Einzellösung Mieter 1 Mieter 2 Mieter 3Anwendung Anwendung AnwendungDatenbank Datenbank Datenbank Hardware Hardware Hardware
  11. 11. Mandantenlösung Mieter 1 Mieter 2 Mieter 3 Anwendung Datenbank Hardware
  12. 12. Anpassbarkeit?
  13. 13. Anpassbarkeit? Mieter 1 Mieter 2 Mieter 3 Anwendung Datenbank Hardware
  14. 14. Anpassbarkeit? Mieter 1 Mieter 2 Mieter 3 Anwendung Datenbank Hardware
  15. 15. Anpassbarkeit? Wie?
  16. 16. Anpassbarkeit? Wie? Plugins, Hooks
  17. 17. Anpassbarkeit? Wie? Plugin 1 Plugin 2 UI Business- Logik
  18. 18. Konfiguration? Wie?
  19. 19. Konfiguration? Wie? Dependency Injection
  20. 20. Konfiguration? Wo? Wo wird die Konfiguration verwaltet?
  21. 21. Konfiguration? Wie? Wie werden Varianten verwaltet?
  22. 22. Nachteile Business-Logik kann aufweichen!
  23. 23. Nachteile Performance!
  24. 24. Abstrahieren du musst!
  25. 25. Keine Einzellösung!
  26. 26. Massenproduktion!
  27. 27. Softwaresystemfamilie
  28. 28. Einzelinstanz Mieter 1 Mieter 2 Mieter 3 Anwendung Datenbank Hardware
  29. 29. Multi-Instanz Mieter 1 Mieter 2 Mieter 3 Anwendung Datenbank Hardware
  30. 30. Automatisierung? Wie?
  31. 31. Automatisierung? Wie? Generative Programmierung
  32. 32. Gen. Programmierung Generator Generator
  33. 33. Gen. Programmierung Konfiguration Konfiguration (DSL) (DSL) Generator Generator
  34. 34. Gen. Programmierung Konfiguration Konfiguration (DSL) (DSL)Implementierungs- Implementierungs- komponenten Generator Generator komponenten
  35. 35. Gen. Programmierung Konfiguration Konfiguration (DSL) (DSL) 1...nImplementierungs- Implementierungs- komponenten Generator Generator Produkt komponenten Produkt
  36. 36. Gen. Programmierung Konfiguration Konfiguration (DSL) (DSL) Mieter 1 Mieter 1Implementierungs- Implementierungs- komponenten Generator Generator komponenten
  37. 37. Gen. Programmierung Konfiguration Konfiguration (DSL) (DSL) Mieter 1 Mieter 1Implementierungs- Implementierungs- komponenten Generator Generator Mieter 2 komponenten Mieter 2
  38. 38. Gen. Programmierung Konfiguration Konfiguration (DSL) (DSL) Mieter 1 Mieter 1Implementierungs- Implementierungs- komponenten Generator Generator Mieter 2 komponenten Mieter 2 Mieter 3 Mieter 3
  39. 39. Ziel Erzeugen einer optimierten Anwendung!
  40. 40. Ziel Erzeugen einer optimierten Anwendung für einen Kunden!
  41. 41. Ziel Wartung / Entwicklung aller Applikationen in einem Repository!
  42. 42. Entwicklungsablauf Mieter 1 Mieter 1
  43. 43. Entwicklungsablauf Mieter 1 Mieter 1 Mieter 2 Mieter 2
  44. 44. Entwicklungsablauf Mieter 1 Mieter 1 Mieter 2 Mieter 2 Mieter 3 Mieter 3
  45. 45. Entwicklungsablauf Mieter 1 Mieter 1 Mieter 2 Mieter 2 Mieter 3 Mieter 3 Gemeinsamkeiten // Gemeinsamkeiten Unterschiede Unterschiede
  46. 46. Entwicklungsablauf Mieter 1 Mieter 1 Mieter 2 Mieter 2 Mieter 3 Mieter 3 Gemeinsamkeiten // Gemeinsamkeiten Implementierungs- Implementierungs- Unterschiede Unterschiede komponenten komponenten Konfigurations- Konfigurations- wissen wissen
  47. 47. Entwicklungsablauf Mieter 1 Mieter 1 Mieter 2 Mieter 2 Mieter 3 Mieter 3 Gemeinsamkeiten // Gemeinsamkeiten Implementierungs- Implementierungs- Unterschiede Unterschiede komponenten komponenten Konfigurations- Konfigurations- Generator Generator wissen wissen
  48. 48. Erzeugungsablauf Mieter 1 Mieter 1 Featurewahl (DSL) u. Featurewahl (DSL) u. Baubarkeitsprüfung Baubarkeitsprüfung Generierung der Generierung der Zielsoftware Zielsoftware
  49. 49. Bonuspunkt 1 Codekomplexität reduzieren!
  50. 50. Bonuspunkt 2Wartungsaufwände reduzieren!
  51. 51. Bonuspunkt 3 Updates nur für betroffene Kunden!
  52. 52. Bonuspunkt 3 Implementierungs- Merkmal komponente
  53. 53. Bonuspunkt 3 Merkmal Kunde
  54. 54. Bonuspunkt 3 Kunde Merkmal Implementierungs- komponente
  55. 55. Das Buch
  56. 56. Vielen Dank!
  57. 57. Flickr Creditshttp://www.flickr.com/photos/andresrueda/3452940751/http://www.flickr.com/photos/andresrueda/3455410635/http://www.flickr.com/photos/serpicolugnut/172616929/

×