Software-Wiederverwendung

Ähnliche Dokumente
Aspekte von Software-Wiederverwendung

Algorithms for graph visualization

Corporate Digital Learning, How to Get It Right. Learning Café

HIR Method & Tools for Fit Gap analysis

Klausur Verteilte Systeme

Freie Bildung: Web2.0-Tools als Türöffner für die Wirtschaft

Was haben Viehweiden mit Software zu tun?

EVERYTHING ABOUT FOOD

Customer-specific software for autonomous driving and driver assistance (ADAS)

Inequality Utilitarian and Capabilities Perspectives (and what they may imply for public health)

GRIPS - GIS basiertes Risikoanalyse-, Informations- und Planungssystem

Prozesse als strategischer Treiber einer SOA - Ein Bericht aus der Praxis

WAS IST DER KOMPARATIV: = The comparative

a lot of, much und many

August Macke Abschied, 1914 Museum Ludwig, Köln

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

Mash-Up Personal Learning Environments. Dr. Hendrik Drachsler

FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN

p^db=`oj===pìééçêíáåñçêã~íáçå=

SELF-STUDY DIARY (or Lerntagebuch) GER102

Software-Architecture Introduction

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

+ROLGD\V 1LYHDX$ )HUWLJNHLW+ UYHUVWHKHQ

Wikis, Blogs & CMS im Unternehmenskontext Usability Roundtable HH, 8. Mai 2006 Dr. Stephan Raimer

Open Source. Legal Dos, Don ts and Maybes. openlaws Open Source Workshop 26 June 2015, Federal Chancellery Vienna

Vormittag. Warum gerade Moodle? Ralf Hilgenstock. Whats new? Moodle 1.8 und 1.9 André Krüger, Ralf Hilgenstock

Mitglied der Leibniz-Gemeinschaft

Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation

Gemeinsam mehr erreichen.

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

Challenges for the future between extern and intern evaluation

Softwareschnittstellen

There are 10 weeks this summer vacation the weeks beginning: June 23, June 30, July 7, July 14, July 21, Jul 28, Aug 4, Aug 11, Aug 18, Aug 25

Auswertungsbericht Lehrveranstaltungsbewertung Mobile Communication and Ad Hoc Networks

Agile UND nutzerorientierte Konzeption und Entwicklung mobiler Apps - ein Widerspruch?

job and career at HANNOVER MESSE 2015

Rough copy for the art project >hardware/software< of the imbenge-dreamhouse artist Nele Ströbel.

Symbio system requirements. Version 5.1

SemTalk Services. SemTalk UserMeeting

Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str Jena

Selbstorganisiert ein Ziel erreichen Analyse, Architektur und Design in agilen Software-Projekten

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Pressemeldung Deutscher Perl-Workshop, 19. Juni 2007 Pressekontakt: Alvar Freude (01 79)

Software Engineering und Projektmanagement 2.0 VO

Identity Management. Rudolf Meyer

Cloud Architektur Workshop

Praktikum Entwicklung Mediensysteme (für Master)

TalkIT: Internet Communities Tiroler Zukunftsstiftung Donnerstag,

Kybernetik Das Kybernetische Modell

Geometrie und Bedeutung: Kap 5

Patentrelevante Aspekte der GPLv2/LGPLv2

H Mcast Future Internet made in Hamburg?

Eclipse User Interface Guidelines

Cloud Computing in der öffentlichen Verwaltung

TVHD800x0. Port-Weiterleitung. Version 1.1

-Which word (lines 47-52) does tell us that Renia s host brother is a pleasant person?

Employment and Salary Verification in the Internet (PA-PA-US)

Autodesk GIS Workshop Oldenburg

Field Librarianship in den USA

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Internetpräsenzen von Radiosendern

Isabel Arnold CICS Technical Sales Germany z/os Explorer IBM Corporation

forty-three Write the correct names in the boxes. nose neck foot head leg ear mouth body hair eye arm face hand

FuturistGerd.com Die nächsten 5 Jahre in Business, Medien und Wirtschaft: Liechtenstein und die digitale Transformation.

Die Renaissance von Unified Communication in der Cloud. Daniel Jonathan Valik UC, Cloud and Collaboration

Instruktionen Mozilla Thunderbird Seite 1

Support Technologies based on Bi-Modal Network Analysis. H. Ulrich Hoppe. Virtuelles Arbeiten und Lernen in projektartigen Netzwerken

Study guide written by René Koglbauer

Sicherheit / Sicherung - unterschiedliche Begriffsbestimmung, gemeinsame Fachaspekte

Product Lifecycle Manager

Invitation - Benutzerhandbuch. User Manual. User Manual. I. Deutsch Produktübersicht Beschreibung... 2

Login data for HAW Mailer, Emil und Helios

Design Thinking. Berner Fachhochschule Institut Unternehmensentwicklung Prof. Dr. Andreas Ninck

job and career at IAA Pkw 2015

Schatten IT & Beispiele für Kollaboration in Enterprise 2.0. HAW Hamburg AW2 Benjamin Kirstgen

Students intentions to use wikis in higher education

6KRSSLQJDW&DPGHQ/RFN 1LYHDX$

DOWNLOAD. Englisch in Bewegung. Spiele für den Englischunterricht. Britta Buschmann. Downloadauszug aus dem Originaltitel:

Distributed testing. Demo Video

Wie wird grenzüberschreitende Gesundheitsversorgung bezahlt?? Brigitte van der Zanden Healthacross, 14 Dezember 2010

ONLINE LICENCE GENERATOR

BEDIFFERENT ACE G E R M A N Y. aras.com. Copyright 2012 Aras. All Rights Reserved.

Privacy-preserving Ubiquitous Social Mining via Modular and Compositional Virtual Sensors

Seminarfragebogen Englisch-Schulung Basic-Level

XML Template Transfer Transfer project templates easily between systems

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

ReadMe zur Installation der BRICKware for Windows, Version ReadMe on Installing BRICKware for Windows, Version 6.1.2

Agiles Projektmanagement. erklärt in 30 Minuten! IT-Forum Agiles Projektmanagement, NIK 29. Juni Thomas Hemmer

Ablauf des Unterrichtsbeispiels

Praktikum Entwicklung von Mediensystemen mit ios

job and career at CeBIT 2015

Open Source Middleware:

PCIe, DDR4, VNAND Effizienz beginnt im Server

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Daten haben wir reichlich! The unbelievable Machine Company 1

ISO Reference Model

Personalpronomen und das Verb to be

Neues von Oracle Gut zu wissen...

Transkript:

Software-Wiederverwendung Universität Hamburg 5. Dezember 2011

Inhaltsverzeichnis Ü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

Einleitung 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

Zusammenfassung des Textes Arten von Wiederverwendung 1 Wiederverwendung von Anwendungssystemen 2 Wiederverwendung von Komponenten 3 Wiederverwendung von Objekten und Funktionen 4 / 30

Zusammenfassung des Textes Vorteile und Probleme Vorteile: Erhöhte Verlässlichkeit Geringeres Prozessrisiko Effektive Nutzung von Spezialisten Standardkonformität Schnellere Entwicklung Probleme: Erhöhte Wartungskosten Mangelnde Werkzeugunterstützung Not-invented-here -Syndrom Pflege einer Komponentenbibliothek Korrektes Sammeln und Verstehen von Komponenten 5 / 30

Zusammenfassung des Textes: The Reuse Landscape Teil eines anderen Kapitels / Vortrags Design Patterns Architectural Patterns Wird in diesem Vortrag vertieft Application Frameworks Software Product Lines COTS Integration ERP Systems Component-Based Software Engineering Aspect-Oriented Software Development Configurable Vertical Applications Model-Driven Engineering Program Generators Legacy System Wrapping Program Libraries Service-Oriented Systems 6 / 30 (vgl. [Sommerville 2011], Abb. 16.3 auf S. 429)

Zusammenfassung des Textes: The Reuse Landscape Schlüsselfaktoren bei der Wahl des Ansatzes Zeitplanung Geplante Lebenszeit der Software Fähigkeiten der Entwickler Nicht-funktionale Anforderungen Anwendungsfeld Software-Plattform 7 / 30

Zusammenfassung des Textes: Frameworks 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

Zusammenfassung des Textes: Frameworks Arten von Frameworks System-Infrastruktur-Frameworks Middleware-Integrations-Frameworks Enterprise-Anwendungs-Frameworks 9 / 30

Zusammenfassung des Textes: Frameworks 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

Zusammenfassung des Textes: Produktfamilien 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

Zusammenfassung des Textes: Produktfamilien 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

Zusammenfassung des Textes: Produktfamilien 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

Zusammenfassung des Textes: COTS COTS-Systeme sind...... commercial off-the-shelf.... für verschiedene Kunden anpassbar ohne Veränderungen am Quelltext.... funktional oft sehr umfangreich. 14 / 30

Zusammenfassung des Textes: COTS 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

Zusammenfassung des Textes: COTS 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

Zusammenfassung des Textes: COTS 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

Kritik und Ergänzung Design Patterns Architectural Patterns Application Frameworks Software Product Lines COTS Integration ERP Systems Component-Based Software Engineering Aspect-Oriented Software Development Configurable Vertical Applications Open Source Software? Model-Driven Engineering Program Generators Legacy System Wrapping Program Libraries Service-Oriented Systems (vgl. [Sommerville 2011], Abb. 16.3 auf S. 429) 18 / 30

Kritik und Ergänzung: Prinzipien von Open Source 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

Kritik und Ergänzung: Open Source und schwarze Zahlen 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

Kritik und Ergänzung: Open Source und schwarze Zahlen 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

Fallbeispiel Google versteht Plattformen nicht Sagt wer? Und warum? 22 / 30

Fallbeispiel 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

Fallbeispiel 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

Fallbeispiel 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 computations. 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

Fallbeispiel Ausgewählte Zitate Über Google+: Google+ is a prime example of our complete failure to understand platforms (... ) The Google+ platform is a pathetic afterthought. 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 thinking, predicated on the incorrect notion that Facebook is successful 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

Fazit 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

Organisatorisches: Literatur 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

Organisatorisches: Weblinks 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

Organisatorisches: Freigabe und Download 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