45
Prof. Dr. K.-P. Fähnrich / Thomas Riechert 1 Institut für Informatik Betriebliche Informationssysteme 14.06.2011 Prof. Dr. K.-P. Fähnrich / Thomas Riechert Vorlesung Software-Management Sommersemester 2011 Wiederverwendung

Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 1

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

Prof. Dr. K.-P. Fähnrich / Thomas Riechert

Vorlesung Software-Management

Sommersemester 2011

Wiederverwendung

Page 2: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 2

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungÜbersicht der Vorlesung

Begleitliteratur: Helmut Balzert, Lehrbuch der Software-TechnikQuelle der Grafiken und Tabellen: Helmut Balzert, Lehrbuch der Software-Technik,wenn nicht anders angegeben

(1) Grundlagen (2) Planung(3) Organisation: Gestaltung(4) Organisation: Prozessmodelle(5) Personal(6) Leitung(7) Innovationsmanagement (8) Kontrolle: Metriken, Konfigurations- und Änderungsmanagement(9) CASE(10)Wiederverwendung(11)Sanierung

Page 3: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 3

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungHaus der Softwaretechnik (nach Balzert)

Einführung und ÜberblickLE 1

V Unternehmensmodellierung

2 LE

1 Grundlagen

LE 24

2 Objektorientierte Unternehmensmodellierung LE 25

I SW-Entwicklung

33 LE

6 Die Wartungs- & Pflegephase LE 34

5 Die Abnahme- und Einführungsphase LE 34

4 Die Implementationsphase

LE 33

3 Die Entwurfsphase

LE 23 - 32

2 Die Definitionsphase

LE 4 - 22

1 Die Planungsphase

LE 2 - 3

III SW-Qualitäts- Management

11 LE

6 Produktqualität – Syst. LE 18 - 19

5 Produktqualität – Komp.LE 14 - 17

4 Prozessqualität

LE 12 - 13

3 Manuelle Prüf- methoden LE 11

2 Qualitäts- sicherung LE 10

1 Grundlagen

LE 9

II SW-Management

8 LE

6 Kontrolle

LE 8

5 Leitung

LE 6 - 7

4 Personal

LE 5

3 Organisation

LE 3 - 4

2 Planung

LE 2

1 Grundlagen

LE 1

IV Querschnitte und Ausblicke

4 LE

4 Sanierung

LE 23

1 Prinzipien und Methoden LE 20

3 Wiederver- wendung LE 22

2 CASE

LE 21

Legende:

= Übergabe vonTeilprodukten

= Informationsaustausch

= Unterstützung

LE = Lehreinheit

Die in dieser VorlesungBehandelten Themen

= Einfluss

Page 4: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 4

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungGliederung.Zur Problematik

(1) Zur Problematik: Wiederverwendbarkeit und Wiederverwendung

(2) Technik

(3) Software Produktlinien

(4) Organisation und Management

(5) Kosten/Nutzen

(6) Einführung der Wiederverwendung

Page 5: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 5

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Regeln der Wiederverwendung: Bevor etwas wiederverwendet werden kann,

muss es

Gefunden werden.

Die Funktionen müssen bekannt sein und

man muss wissen wie es wiederverwendet.

• Nur durch Wiederverwendung lassen sich:

die Produktivität signifikant erhöhen,

die Qualität der Produkte verbessern,

die Entwicklungszeit kürzen,

die Kosten reduzieren.

Zur Problematik

Page 6: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 6

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Eine gute Wiederverwendbarkeit und Wiederverwendung setzt eine optimale

Zusammenarbeit von

Technik,

Organisation und

Management.

voraus.

Wiederverwendbarkeit (reusability): Erstellen und Bereitstellen wiederverwendbarer Software.

Wiederverwendung (reuse): Einsatz wiederverwendbarer Software.

Wiederverwendbarkeit und Wiederverwendung

Page 7: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 7

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Üblich ist die ungeplante Wiederverwendung.

• Es wird versucht, Software-Komponente alter Systeme mit Methoden des

Reverse Engineering, des Reengineering und der Sanierung zu identifizieren

und aufzubereiten.

Wiederverwendung

geplant

Wiederverwendbarkeit

ungeplant

Sanierung

ReengineeringReverse engineering

