Software-Wiederverwendung                     Julian Fietkau                    Universität Hamburg                   5. D...
Inhaltsverzeichnis                           Julian Fietkau       Übersicht       Einleitung       Zusammenfassung des Tex...
Einleitung                                                                  Julian Fietkau      Was bedeutet Software-Wied...
Zusammenfassung des Textes                                 Julian Fietkau     Arten von Wiederverwendung      1     Wieder...
Zusammenfassung des Textes                                      Julian Fietkau     Vorteile und Probleme                  ...
Zusammenfassung des Textes: The Reuse Landscape                                                 Julian Fietkau        Teil...
Zusammenfassung des Textes: The Reuse Landscape    Julian Fietkau     Schlüsselfaktoren bei der Wahl des Ansatzes         ...
Zusammenfassung des Textes: Frameworks                                  Julian Fietkau     Frameworks sind. . .          ....
Zusammenfassung des Textes: Frameworks         Julian Fietkau     Arten von Frameworks          System-Infrastruktur-Frame...
Zusammenfassung des Textes: Frameworks                                 Julian Fietkau     Eigenschaften und Auswirkungen  ...
Zusammenfassung des Textes: Produktfamilien                             Julian Fietkau      Produktfamilien sind. . .     ...
Zusammenfassung des Textes: Produktfamilien             Julian Fietkau      Produkt-Instanz-Entwicklung      1   Anforderu...
Zusammenfassung des Textes: Produktfamilien                        Julian Fietkau      Eigenschaften und Auswirkungen     ...
Zusammenfassung des Textes: COTS                                  Julian Fietkau     COTS-Systeme sind. . .         . . . ...
Zusammenfassung des Textes: COTS                                              Julian Fietkau     COTS-Lösungs-Systeme. . ....
Zusammenfassung des Textes: COTS                              Julian Fietkau     Integrierte COTS-Systeme. . .         . ....
Zusammenfassung des Textes: COTS                                  Julian Fietkau     Eigenschaften und Auswirkungen       ...
Kritik und Ergänzung                                                                            Julian Fietkau            ...
Kritik und Ergänzung: Prinzipien von Open Source                      Julian Fietkau      Idee und Praxis          Code is...
Kritik und Ergänzung: Open Source und schwarze Zahlen             Julian Fietkau      OSS-Geschäftsmodelle      Im Untersc...
Kritik und Ergänzung: Open Source und schwarze Zahlen                Julian Fietkau      Geschäftsvorteile durch OSS-Engag...
Fallbeispiel                                   Julian Fietkau       „Google versteht Plattformen nicht“                   ...
Fallbeispiel                                                             Julian Fietkau       Steve Yegge und sein großes ...
Fallbeispiel                                                                   Julian Fietkau       Ausgewählte Zitate    ...
Fallbeispiel                                                                   Julian Fietkau       Ausgewählte Zitate    ...
Fallbeispiel                                                               Julian Fietkau       Ausgewählte Zitate       Ü...
Fazit                                                                     Julian Fietkau        Wichtigste Punkte         ...
Organisatorisches: Literatur                                                  Julian Fietkau      Literatur            Ian...
Organisatorisches: Weblinks                                        Julian Fietkau      Weblinks      Ian Sommerville: Soft...
Organisatorisches: Freigabe und Download                                                   Julian Fietkau      Freigabe un...
Upcoming SlideShare
Loading in …5
×

Software-Wiederverwendung

1,731 views
1,657 views

Published on

Dieser Vortrag wurde im Seminar zum Modul Softwarearchitektur gehalten, das von Carola Lilienthal organisiert wurde.

