Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University...
-
Upload
elsabeth-laubach -
Category
Documents
-
view
107 -
download
3
Transcript of Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University...
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Vorgehensmodelle
Motivation
Softwaretechnik
Beispiel
Kernaussagen des PMs und der QS
Vorgehensmodelle Wasserfall-Modell V-Modell Rational Unified Process
Requirements Engineering
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Motivation
Nach Laprie 1999: 1/3 der Projekte wird zur Zufriedenheit der Kunden und
des Anbieters durchgeführt 1/3 der Projekte überzieht Zeit und Kosten, liefert nur
Teilfunktionalität, Programme instabil 1/3 der Projekte scheitert ganz
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Lösungsansätze der Softwaretechnik
bessere Software-Ingenieure
bessere Programmiersprachen
Objektorientierte Entwurfsmethoden
Bessere Werkzeuge
Formale Methoden
Wiederverwendung
Reengineering
besseres Projektmanagement Prozessmodelle, Vorgehensmodelle, Konfigurationsmanagement
aber: „No silver bullet“ F.Brooks, IEEE Computer 1987
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Wasserfallmodell
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
SE im V-Modell
OO Softwareentwicklung inkrementell prototypisch iterativ Use-Cases driven Architekturbeschreibung durch Klassendiagramme
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
V-Modell
Submodule Projektmanagement Qualitätssicherung Softwareentwicklung Konfigurations-
Management
definiert Rollen
beschreibt Aktivitäten und Produkte
definiert Werkzeuge
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Der Unified Process [JBR]
objektorientiert
benutzt die UML
Use-Case driven
inkrementell und iterativ
Architektur basiert
Phasen Konzeptionsphase (englisch Inception) Entwurfsphase (englisch Elaboration) Konstruktionsphase (englisch Construction) Übergabephase (englisch Transition)
Arbeitsschritte ähnlich dem Wasserfallmodell
beschreibt Rollen / Aktivitäten / Dokumente / Produkte
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Der Unified Process
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Requirements Capturing
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Requirements Refinement
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Die Probleme des Requirements Engineering
Der Kunde weiß im allgemeinen nicht was er will
"Den Kunden" gibt es eigentlich nicht, unterschiedliche Interessensgruppen auf Kundenseite
Business Model meist nicht vorhanden
Einzelne Kundenvertreter kennen oft nur Ausschnitt des eigenen Business Models
Das Business Model ist ein "Moving Target"
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Lösungsansätze
Berater / Consultants vor Experten in der Erstellung von Business Models das alleine ist früher oft gescheitert
Vertreter vor dem Kunden passendes Problem zum eigenen Produkt einreden
Iterative Prozesse erste Teilfunktionalitäten werden früh vom Kunden evaluiert
eXtreme Programming Kunde definiert Anforderungen selbst Kunde formalisiert Anforderungen mittels Tests Kunde priorisiert Anforderungen Kunde evaluiert jede Teilfunktionalität sofort Kunde hat im Zweifel selber Schuld
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Qualitätssicherung: Ein an den Haaren herbeigezogenes Beispiel
(siehe [Klaus Pohl, erstes Kapitel]) Eine Firma stellt Diaprojektoren her. Wenn ein Kunde an einem Gerät einen Defekt feststellt, dann kann er
das Gerät innerhalb von 14 Tagen anstandslos umtauschen oder reparieren lassen.
Die Firma ist für Kulanz und guten Kundendienst berühmt. Alle sind glücklich und zufrieden. Eines Tages stellt das Controlling fest, dass der Absatz zurückgeht. Die Projektoren kosten ungefähr das Doppelte wie vergleichbare
Geräte der Konkurrenz. Man stellt fest, dass fast die Hälfte der Kosten vom Kundendienst
verursacht werden. Der häufigste Defekt sind kaputte Birnen bei 16 % der neu ausgelieferten Geräte. Ein Techniker fährt zum Kunden und ersetzt die Birne.
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Fortsetzung Beispiel
Die Firma führt eine explizite Abschlusskontrolle aller Geräte vor Auslieferung ein. Eine eigene Testabteilung prüft alle Geräte und führt gegebenenfalls Reparaturen durch. Bei 14 % der Geräte ersetzt die neue Testabteilung kaputte Birnen. Die Fehlerrate bei Kunden sinkt auf 2%. Die Kundendienstabteilung kann um 87,5 % verkleinert werden. Alle sind glücklich und zufrieden. Nur der Absatz geht immer noch zurück. Die Projektoren kosten ungefähr 50 % mehr als vergleichbare Geräte der Konkurrenz Man wirbt zu horrenden Kosten einen Mitarbeiter der Konkurrenz ab und stellt fest, dass die
eigene Test- und Reparaturabteilung 33 % der Mitarbeiter beschäftigt, bei der Konkurrenz sind es nur 5 %.
Die meiste Zeit geht für’s Birnenwechseln drauf.
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Fortsetzung Beispiel
Die Firma überprüft den Mitarbeiter, der die Birnen in der Fertigung einbaut. Direkt nach dem Einbau sind nur 1 % der Birnen defekt. Weitere Überprüfungen ergeben, dass die Birnen auf dem Weg von der Vormontage zur
Gehäusemontage kaputt gehen:
Die Stufe im Förderband wird ausgebaut. Die Fehlerrate bei der Testabteilung sinkt auf 1 %. Die Testabteilung kann auf 7 % ihrer Größe verkleinert werden. Alle sind glücklich und zufrieden, nur . . .
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Kernaussagen des Projektmanagements und der Qualitätssicherung
Wartung und Fehlerbehebung sind die Hauptkostenpunkte Qualitätsverbesserung senkt die Kosten
Qualitätsverbesserung muss am Herstellungsprozess ansetzen( Qualitätssicherung und Projektmanagement sind eigentlich das gleiche)
Grundlagen für die Prozessverbesserung sind: Messungen, Metriken, Controlling, Prüfungen, . . . klar definierte Prozesse => projektübergreifende
Vergleichbarkeit (formale Prozessdefinition) Planung und Überwachung der Prozessausführung Management Commitment …
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Literatur zu Vorgehensmodellen
Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Software Development Process, Addison Wesley 1999 (relativ wichtiges Standardwerk)
Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit UML; Springer 2000 (finde ich ziemlich gut)
Klaus Pohl: Process Centered Requirements Engineering; Wiley, 1996, ISBN 0 86380 193 5
Watts Humphrey: The Personel Software Process
Kent Beck: Extreme Programming Explained