Arten der Wiederverwendung

Arten der Wiederverwendung

Page 8: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 8

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Bei der geplanten Wiederverwendung geht es darum, Software-Komponenten

von vornherein wiederverwendbar so zu gestalten.

• Gute wiederverwendbare Software-Komponenten:

besitzen einen hohen Allgemeinheitsgrad,

sind qualitativ hochwertig und

sind gut dokumentiert.

• Vier Typen der Wiederverwendung:

Wiederverwendung bei Versionsentwicklung,

Wiederverwendung bei Variantenentwicklung,

Intraproduktorientierte Wiederverwendung,

Interproduktorientierte Wiederverwendung.

Geplante Wiederverwendung

Page 9: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 9

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Produkt A, Version 1 Produkt A, Version 2 Wiederverwendung bei Versionsentwicklung

Basisprodukt A

Produkt A, Variante 1

Produkt A, Variante 2

Wiederverwendung bei Variantenentwicklung

Produkt A

Subsystem X Subsystem Y

Intraproduktorientierte Wiederverwendung

Produkt A Produkt BInterproduktorientierte Wiederverwendung

Typen der Wiederverwendung

[Lausecker 93]

Page 10: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 10

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Ebenen der Wiederverwendbarkeit:

Produkt-Definition,

Produkt-Entwurf,

Produkt-Implementierung.

• Differenzierung nach dem Anwendungsbereich:

Vertikale Wiederverwendung (im gleichen Anwendungsbereich) und

Horizontale Wiederverwendung (in verschiedenen Anwendungsbereichen).

• Arten der Wiederverwendung:

White-Box-Wiederverwendung und

Black-Box-Wiederverwendung.

Ebenen der Wiederverwendung

Page 11: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 11

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungGliederung.Technik

(1) Zur Problematik: Wiederverwendbarkeit und Wiederverwendung

(2) Technik

(3) Software Produktlinien

(4) Organisation und Management

(5) Kosten/Nutzen

(6) Einführung der Wiederverwendung

Page 12: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 12

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungAbstraktionsniveaus

• Software-Komponenten besitzen einen unterschiedlichen Grad der

Wiederverwendbarkeit in Abhängigkeit ihres Abstraktionsniveaus.

• Abstraktionsniveaus (können alle generisch sein, außer abstrakte Datenobjekte):

Funktionale Abstraktion,

Datenabstraktion,

Klassen mit Vererbung und Polymorphismus.

Page 13: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 13

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Vorteile

• Gut geeignet für einige ausgewählte Anwendungsbereiche

wie z.B. Mathematische Bibliotheken

• Abstraktionsniveau zu gering

• Funktionaler Blickwinkel nicht allgemein genug

• Trennung von Wert bzw. Zustand und seiner Bearbeitung

• Unflexibler Parametermechanismus

• Generische, funktionale Abstraktion wird nur von wenigen Programmiersprachen unterstützt.

Nachteile

Funktionale Abstraktion: Charakteristika

• Die funktionale Abstraktion besitzt für die Wiederverwendung folgende

Charakteristika:

Page 14: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 14

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Vorteile

• Gut geeignet für viele Anwendungsbereiche

• Hoher Allgemeinheitsgrad durch Typparametrisierung

• Leicht verständlich

• Nur anwendbar bei streng typisierten Sprachen

• Nicht so allgemein wie die Vererbung

Nachteile

Datenabstraktion

• In der Datenabstraktion werden Attribute und Operationen zu einer Einheit

zusammengefasst (Kapselung und Geheimnisprinzip), so dass der Nachteil der

funktionalen Abstraktion aufgehoben ist.

Page 15: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 15

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Vorteile

• Vererbung erlaubt Spezialisierung durch black-box- Wiederverwendung• Der Anteil neuen Codes ist minimal, wenn zusätzliche Eigenschaften hinzugefügt werden.

• Bei OO-Systemen wird die systeminhärente Komplexität zum großen Teil auf die Dynamik des Systems, also auf die Kommunikation zwischen den Objekten verlagert

Das System ist anhand des Quellcodes schwer zu verstehen.• Führt zu unübersichtlichen Vererbungshierarchien, wenn die Vererbung über viele Ebenen.

Nachteile