Der Inhalt orientierte sich an Kapitel 16 des Buchs "Software Engineering" von Ian Sommerville. Ich habe die Inhalte des Buchkapitels grob wiedergegeben und um einen zusätzlichen Schwerpunkt ergänzt. Außerdem habe ich ein Fallbeispiel eingebracht, das mögliche Auswirkungen von Software-Wiederverwendung und deren Versäumnis aufzeigen sollte.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,731
On SlideShare
0
From Embeds
0
Number of Embeds
70
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software-Wiederverwendung

  1. 1. Software-Wiederverwendung Julian Fietkau Universität Hamburg 5. Dezember 2011
  2. 2. Inhaltsverzeichnis Julian Fietkau Übersicht Einleitung Zusammenfassung des Textes The Reuse Landscape Frameworks Produktfamilien COTS Kritik und Ergänzung Prinzipien von Open Source Open Source und schwarze Zahlen Fallbeispiel Fazit 2 / 30
  3. 3. Einleitung Julian Fietkau Was bedeutet Software-Wiederverwendung? Software zu erstellen ist teuer. Idee: Warum nicht Software mehrfach verwenden? Granularität: von einzelnen Objekten bis hin zu kompletten Systemen. Vorteil ist Kostenersparnis, aber viele Fallstricke (je nach Ansatz) 3 / 30
  4. 4. Zusammenfassung des Textes Julian Fietkau Arten von Wiederverwendung 1 Wiederverwendung von Anwendungssystemen 2 Wiederverwendung von Komponenten 3 Wiederverwendung von Objekten und Funktionen 4 / 30
  5. 5. Zusammenfassung des Textes Julian Fietkau Vorteile und Probleme Probleme: Vorteile: Erhöhte Wartungskosten Erhöhte Verlässlichkeit Mangelnde Geringeres Prozessrisiko Werkzeugunterstützung Effektive Nutzung von „Not-invented-here“-Syndrom Spezialisten Pflege einer Standardkonformität Komponentenbibliothek Schnellere Entwicklung Korrektes Sammeln und Verstehen von Komponenten 5 / 30
  6. 6. Zusammenfassung des Textes: The Reuse Landscape Julian Fietkau Teil eines anderen Wird in diesem Kapitels / Vortrags Vortrag vertieft Design Architectural Patterns Patterns Software Product COTS Application Lines ERP Systems Frameworks Integration Configurable Vertical Legacy System Applications Wrapping Component-Based Software Engineering Model-Driven Service-Oriented Engineering Systems Aspect-Oriented Software Development Program Program Libraries Generators (vgl. [Sommerville 2011], Abb. 16.3 auf S. 429) 6 / 30
  7. 7. Zusammenfassung des Textes: The Reuse Landscape Julian Fietkau Schlüsselfaktoren bei der Wahl des Ansatzes Zeitplanung Geplante Lebenszeit der Software Fähigkeiten der Entwickler Nicht-funktionale Anforderungen Anwendungsfeld Software-Plattform 7 / 30
  8. 8. Zusammenfassung des Textes: Frameworks Julian Fietkau Frameworks sind. . . . . . Sammlungen von Software-Komponenten . . . allein nicht sinnvoll ausführbar . . . Schablonen und Hilfsmittel, die für Entwickler leicht nutzbar sind (oder sein sollen) 8 / 30
  9. 9. Zusammenfassung des Textes: Frameworks Julian Fietkau Arten von Frameworks System-Infrastruktur-Frameworks Middleware-Integrations-Frameworks Enterprise-Anwendungs-Frameworks 9 / 30
  10. 10. Zusammenfassung des Textes: Frameworks Julian Fietkau Eigenschaften und Auswirkungen Implementationszeit wird gespart, in der sonst das Rad neu erfunden worden wäre. Nicht-fachlicher Code ist besser gekapselt. Die Anwendungen sind an die Plattformen gebunden, die das Framework unterstützt. Die Einarbeitungszeit kann ggf. lang sein. 10 / 30
  11. 11. Zusammenfassung des Textes: Produktfamilien Julian Fietkau Produktfamilien sind. . . . . . mehrere verwandte Anwendungen mit einer gemeinsamen technischen Grundlage / gemeinsamen Komponenten. . . . beinhalten generische Funktionalität, die an verschiedene Kontexte angepasst werden kann. 11 / 30
  12. 12. Zusammenfassung des Textes: Produktfamilien Julian Fietkau Produkt-Instanz-Entwicklung 1 Anforderungsermittlung 2 Passendstes existierendes Produkt auswählen 3 Anforderungen erneut evaluieren 4 Bestehendes Produkt adaptieren 5 Neues Produktfamilien-Mitglied ausliefern 12 / 30
  13. 13. Zusammenfassung des Textes: Produktfamilien Julian Fietkau Eigenschaften und Auswirkungen Konfiguration hat einen hohen Stellenwert. Im Gegensatz zu Frameworks: Fachliche Konsolidierung, nicht ausschließlich technische. Eng verwandte Architektur der Anwendungen gewährleistet geringe Einarbeitungszeit für Entwickler beim Wechsel, sowie Wiederverwendung von (z.B. Test-)Infrastruktur. Kompromisse zwischen detaillierten Anforderungen und Verwendung der generischen Basis müssen gefunden werden. 13 / 30
  14. 14. Zusammenfassung des Textes: COTS Julian Fietkau COTS-Systeme sind. . . . . . „commercial off-the-shelf“. . . . für verschiedene Kunden anpassbar ohne Veränderungen am Quelltext. . . . funktional oft sehr umfangreich. 14 / 30
  15. 15. Zusammenfassung des Textes: COTS Julian Fietkau COTS-Lösungs-Systeme. . . . . . sind generische Anwendungssysteme für einen bestimmten Einsatzzweck. z.B. Universitäts-Verwaltungs-Systeme, Software für Arztpraxen, ERP-Systeme . . . enthalten verschiedene Module, übergreifende Regeln und eine gemeinsame Datenbank. . . . erfordern ein hohes Maß an Konfiguration vor der Einsatztauglichkeit. 15 / 30
  16. 16. Zusammenfassung des Textes: COTS Julian Fietkau Integrierte COTS-Systeme. . . . . . bestehen aus zwei oder mehr COTS-Produkten. . . . erfordern Lösungen zum Datenaustausch. . . . können doppelte Funktionalitäten und größere Fehlerwahrscheinlichkeiten mit sich bringen. 16 / 30
  17. 17. Zusammenfassung des Textes: COTS Julian Fietkau Eigenschaften und Auswirkungen Kosten für COTS-Systeme stehen im Vorhinein sehr genau fest. (Aber: Vorsicht vor Betriebs- und Wartungskosten!) Kunden haben wenig Kontrolle über die angebotene Funktionalität. COTS-Systeme haben eine stetig ungewisse Zukunft. 17 / 30
  18. 18. Kritik und Ergänzung Julian Fietkau Design Architectural Patterns Patterns Software Product COTS Application Lines ERP Systems Frameworks Integration Configurable Vertical Legacy System ApplicationsSource Open Wrapping Component-Based Software Engineering Software? Model-Driven Service-Oriented Engineering Systems Aspect-Oriented Software Development Program Program Libraries Generators (vgl. [Sommerville 2011], Abb. 16.3 auf S. 429) 18 / 30
  19. 19. Kritik und Ergänzung: Prinzipien von Open Source Julian Fietkau Idee und Praxis Code ist nicht zwangsweise ein Geschäftsgeheimnis. Open Source: Der Code ist von jedermann einsehbar. Verschiedene Beschränkungen und Freiheiten zur Nutzung sind möglich (vgl. Freie Software). Open Source ist heute eigentlich überall irgendwie (vgl. Apache, Firefox, Linux, BSD, Android, SSH. . . ). 19 / 30
  20. 20. Kritik und Ergänzung: Open Source und schwarze Zahlen Julian Fietkau OSS-Geschäftsmodelle Im Unterschied zum Verkauf von Nutzungsrechten für Software: Verkauf von Services und Support rund um die Software „Commoditize complements“ – OSS-Produkte verleiten Nutzer dazu, verwandte Produkte zu kaufen. Kostenvermeidung / Kostenteilung Spenden, Crowd Funding 20 / 30
  21. 21. Kritik und Ergänzung: Open Source und schwarze Zahlen Julian Fietkau Geschäftsvorteile durch OSS-Engagement Bei eigenen Produkten: Geringere Hürden bei der Markterschließung Nutzung von externer Kompetenz für Entwicklung und Qualitätssicherung Steigerung der Attraktivität für externe Entwickler „Versteinerung“ der Entwicklerbasis wird entgegengewirkt Bei Beteiligung an bestehenden OSS-Produkten: Zugang zur vollständigen Code-Basis, ohne Beschränkungen „Meritocracy“-Prinzip: Vermeidung zukünftiger Kompatibilitätsprobleme und Steuerung des Projekts Geringerer Infrastruktur-Aufwand durch Vermeidung von „Forks“ 21 / 30
  22. 22. Fallbeispiel Julian Fietkau „Google versteht Plattformen nicht“ Sagt wer? Und warum? 22 / 30
  23. 23. Fallbeispiel Julian Fietkau Steve Yegge und sein großes Versehen Steve Yegge: Softwareentwickler und Tech-Blogger, vormals bei Amazon, inzwischen bei Google Oktober 2011: Yegge schreibt ein langes Memo gedacht für seine Google-Kollegen. Er postet es versehentlich weltöffentlich. Themen seines Textes: Firmenpolitik, Management, aber auch Plattformen und Software-Wiederverwendung 23 / 30
  24. 24. Fallbeispiel Julian Fietkau Ausgewählte Zitate Jeff Bezos’ „SOA-Mandat“ (Amazon, ca. 2002) „1) All teams will henceforth expose their data and functionality through service interfaces. 2) Teams must communicate with each other through these interfaces. 3) (. . . ) The only communication allowed is via service interface calls over the network. 4) It doesn’t matter what technology they use. (. . . ) 5) (. . . ) [T]he team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. 6) Anyone who doesn’t do this will be fired.“ 24 / 30
  25. 25. Fallbeispiel Julian Fietkau Ausgewählte Zitate Über Google und Plattformen: „That one last thing that Google doesn’t do well is Platforms. We don’t understand platforms. We don’t “get” platforms. (. . . ) It’s a big stretch even to get most teams to offer a stubby service to get programmatic access to their data and compu- tations. Most of them think they’re building products.“ „But when we take the stance that we know how to design the perfect product for everyone, and believe you me, I hear that a lot, then we’re being fools. You can attribute it to arrogance, or naivete, or whatever – it doesn’t matter in the end, because it’s foolishness. There IS no perfect product for everyone.“ 25 / 30
  26. 26. Fallbeispiel Julian Fietkau Ausgewählte Zitate Über Google+: „Google+ is a prime example of our complete failure to under- stand platforms (. . . ) The Google+ platform is a pathetic af- terthought. We had no API at all at launch, and last I checked, we had one measly API call.“ Über Facebook: „Google+ is a knee-jerk reaction, a study in short-term thin- king, predicated on the incorrect notion that Facebook is suc- cessful because they built a great product. But that’s not why they are successful. Facebook is successful because they built an entire constellation of products by allowing other people to do the work. So Facebook is different for everyone.“ 26 / 30
  27. 27. Fazit Julian Fietkau Wichtigste Punkte Es gibt viele Wege zur Software-Wiederverwendung, vgl. Frameworks vs. Produktfamilien vs. COTS vs. Open Source. Geschickte Wiederverwendung bietet Möglichkeiten zur Kostensenkung, Beschleunigung der Entwicklung und Steigerung der Verlässlichkeit. Fallstricke gibt es aber auch, man denke an Konfigurationsschwierigkeiten, Inkompatibilitäten etc. 27 / 30
  28. 28. Organisatorisches: Literatur Julian Fietkau Literatur Ian Sommerville: Software Engineering 9th edition. Pearson, 2011 Steve Yegge auf Google+ über Google und Plattformen Öffentlich durch Genehmigung des Autors, 12. Oktober 2011. https://plus.google.com/112678702228711889851/posts/eVeouesvaVX 28 / 30
  29. 29. Organisatorisches: Weblinks Julian Fietkau Weblinks Ian Sommerville: Software Engineering 9 http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/ Wikipedia: Open source http://en.wikipedia.org/wiki/Open_source Wikipedia: Open-source software http://en.wikipedia.org/wiki/Open-source_software Wikipedia: Comparison of open source and closed source http://en.wikipedia.org/wiki/Open_source_vs._closed_source Reddit: Why should my team contribute to open source? http://www.reddit.com/r/opensource/..._to_open_source/ 29 / 30
  30. 30. Organisatorisches: Freigabe und Download Julian Fietkau Freigabe und Download Diese Folien sind unter CC-BY-SA 3.0 freigegeben. Alle nicht näher gekennzeichneten Abbildungen stammen ganz oder teilweise aus dem OpenClipArt-Projekt. Folien-Download und Feedback-Möglichkeit: http://www.julian-fietkau.de/software_wiederverwendung 30 / 30

×