2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Einordnung in den gesamten Kurs 1. Einführung 2. Vorgehensmodelle 3. Analyse-Phase: Anwendungsfälle 4. Analyse-Phase: Datenmodell 5. Analyse-Phase: Dialoge 6. Design-Phase: Architektur-Grundlagen 7. Design-Phase: Referenzarchitektur betriebliche Informationssysteme 8. Design-Phase: Querschnittsthemen und Muster 9. Programmierungs-Phase 10. Modellgetriebene Entwicklung 11. Testphase, Einführung, Qualitätsmanagement, Konfigurationsmanagement 12. Projektmanagement 2 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Unified Modeling Language Fazit, Literatur, Kontrollfragen
Ü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 4 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Unified Modeling Language Fazit, Literatur, Kontrollfragen
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.3 6 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
V-Modell Das V des V-Modells Grobentwurf Anwendungsszenarien Testfälle Abnahmetest Systemtest Feinentwurf Testfälle Anforderungsdefinition Modulimplementation Testfälle Integrationstest Modultest 7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
V-Modell Die Hauptaktivitäten des V-Modells 8 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
V-Modell Zusammenspiel der Hauptaktivitäten 9 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
V-Modell Inkrementelles Vorgehen im V-Modell 10 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
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 11 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
V-Modell Das V-Modell nach einem Projekt-Tailoring 12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Agenda Agenda Übersicht V-Modell Rational Unified Unified Process Process Extreme Programming Unified Modeling Language Fazit, Literatur, Kontrollfragen
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 14 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Rational Unified Process Die Spirale des RUP 15 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Rational Unified Process Phasen und Workflows (Disziplinen) im RUP Engineering Disciplines Supporting Disciplines 16 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Rational Unified Process Aufwand der einzelnen RUP-Phasen Inception Elaboration Construction Transition Effort ~5 % 20 % 65 % 10% Schedule 10 % 30 % 50 % 10% 17 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
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 18 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Rational Unified Process RUP Artefakte: Business Architecture, Application Architecture, Technical Architecture 19 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Rational Unified Process Werkzeugeinsatz: Artefakte des RUP werden in einem zentralen Modell-Repository abgelegt Klassen Zustände Komponenten Szenarien UML-Modell Anwendungsfälle Verteilung 20 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Unified Modeling Language Fazit, Literatur, Kontrollfragen
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 22 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
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 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Extreme Programming Das XP Projektmodell Quelle: http://www.extremeprogramming.org/map/project.html 24 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Extreme Programming XP: Der Code gehört allen (Collective Code Ownership) Quelle: http://www.extremeprogramming.org/map/project.html 25 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Unified Unified Modeling Language Language Fazit, Literatur, Kontrollfragen
Übersicht Was ist UML? The Unified Modeling Language (UML) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. It simplifies the complex process of software design, making a "blueprint" for construction. [http://www.rational.com/uml] Die UML kann in allen Phasen des Software-Lebenszyklusses (von Analyse bis zum Test) in Ergänzung zu textuellen Beschreibungen eingesetzt werden [Jeckle-2004]. Achtung: die UML spezifiziert Notationselemente und kein Vorgehen! 27 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Übersicht Historie der UML OMT, OMT-2 (Rumbaugh) Booch OOSE (Jacobson) Unification u.a. UML v0.8 (Oktober 1995) UML v1.0 (Juli 1997) UML v1.3 UML v1.4 UML v2.0 (2003/2004) t Die OMG wurde 1989 gegründet und ist ein Gremium mit ca. 800 Mitgliedern. Die OMG ist u. a. verantwortlich für die Spezifikation/Weiterentwicklung der UML. semantische Präzisierung, Abgleich mit Meta Object Facility aktuelle Version: UML 2.2 28 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Übersicht UML-Strukturdiagramme Klassendiagramm Objektdiagramm Paketdiagramm Kompositionsstrukturdiagramm Komponentendiagramm Verteilungsdiagramm 29 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Übersicht UML-Verhaltensdiagramme Zustandsdiagramm Anwendungsfalldiagramm Aktivitäts diagramm Sequenzdiagramm Kommunikationsdiagramm Timingdiagramm Interaktionsübersichtsdiagramm 30 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Werkzeuge Auf dem Markt gibt es zahlreiche UML-Werkzeuge (Übersicht unter http://jeckle.de/umltools.html) 31 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Unified Modeling Language Fazit, Fazit, Literatur, Kontrollfragen
Fazit, Literatur, Kontrollfragen Fazit Ein etabliertes Projektvorgehen 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 Allen Vorgehensmodellen gemein sind Phasen Analyse, Design, Programmierung, Test und Einführung Vorgehensmodelle geben nur einen Rahmen und Terminologie. Sie machen keine Aussage über erfolgreiche Analyse-Muster, gutes Design etc. Dies ist jedoch entscheidend und daher wesentlicher Gegenstand dieser Vorlesung Die Unified Modeling Language (UML) ist ein de facto Standard. Wir verwenden sie durchgängig in Vorlesung und Praktikum 33 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
Fazit, Literatur, Kontrollfragen Links und Literaturempfehlungen 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. 34 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009
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? Was ist die UML? 35 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 6.10.2009