Objektorientierte Komponenten

• Aus Wiederverwendungssicht besitzen Klassen folgende Charakteristika.

Page 16: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 16

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungWeitere Konzepte

• Offensichtlich hat das Klassenkonzept Grenzen, die die intensive

Wiederverwendung von Geschäftsklassen wie z.B. Kunde, Konto oder Auftrag

bisher verhindern.

• Um die Wiederverwendung größerer Einheiten zu ermöglichen, wurden folgende

Konzepte entwickelt.

Frameworks

Patterns (Analyse- und Entwurfsmuster)

Componentware (Halbfabrikate)

Plattformen

• Diese Systeme ermöglichen es zunehmend Teilsysteme und

Referenzarchitekturen wiederzuverwenden.

Page 17: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 17

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungGliederung.Organisation und Management

(1) Zur Problematik: Wiederverwendbarkeit und Wiederverwendung

(2) Technik

(3) Software Produktlinien

(4) Organisation und Management

(5) Kosten/Nutzen

(6) Einführung der Wiederverwendung

Page 18: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 18

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungTypen von Produkten

• Individuelle Produkte

Im Software Engineering → Induvidualsoftware

teuer

• Standardprodukte

Standardsoftware

besitzt keine Diversifikationsmöglichkeiten

• Klassisches Beispiel Fahrzeug-Serien-Produktion

• Produktfamilie = Produktlinie

• Beispiel für Softwareproduktlinien:

Unternehmen, welche eine Kern-Applikation entwickeln und diese für verschiedene

Kunden anpassen.

Open Source Projekte

Page 19: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 19

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Software-Produktlinien: Domain + Application

• Domain Engineering ist der Prozess, in dem die Gemeinsamkeiten und die

variablen Merkmale der Produktfamilie definiert und realisiert werden.

• Application Engineering ist der Prozess, in dem die Anwendungen durch

Wiederverwendung der Domänenprodukte und der Produktlinienvariabilität

erstellt werden.

Domain Engineering (heavy weight)

Application Engineering (agil)

Software-Produktlinien - Motivation

Page 20: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 20

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungZiele der Produktlinienentwicklung

• Reduktion der Entwicklungskosten

• Verbesserung der Qualität

• Kürzere Entwicklungszeiten

• Reduktion des Wartungsaufwands

• Beherrschung der Produktevolution

• Beherrschung der zunehmenden Komplexiät

• Verbesserung der Kostenabschätzung

• Gemeinsames look and feel aller Produkte der Produktfamilie

• Höhere Qualität zu geringen Preisen

Page 21: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 21

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungEntwicklungskosten: Einzelprodukt vs. Produktlinie

[Quelle: Pohl, Böckle, van der Linden 2005, S.10]

Page 22: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 22

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungMarkteintritt mit bzw. ohne Produktlinie

[Quelle: Pohl, Böckle, van der Linden 2005, S.11]

Page 23: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 23

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungDomain- und Application-Engineering

[Quelle: Balzert 2008, S.549]

Page 24: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 24

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungModellierung von Variabilität

• Feature Modell

eines Speicher-

managers

Page 25: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 25

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungEntwurf und Implementierung von Feature

Page 26: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 26

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungSoftware Produktlinien: Bewertung

• Geeignete Komponenten werden nur einmal entwickelt oder gefunden.

• Keine Code-Anpassungen und Verbindungscode.

• Keine Kompromisse bezogen auf überflüssige oder fehlende Funktionalität

• Effiziente Fertigung einer große Anzahl von Varianen kann in kürzester Zeit

• Zunächst höhere Kosten für das Domain-Engineering

• Mangelnde Werkzeugunterstützung

• Definition von Anforderungen über die Anwendungskrenzen hinweg ist

schwierig.

+

-

Page 27: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 27

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungGliederung.Organisation und Management

(1) Zur Problematik: Wiederverwendbarkeit und Wiederverwendung

(2) Technik

(3) Software Produktlinien

(4) Organisation und Management

(5) Kosten/Nutzen

(6) Einführung der Wiederverwendung

Page 28: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 28

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungOrganisation in der Wiederverwendung

• Wiederverwendung muss organisiert werden.

• Die Organisation muss folgende Bereiche umfassen:

