Vorgehensmodelle Schwergewichtige Modelle Definition Vorgehensmodelle Beschreibung der systematischen
Vorgehensmodelle: Schwergewichtige Modelle • Definition: Vorgehensmodelle = Beschreibung der systematischen Vorgehensweise bei der Entwicklung von Software-Systemen • Vorgehensmodelle unterteilen Vorgehensweise in überschaubare Abschnitte wie – – – Planung, Analyse, Durchführung, Tests, . . . • Es gibt schwergewichtige und leichtgewichtige Vorgehensmodelle – Schwergewichtig: Strenge Planung zu Beginn. Wenig Änderungen zur Projektlaufzeit. – Leichtgewichtig: Grobe Planung zu Beginn, Feinplanung erfolgt iterativ während des Projektablaufs Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 1
Vorgehensmodelle: Schwergewichtige Modelle • Es gibt verschiedene Vorgehensmodelle, z. B. : – – – – Phasenmodell Wasserfall-Modell V-Modell Spiralmodell Inkrementelle Entwicklung Rational Unified Process (RUP) V-Modell 97 / V-Modell XT Extreme Programming • Weitere Konzepte – (Rapid) Prototyping – Objektorientierung Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 2
Vorgehensmodelle: Schwergewichtige Modelle • Unterscheidung in sequentielle und iterative Vorgehensmodelle 1. Sequenziell: Reihenfolge von Aktivitäten fest vorgegeben – Phasen-Modell – Wasserfall-Modell – V-Modell 2. Iterativ: Es werden immer wieder die gleichen Schritte durchgeführt, bei jeder Iteration wird das Produkt weiterentwickelt – – Spiral-Modell Inkrementelle Entwicklung Rational Unified Process (RUP) Extreme Programming (XP) Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 3
Vorgehensmodelle: Das Phasenmodell • klassisches Modell, das sich an den anfallenden Tätigkeiten orientiert • Grundidee: – – Für ein Projekt werden Phasen definiert; für jede Phase wird festgelegt, welche Ziele erreicht werden sollen die nächste Phase wird erst begonnen, wenn die vorherige Phase abgeschlossen ist. klassische Unterteilung in 5 Phasen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 4
Vorgehensmodelle: Das Phasenmodell Phase I: Analyse und Definition 1. Festlegung und Dokumentation von: 1. Arbeitsschritte (welche) 2. Wechselwirkung zwischen den Arbeitsschritten 3. Ressourcen (z. B. technisch, finanziell, personell, zeitlich, . . . ) 2. Beschreibung des Ist-Zustandes 3. Festlegung der Hauptanforderungen bezüglich 1. 2. 3. 4. Funktionalität Daten Leistungen Qualität Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 5
Vorgehensmodelle: Das Phasenmodell 4. Durchführbarkeitsstudie bezüglich. 1. 2. 3. 4. 5. 6. fachliche Durchführbarkeit alternative Lösungen Risikoabschätzung wirtschaftliche Durchführbarkeit Zeit- und Kapazitätsplanung Terminabschätzung 5. Dokumente 1. Lastenheft 2. Projektplan 3. . weitere Pläne (s. o. ) Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 6
Vorgehensmodelle: Das Phasenmodell 6. Vertragsabschluss 7. Genaue Festlegung der Merkmale des Produktes • Grundlage für die (End)Abnahme des Produktes 8. Dokument: Pflichtenheft (PH); Spezifikation 1. Anforderungsspezifikation: Beschreibung der Anforderungen bezügl. • • Daten Funktionen Dynamik Oberfläche 2. Produktmodule: formalisierte Beschreibung 3. Konzepte der Benutzeroberfläche 4. Benutzerhandbuch Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 7
Vorgehensmodelle: Das Phasenmodell Phase II: Entwurf 1. Festlegung der inneren Struktur des Software Systems 2. Sukzessive Zerlegung in Komponenten, bis Architektur feststeht 3. Festlegung der Aufgaben der einzelnen Komponenten und deren Zusammenwirken 4. Festlegung des logischen Datenmodells Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 8
Vorgehensmodelle: Das Phasenmodell 5. Entwurf • • der algorithmischen Struktur der Validierung der Algorithmen 6. Dokumente: • • • Beschreibung des log. Datenmodells Beschreibung der algorithmischen Struktur Dokumentation der Entwurfsentscheidungen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 9
Vorgehensmodelle: Das Phasenmodell Phase III: Implementierung • Dokumentation: – Implementierungsplan – Codierrichtlinien • • Umsetzung des PH lauffähig auf einem Rechner Verfeinerung der Algorithmen Codierung der Algorithmen Umsetzung des logischen Datenmodells in ein physisches Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 10
Vorgehensmodelle: Das Phasenmodell • Ergebnis: – – – – Programmtext physisches Datenmodell lauffähiges Programm Dokumentation des Quellcodes Beschreibung der Komponenten Beschreibung der Schnittstellen Hinweise zu Algorithmen und deren Umsetzung zur Erstellung von Testspezifikationen Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 11
Vorgehensmodelle: Das Phasenmodell Phase IV: Testphase 1. Verifizierung – – – Erstellen der Testspezifikationen Test der Wechselwirkung der Komponenten unter realen Bedingungen Sicherstellung der Systemspezifikation Prüfung auf nichtoperative Anforderungen (z. B. Effizienz) Abnahmetest mit dem Auftraggeber 2. Validierung – Ist das Produkt für die eigentliche Aufgabe geeignet? – Sind die Tests geeignet, um die Testanforderung nachzuweisen? – Reichen die Tests aus Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 12
Vorgehensmodelle: Das Phasenmodell 3. Dokumente – – Testspezifikation Testergebnisse Bewertung der Testergebnisse Freigabe der Software Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 13
Vorgehensmodelle: Das Phasenmodell Phase V: Inbetriebnahme und Wartung 1. Installation und Inbetriebnahme 2. Schulung des Kunden 3. Bearbeitung von Fehlern, die während des Realeinsatzes auftreten. Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 14
Vorgehensmodelle: Das Phasenmodell Beurteilung • Kann bei kleinen Projekten eingesetzt werden. • Phasenmodell ist starr: Es treten Probleme auf, wenn sich während der einzelnen Phase die Anforderungen ändern; es gibt keine Möglichkeit, darauf zu reagieren • Eignet sich als Grundlage für das Verständnis anderer Modelle • Stellt die wichtigsten Tätigkeiten bei der Entwicklung von Software zusammen. Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering WS 2006 / 2007 15
- Slides: 15