Software Engineering (SE) 2) Phasenübergreifende Verfahren Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik Kontakt: [email protected] Studiengang IBac 1 © Prof. Dr. A. Metzner, 2014 (Stand: 01.10.2014) Gliederung 1. 2. 3. Vorgehensmodelle Projektplanung Projektmanagement 2 Prof. Dr. A. Metzner 1. Vorgehensmodelle Was ist ein Vorgehensmodell? Die Software Factory als Fließbandfabrik Quelle: [John-Harry Wieken, 1990] "Software-Produktion" Prof. Dr. A. Metzner 3 1. Vorgehensmodelle Was ist ein Vorgehensmodell? Abstrakte Darstellung – Modell - für das Vorgehen während des Prozesses des SE Stellt die Lebenszyklen von SW dar Legt Aktivitäten fest Gibt eine Reihenfolge der Aktivitäten vor Die Aktivitäten werden zu Phasen zusammengefasst Jede Phase hat Phasenziele Aktivitäten und Rollenzuordnungen Dokumentation Methoden, Richtlinien, Konventionen, Werkzeuge und Sprachen 4 Prof. Dr. A. Metzner 1. Vorgehensmodelle Übersicht Wasserfall modell -Original -Verbessert: Inkrementell, Iterativ -iterativ -Prototyping V-Modell -Testintegration -Bausteinsystem -Kommerziell Prof. Dr. A. Metzner RUP (Rational Unified Process) Spiralmodell Agiles Modell -kurze Sprints -User Stories 5 1. Vorgehensmodelle Die SE Phasen die alle Vorgehensmodelle beinhalten • Problemdefinition Planungsphase • Anforderungen • Spezifikation Definitionsphase Designphase zeitlicher Ablauf • Entwurf (Modell) • System Design Implementationsphase • SW Entwicklung Abnahme- und Einführungsphase • Verifkation und Testen Wartungsphase 6 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das Wasserfallmodell (Royce, 1970) Planungsphase Definitionsphase Designphase Implementationsphase Abnahme- u. Einführungsphase Wartungs- u. Pflegephase 7 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das Wasserfallmodell Beschreibung Aus jeder Phase gehen Dokumente hervor, die reviewed und abgenommen werden Vorgängerphasen sollen abgeschlossen sein Praxis Phasenüberlappungen und Informationsaustausch 8 Prof. Dr. A. Metzner 1. Vorgehensmodelle Verbesserte Wasserfallmodelle Iterativ Planungsphase Definitionsphase Designphase Inkrementell Implementationsphase Abnahme- u. Einführungsphase Planungsphase Wartungs- u. Pflegephase Definitionsphase Designphase Implementationsphase Abnahme- u. Einführungsphase Prof. Dr. A. Metzner Wartungs- u. Pflegephase 9 1. Vorgehensmodelle Verbesserte Wasserfallmodelle Beschreibung Wie Wasserfallmodell aber Wiederholung der einzelnen Phasen bei Bedarf Praxis Viele Wiederholungen sind teuer 10 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das V-Modell Modernere Versionen V-Modell 97 V-Modell XT 11 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das V-Modell Beschreibung lediglich Aktivitäten und Ergebnisse werden definiert Keine strikte zeitliche Abfolge Keine Abnahmen am Phasenende Praxis Vorgehensmodell für die Softwareentwicklung für staatliche Organisationen und Behörden in Deutschland Für kleine Projekt oft zu viel Overhead 12 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das Spiralmodell (Böhm, 1988, IEEE) 13 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das Spiralmodell Beschreibung Iterative Behandlung der Phasen Flexibles Modell: Vorgehensmodell für jeden Zyklus und jedes Teilprodukt separat festlegbar 14 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das Spiralmodell Beschreibung Einsatz gut geeignet für Prototyping Praxis Viele Spiralzyklen sind teuer Für große Projekte geeignet 15 Prof. Dr. A. Metzner 1. Vorgehensmodelle Rational Unified Process (RUP) (Firma Rational) Empirischer Sammlung von „best practices“ Iterative Softwareentwicklung Anforderungsmanagement Verwendung komponentenbasierter SW-Architekturen Visuell gestützte SW-Modellierung (UML) Kontrolliertes Änderungsmanagement Eigenschaften Ist Objektorientiert Basiert auf Wasserfallmodell Neue Softwareversion mit jedem Durchlauf des Wasserfalls Iterative Vorgehensweise in Phasen Iterationsschritte innerhalb der Phasen Inkrementelles Wachstum über mehrere Zyklen 16 Prof. Dr. A. Metzner 1. Vorgehensmodelle Rational Unified Process (RUP) 17 Prof. Dr. A. Metzner 1. Vorgehensmodelle Rational Unified Process (RUP) Beschreibung Kommerzielles Vorgehensmodell Best practices umgesetzt Iteratives, inkrementelles, UML-gestütztes Prozessframework Vier Phasen (Konzeptualisierungsphase, Entwurfsphase, Konstruktionsphase, Übergangsphase) mit Milestones Worker, Artefakte und Aktivitäten Kern Workflows werden in unterschiedlichen Anteilen je Phase durchlaufen Ein Workflow ist eine Sammlung von Aktivitäten und wird Workern zugeordnet Praxis Geeignet für große und komplexe Systeme 18 Prof. Dr. A. Metzner 1. Vorgehensmodelle Rational Unified Process (RUP) 19 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell Weiterentwicklung des iterativen Paradigmas, bei der die Planung der Iterationen dynamisch erfolgt stetige Anpassung an Änderungen Hat Prinzipien, z.B. Individuum und Interaktion ist wichtiger als Prozess und Werkzeug Zusammenarbeit mit Kunden ist wichtiger als Vertragsverhandlung Berücksichtigung von Änderungen ist wichtiger als Bestehen auf Plänen Beispiele SCRUM, XP (eXtreme Programming) 20 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell (Hindel et al., Basiswissen SWProjektmanagement, ,dpunkt Verlag, 2006) Prof. Dr. A. Metzner 21 1. Vorgehensmodelle Das agile Modell Beispiel: Projektmanagement 22 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell User Story eine in Alltagssprache formulierte SW-Anforderung. Sie ist bewusst kurz gehalten und umfasst in der Regel nicht mehr als zwei Sätze. Story Map Sprachschablone "Als <Rolle> möchte ich <Ziel/Wunsch>, um <Nutzen>" Beispiel: „Als User möchte ich einen neuen Topic anlegen können“ 23 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell Sprint Backlog 24 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell Der Mensch steht mit im Mittelpunkt Bescheidenheit Respekt Innovation Menschliche Werte Feedback Ehrlichkeit Kommunikation Mut zur Wahrheit 25 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell Prinzipien CCO-Collective Code Ownership 40 h Woche Customer on Site Anforderungen werden erst umgesetzt wenn sie benötigt werden Prinzipien Dokumentation nur wo nötig/viele Bausteine Mehrfache Verwendung von Ressourcen (Wirtschaftlichkeit) Einfachheit (z.B. Konzepte, Sprache) Totale Qualitätsorientierung (ähnlich zu TQM) 26 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell Methoden Code Konventionen Ständige Integration Testgetriebene Entwicklung Methoden Pair-Programming Rapid Code Reviews Automatisierte Buildprozesse Refactoring Story Cards 27 Prof. Dr. A. Metzner 1. Vorgehensmodelle Das agile Modell Beschreibung Leichtgewichtiges Modell (Wasserfall, iterativ, inkrementell, Spiral,...) Praxis Geeignet für kleine Projektteams und kleine, flexible Systeme 28 Prof. Dr. A. Metzner 1. Vorgehensmodelle Alle Vorgehensmodelle: Vorteile 29 Prof. Dr. A. Metzner 2. Projektplanung Wenn nun klar ist wie man vorgehen kann, wie geht es dann nun weiter? Kosten Projekt manage ment Res sourcen Zeit 30 Prof. Dr. A. Metzner 2. Projektplanung Managementaufgaben Erstellung des Angebots Projekt- und Zeitplanung Projektkostenkalkulation Projektüberwachung und Reviews Auswahl und Beurteilung Ressourcen (Personal, Sachmittel) Präsentation und Erstellen von Berichten 31 Prof. Dr. A. Metzner 2. Projektplanung Ablauf Projektplanung 1. 2. 3. Randbedingungen aufstellen Erste Einschätzungen der Projektparameter treffen Meilensteine und Lieferschritte des Projekts definieren 4. 6. 7. 5. 10. 8. 9. 32 Prof. Dr. A. Metzner 3. Projektmanagement DIN-Norm (DIN 69901): „Projektmanagement ist die Gesamtheit von Führungsaufgaben, -organisation, -techniken und -mitteln für die Abwicklung eines Projektes“ Hauptaufgaben des Projektmanagers Terminmanagement Kostenmanagement Inhalt und Umfang der Aufgaben definieren, koordinieren und steuern Personalmanagement Ein Projektmanager hat die Funktion die Erwartungen der Stakeholder zu erfüllen 33 Prof. Dr. A. Metzner 3. Projektmanagement Wissensgebiete des Projektmanagements (PMI: Project Management Institute, http://www.pmi.org/Pages/default.aspx) 34 Prof. Dr. A. Metzner 3. Projektmanagement t Beispiel für zeitlichen Ablauf PM Projekt definieren PM Projekt verfolgen und steuern PM Projektplan erstellen SE Anforderungen analysieren SE PM Projekt abschließen SE Detailkonzept verfeinern Detailkonzept erstellen SE integrieren & testen der Komponenten SE entwickeln der Komponenten SE Installation beim Kunden SE Systemintegration SE Auslieferung vorbereiten Individuelle Komponentenentwicklung Standard Komponentenentwicklung QM QS Testplan erstellen QM Systemtestfälle festlegen QM Systemtest durchführen QM Prüfmethoden & Kriterien festlegen KM KM-Plan erstellen KM Projektbegleitende KM Dienste 35 Prof. Dr. A. Metzner 3. Projektmanagement Gantt-Diagramm (Ablaufplan) 36 Prof. Dr. A. Metzner 3. Projektmanagement Netzplan (Pert-Diagramm, hier: Vorgangsknotennetz) 37 Prof. Dr. A. Metzner Lernziel 1. Was beinhaltet ein Vorgehensmodell? 2. Welche Form der Software Erstellung hat sich durchgesetzt und ist erfolgversprechend? 3. Welche Faktoren eines Softwareprojektes werden beim Projektmanagement betrachtet? 38 Prof. Dr. A. Metzner