Aufbau, Einrichtung und Betrieb eines Wiederverwendbarkeitsarchivs

Evolutionäre Verbesserung der Wiederverwendung

Einbettung der Wiederverwendung in das Prozessmodell

Page 29: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 29

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungWiederverwendbarkeitsarchiv

• Jeder Mitarbeiter soll von seinem Arbeitsplatz über Netz aufs Archiv zugreifen können.

• Ein Wiederverwendbarkeitsarchiv kann:

Ein eigenständiges Archiv,

Integriert in eine wiederverwendungsorientierte CASE-Umgebung oder

ein Wissenmanagement-System sein.

• Zum Information Retrieval in einem Wiederverwendbarkeitsarchiv gehört ein geeignetes

Dokumentenklassifikationsverfahren (siehe [Zendler 95]).

• Eine Archivverwaltung muss folgende Dienste zur Verfügung stellen:

Aufbauen der Klassifikationssysteme,

Klassifizieren und Retrieval der Komponenten und Teilsysteme,

Export von Komponenten

Berichte über Klassifizierungssysteme und über Komponenten

Page 30: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 30

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Spezialisiertes Information Retrival-System

WiederverwendbareKomponenten oder

Teilsysteme

Zeit

Projekt B

Defin

ition

Entw

urf

Implem

ent.

Abn. &

Ein

f.

Wartg

& P.

Projekt C

Konzept des Wiederverwendbarkeitsarchivs

Archiv-verwalter

Projekt A

Page 31: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 31

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungWiederverwendungsorientierte CASE-Umgebungen

• Solche CASE-Umgebungen mit integriertem Wiederverwendbarkeitsarchiv müssen

zusätzliche Anforderungen erfüllen ([Lindner 96]):

Die Verwendung einer Komponente als black-box impliziert die Verwaltung einer

Beziehung der Art „nutzt“, um Änderungen an der Originalkomponente der nutzenden

mitzuteilen.

Die Verwendung einer Komponente als white-box impliziert, dass jede der nutzenden

Anwendungen ihre eigene Version aus der Komponente ableiten und weiterentwickeln

kann.

Unterstützung der Montage von Anwendungen aus Komponenten.

Online-Verwaltung aller Ergebnisse aller Werkzeuge während der gesamten

Entwicklungszeit.

Konfigurations- und Änderungsverwaltung der wiederverwendbaren Komponenten.

Page 32: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 32

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Evolutionäre Verbesserung der Wiederverwendung [Kauba 97] [Rezagholi95]]

Reifegrad Wiederverwendung in %

Anforderungen

5 Organisationsweite Wiederverwendung

80-100% Bereichsanalysen und -architekt-uren

4 Konsequente Wiederverwendung

50-70% Bibliotheken, Prozesse, Metriken, Training, Domänenmodell

3 Entwicklung für Wiederverwendung

30-40% Zustimmung und Unterstützung vom Management, Motivations-programme, Bibliotheken

2 Wiederverwendungverfügbarer Software

10-50% Glück und Wartungsprobleme

1 Ad-hoc Wiederver-verwendung

< 20% Keine organisatorischen Änderungen

Evolutionäre Verbesserung der Wiederverwendung

Page 33: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 33

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungWiederverwendungsorientiertes Prozessmodell

• Ist eine notwendige Voraussetzung für die Etablierung von Wiederverwendung.

• In allen Entwicklungsphasen wird sowohl nach geeigneten Komponenten gesucht als

auch neue wiederverwendbare Komponenten klassifiziert und im Archiv abgelegt.

• Mögliche Quellen von Komponenten:

Eigenes Archiv.

Externer Komponentenmarkt.

• Beim Kauf von Komponenten müssen folgende Tätigkeiten durchgeführt werden:

Auflistung der heutigen und zukünftigen Anforderungen,

Prüfen, ob die Komponenten ausreichend parametrisiert sind,

Ermitteln ob mit Werkzeugen die Komponenten evaluiert, angepasst und gewartet

werden können,

Restliche Aspekte der Nutzung der Komponenten klären.

Page 34: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 34

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungManagementfragen

• Kernfrage des heutigen Managements bei der Entwicklung eines neuen Software-Produkts:

