3. Vorgehensmodelle Software Engineering Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen 23.10.2006, Seite 2
Einordnung in den Kontext der Vorlesung 1. Einführung 2. Projektmodell 3. Vorgehensmodelle 4./5. Unified Modeling Language (UML) 6. Analyse-Phase: Geschäftsprozesse 7. Analyse-Phase: Datenmodellierung 8. Analyse-Phase: Dialoge 9. Design-Phase 10. Programmierungs-Phase 11. Test- / Integrations-Phase, Einführung 12. Projektmanagement 13. Qualitätsmanagement 23.10.2006, Seite 3
Übersicht Vorgehensmodelle in der betrieblichen Praxis Wenn mit Software-Entwicklung befasste Unternehmen sich überhaupt auf Vorgehensmodelle stützen, sind es einer Erhebung des Bundesforschungsministeriums zufolge meist firmeneigene grobe Richtlinien. Am verbreitesten sind in Deutschland der Rational Unified Process (RUP) und das V-Modell. Quelle: http://www.informationweek.de/index.php3?/channels/channel19/011638.htm 23.10.2006, Seite 4
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen 23.10.2006, Seite 5
V-Modell Das V-Modell: Historie Das V-Modell wurde 1992 im Auftrag des Bundesministeriums für Verteidigung (BMVg) entwickelt und wird seit 1996 für den Einsatz bei den Bundesbehörden empfohlen Verwendet wird das V-Modell auch bei diversen Industrie-Firmen (z. B. T-Systems, Deutsche Post, LBS, Quelle-Versicherung) Erfüllt die Norm ISO 9001 und größtenteils die ISO 12207 (Software Life Cycle Process) Aktuelle Version: V-Modell XT (extreme Tailoring) V1.2 23.10.2006, Seite 6
V-Modell Das V des V-Modells Grobentwurf Anwendungsszenarien Testfälle Abnahmetest Systemtest Feinentwurf Testfälle Anforderungsdefinition Modulimplementation Testfälle Integrationstest Modultest 23.10.2006, Seite 7
V-Modell Die Hauptaktivitäten des V-Modells 23.10.2006, Seite 8
V-Modell Zusammenspiel der Hauptaktivitäten 23.10.2006, Seite 9
V-Modell Inkrementelles Vorgehen im V-Modell 23.10.2006, Seite 10
V-Modell Das Prinzip des Tailorings V-Modell Standardisiertes Vortailoring, Tailoring mit Streichbedingungen Fachliches Tailoring Technisches Tailoring Projektspezifische Streichungen und Ergänzungen Werkzeuge für PM, QM, KM, und SE Projekthandbuch Projektplan 23.10.2006, Seite 11
V-Modell Das V-Modell nach einem Projekt-Tailoring 23.10.2006, Seite 12
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen 23.10.2006, Seite 13
Rational Unified Process Historie des Rational Unified Process (RUP) t 2003... 1998 1997 1996 1995 Rational Unified Process 2002 r2 Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 Performance, Testing Business Engineering Objectory UI Design Data Engineering Config. and Change Mgmt. UML 1.2 SQA Process UML 1.0, Requirements UML 0.8 OMT, Booch Rational Approach Objectory Process 3.8 Quelle: Kruchten, The Rational Unified Process 23.10.2006, Seite 14
Rational Unified Process Die Spirale des RUP 23.10.2006, Seite 15
Rational Unified Process Phasen und Workflows (Disziplinen) im RUP 23.10.2006, Seite 16
Rational Unified Process Aufwand der einzelnen RUP-Phasen Inception Elaboration Construction Transition Effort ~5 % 20 % 65 % 10% Schedule 10 % 30 % 50 % 10% 23.10.2006, Seite 17
Rational Unified Process Software-Änderungen: Je später eine Änderung bekannt wird, desto teurer wird sie Quelle: http://www.therationaledge.com/content/dec_01/f_spiritoftherup_pk.html 23.10.2006, Seite 18
Rational Unified Process Menschen, Rollen und Aktivitäten 23.10.2006, Seite 19
Rational Unified Process RUP Artefakte: Business Architecture, Application Architecture, Technical Architecture 23.10.2006, Seite 20
Rational Unified Process Werkzeugeinsatz: Artefakte des RUP werden in einem zentralen Modell-Repository abgelegt Klassen Zustände Komponenten Szenarien UML-Modell Anwendungsfälle Verteilung 23.10.2006, Seite 21
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen 23.10.2006, Seite 22
Extreme Programming Extreme Programming (XP): das etwas andere Vorgehensmodell XP is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software Kent Beck 23.10.2006, Seite 23
Extreme Programming Das Manifest für agile Softwareentwicklung Wir bevorzugen: Menschen und Zusammenarbeit vor Prozessen und Werkzeugen Funktionierende Software vor umfassender Dokumentation Zusammenarbeit mit dem Kunden vor vertraglicher Verhandlung Reaktion auf Veränderung vor Einhaltung eines Plans Das heißt, während die Punkte auf der Rechten wertvoll sind, wertschätzen wir die Punkte auf der Linken mehr 23.10.2006, Seite 24
Extreme Programming Das XP Projektmodell Quelle: http://www.extremeprogramming.org/map/project.html 23.10.2006, Seite 25
Extreme Programming XP: Der Code gehört allen (Collective Code Ownership) Quelle: http://www.extremeprogramming.org/map/project.html 23.10.2006, Seite 26
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen 23.10.2006, Seite 27
Fazit, Literatur, Kontrollfragen Fazit: Vorgehensmodelle sind wichtig, aber mit Sinn und Verstand anzuwenden Ein etabliertes Vorgehensmodell ist entscheidend für die erfolgreiche Durchführung von (Software-)Projekten Das V-Modell ist im öffentlichen Sektor und in Großunternehmen verbreitet. Es wird ständig vom Wasserfall-Modell zu einem iterativen Modell weiter entwickelt Der Rational Unified Process (RUP) ist ein modernes, iteratives Vorgehensmodell. Es wird vornehmlich in Projekten mit objekt-orientierter Technologie eingesetzt Extreme Programming (XP) ist eine Strömung gegen schwergewichtige Vorgehensmodelle. Die Prinzipien sind für kleine Projekte valide Jedes Vorgehensmodell muss auf den aktuellen Projekttyp angepasst werden. Wichtiger als stures Vorgehen nach Vorschrift ist ein den Gegebenheiten entsprechendes Handeln im Geiste eines Vorgehensmodells 23.10.2006, Seite 28
Fazit, Literatur, Kontrollfragen Links und Literaturempfehlungen http://www.vorgehensmodelle.de/: Seite der Gesellschaft für Informatik http://www.v-modell.iabg.de/ : V-Modell http://www.extremeprogramming.org/ : Extreme Programming Philippe Kruchten, Der Rational Unified Process. Eine Einführung, Addison- Wesley, 1999. T. Mey, A. Essigkrug, RUP kompakt, Spektrum Akademischer Verlag, 7/2003. Kent Beck, Extreme Programming Explained: Embrace Change, Addison- Wesley Professional, 1999. Kent Beck, Martin Fowler, Planning Extreme Programming, Addison Wesley, 2000. Giancarlo Succi, Michele Marchesi, Extreme Programming Examined, Addison-Wesley Professional, 2001. Pete McBreen, Questioning Extreme Programming (XP Series), Addison Wesley Longman, 2002. 23.10.2006, Seite 29
Fazit, Literatur, Kontrollfragen Kontrollfragen Wo wird das V-Modell vorwiegend eingesetzt? Woher kommt der Name V-Modell? Was sind die Hauptaktivitäten des V-Modells? Wie spielen sie zusammen? Was ist das Tailoring des V-Modells? Wie funktioniert es? Inwiefern ist der Rational Unified Process (RUP) ein Spiralmodell? Wie spielen Phasen und Workflows des RUP zusammen? Wie verhalten sich die Kosten für Software-Änderungen über die Phasen? Was sind die Unterschiede zwischen Business Architecture, Application Architecture und Technical Architecture? Was ist Extreme Programming (XP)? Was sind die Kernausssagen (Manifest für agile Software Entwicklung)? In welchem Kontext ist welches Vorgehensmodell empfehlenswert? 23.10.2006, Seite 30