Wo hat bereits jemand ein ähnliches Problem gelöst, und wie bekomme ich die

Problemlösung?

• Die Sicherstellung der Wiederverwendung von Komponenten wird in Zukunft eine der

Haupttätigkeiten des Managements.

• Die Aufgabe des Software-Managers besteht vor allem darin eine Wiederverwendbarkeits-

Kultur zu etablieren.

• Folgende Fragen müssen vom Management beantwortet werden: [Tempel96]

Wer zahlt für die Entwicklung einer wiederverwendbaren Komponente?

Wer übernimmt die Wartungsverpflichtung?

Was gewinnt derjenige, die eine wiederverwendbare Komponente zu Verfügung stellt.

Page 35: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 35

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungGliederung.Kosten/Nutzen

(1) Zur Problematik: Wiederverwendbarkeit und Wiederverwendung

(2) Technik

(3) Software Produktlinien

(4) Organisation und Management

(5) Kosten/Nutzen

(6) Einführung der Wiederverwendung

Page 36: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 36

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Faustregeln

• Formel 3 (nach [Lanergan, Grasso 84], [Biggerstaff 94]):

Software muss dreimal eintwickelt werden, bevor sie wirklich wiederverwendbar

entwickelt werden kann.

Bevor die Früchte der Wiederverwendung geerntet werden können, muss Software

dreimal wiederverwendet werden.

• Nach [Levine 93] sind die Erstellungskosten von wiederverwendbaren Komponenten

60% höher. Diese sind folgendermaßen aufgeteilt:

25% für zusätzliche Verallgemeinerung,

15% für zusätzliche Dokumentation,

10% für zusätzliches Testen,

5% Mehraufwand für Archivablage und Wartung.

Kosten und Nutzen der Wiederverwendung

Page 37: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 37

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

0% 25% 50%

Gesamtzeit in MMAnzahl der MitarbeiterKosten je ZeileZeilen pro MMErsparnis

81,5840,751650%

45622,526345%

3251637061%

0% 10% 30% 50% 80%

Gesamtzeit in MMErsparnis

2000%

17612%

13134%

8956%

3384%

Wiederverwendung und Gesamtproduktivität

Wiederverwendung und Gesamtproduktivität: Beispiel

Nach [Jones 86]

Nach [Love 88]

Wiederverwendungsrate

Wiederverw.-rate

Page 38: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 38

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Investitionen in Wiederverwendbarkeit

Kosten/Nutzen Relation der Wiederverwendung

Netto-Gewinn

Netto-Verlust

Aktivitäten des Wiederverwendbarkeits-Produzenten

Aktivitäten des Wiederverwendbarkeits-Verbrauchers

Kosten mitWiederver-wendung

Geschätzte Kosten ohne Wiedervewendung

Einspa-rungen

Kosten mitWiederver-wendung

Geschätzte Kosten ohne Wiedervewendung

Einspa-rungen

Kosten/Nutzen Relation

Page 39: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 39

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

∑ ∑= =

−=k

i

k

iiii mon

1 1

)(

Return on Investment

• Eine Investition in die Wiederverwendung ist kosteneffektiv wenn

K < N

wobei K die Gesamtkosten für die Investition sind und N die Einsparungen darstellen.

• Der Nutzen ist folgendermaßen definiert:

N =

wobei ni die Einsparungen für die Aktivität i sind, o

i die geschätzten Kosten für die Aktivität i

ohne Wiederverwendung und mi die Kosten für i mit Wiederverwendung. K ist die Anzahl der

Aktivitäten die für eine entsprechende Investition tangiert sind.

• Die Kosten/Nutzen Relation (auch Return-on-investment , RoI) genannt ergibt sich zu:

R= N/K

• R < 1 → Verlust

Page 40: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 40

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Strategien

Anteil der Wiederverwendung erhöhen

Investitionskosten, die nötig sind, um einen Wieder-verwendbarkeitsnutzen zu erzielen, reduzieren

Durchschnittliche Kosten für die Wiederverwendung reduzieren

Kosteneffektive Wiederverwendung

• Um die Wiederverwendung kosten-effektiv zu machen, muss R möglichst groß

gemacht werden.

• Drei mögliche Strategien:

Page 41: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 41

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Metriken…

Zur Kosten/Nutzen Analyse

Zur schätzung der Wiederverwendbarkeit einer Komponente

Zur Einordnung in ein Reifegradmodell

Zur Benutzung des Wiederverwendbar-keitsarchiv

Zur Berechnung der Wiederwendungs-hindernisse

Zum Grad der Wiederwervendung

Metrikkategorien

• 6 mögliche Metrikkategorien zum Messen verschiedener Aspekte der

Wiederverwendung nach [Frakes, Terry 96].

Page 42: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 42

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungGliederung.Einführung der Wiederverwendung

(1) Zur Problematik: Wiederverwendbarkeit und Wiederverwendung

(2) Technik

(3) Software Produktlinien

(4) Organisation und Management

(5) Kosten/Nutzen

(6) Einführung der Wiederverwendung

Page 43: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 43

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

• Orientiert man sich an ein Reifegrad-Modell, dann besteht die erste Aufgabe

darin, die Ist-stufe zu ermitteln.

• Anschließend ist dann eine Planung aufzustellen, wie man schrittweise die jeweils

nächste Stufe erreicht.

• Erfahrungen haben gezeigt, dass Anforderungen an Komponenten –zumindest

am Anfang- nicht zu hoch sein dürfen ([Kauba 97]).

• Wesentlich für die Akzeptanz von Wiederverwendung ist ein überzeugtes

Management, das Wiederverwendung als Mittel zur Erleichterung der allgemeinen

Unternehmensziele betrachtet.

• Wiederverwendung impliziert einen Wandel der Entwicklungstätigkeit: vom

schreibenden Entwickler zum lesenden, evaluierenden und kreativ

komponierenden Software-Architekten.

Einführung der Wiederverwendung

Page 44: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 44

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. Wiederverwendung

Ökonomisch• fehlendes Commitment• unklare Geschäftsstrategie• Investitionshöhe• Aufwandsgeschäft• fehlende Nutzungs- und Verwertungs- rechte.

Organisatorisch• Im Prozess nicht vorgesehen• Verantwortung nicht zugewiesen• Fehlender Katalysator• Fehlende Infrastruktur

Soziologisch• Not-invented-here-Syndrom• Widerstand gegen Veränderungen• Existenzängste• Selbstverständnis des Entwicklers/ geändertes Rollenbild

Technisch• Fehlende Erfahrung mit praktischen Anwendungen• Mangelndes Know-How• Schwächen im SW-Engineering- Prozess• Fehlende Tools

Potentielle Hindernisse bei der Einführung

• Potentielle Hindernisse bei der Einführung (vgl. [Kauba 97]):

Page 45: Vorlesung Software-Managementbis.informatik.uni-leipzig.de/de/Lehre/1011/SS/LV/SWM/files?get=20… · Bereitstellen wiederverwendbarer Software. Wiederverwendung (reuse): Einsatz

Prof. Dr. K.-P. Fähnrich / Thomas Riechert 45

Institut für InformatikBetriebliche Informationssysteme

14.06.2011

SWM. WiederverwendungLiteratur

• [Biggerstaff 94] Biggerstaff T.J., Is Technology a Second Order Term in reuse‘s Success

Equation, in Proceedings of Third International Conference on Software Reuse

• [Frakes, Terry 96] Frakes W., Terry C., Software Reuse: Metrics and Models, ACM Computing

Survey

• [Jones 86] Jones C., the Impact of Reusable Models and Functions, Mc Grow-Hill

• [Kauba 97] Kauba, E., Wiederverwendung als Gesamtkonzept, Objektspektrum

• [Lanergan, Grass 84] Lanergan R.G., Grasso C.A., Software Engineering with Reusable Design

and Code, in IEEE Transactions on Software Engineering.

• [Lindner 96] Lindner U., Massive Wiederverwendung, Objektspektrm

• [Levine 93] Levine T., Reusable Software Components, ACM Ada Letters

• [Love 88] Love T., The Enconomic of Reuse, IEEE COMPCON

• [Weber 92] Weber H., Die Software-Krise und ihre Macher, Springer-Verlag

• [Zendler 95] Zendler A., Konzepte, Erfahrungen und Werkzeuge zur Software-Wiederverwendung,

Tectum-verlag.