LE 3.2 - LM 9 - LO6 Beispiel für iterativ inkrementelles Vorgehen: der RUP
Rational Unified Process (RUP) - Definitionen Dem Rational Unified Process (RUP) liegt ein best practice objektorientiertes Modell zu Grunde. Der RUP definiert sich über Workflows, die parallel und in Phasen ablaufen. Innerhalb jeder Phase sind Iterationen und inkrementelle Verbesserungen möglich. Zur Definition der Workflows stehen im RUP eine Reihe von Hilfsmitteln zur Verfügung (Schlüsselkonzepte), die miteinander wechselwirken. Zum Beispiel werden Aktivitäten von Workers erbracht, die dadurch Artefakte produzieren. Zur Gestaltung der Artefakte werden Guidelines und Templates zur Verfügung gestellt.
RUP- Phasen Der RUP kennt 4 Phasen Konzeptionalisierung Entwurf Konstruktion + Realisierung Einführung + Betrieb Die Definitionen aller verfügbaren Phasen finden Sie über den Index (Glossary) des RUP-Handbuch oder wenn Sie auf der Einführungsseite Phasen aktivieren
Phasen und ihre Workflows Process Workflows Supporting Workflows Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements Entwurf Einführung Konzeption Realisierung Iterationen umfassen jeweils alle Workflows einer Phase
Phasen und Iteratioen Managementsicht Technische Sicht Konzeption Jede Phase endet mit einem Meilenstein Konzeption Entwurf Konstruktion Einführung Vorläufige Iterationen Iteration #1 #2... #n #n+1... #m+1... #m Jede Iteration endet mit einem ausführbaren Produkt Technische Sicht
Bewährtes Mischmodell Anforderungsanalyse Grobdesign, Komponentenbildung Iterativ inkrementelle Entwicklung Systemtest und Einführung
Gesamtplanung des Projektes Was soll geplant werden? Grobe Festlegung der Phasen und Iterationen - Meilensteine - Aufwandsschätzung und Terminplanung Feinplanung mit Aufwandsabschätzung (nur) der nächsten Iteration Wer plant? Projektleiter Architekt ggf. weitere Fachleute
Vorbereitungsphase Ziel: Planungs- und Entscheidungsgrundlagen schaffen Aufgaben: Vorstudie zur Machbarkeit erstellen Definition des Projektzieles und Abgrenzung Erarbeitung, Bewertung, Empfehlung und Entscheidung über Realisierungsalternativen Überblick über Problembereich und Anforderungen Grobe Projektplanung (Iterationen etc.) Identifizierung der Projektrisiken
Besetzung der Rollen Besetzung der Rollen kann Aufwände bis zu einem Faktor 10 variieren lassen oder Projekte sogar ganz zum Scheitern bringen Alle als projektnotwendig identifizierte Rollen müssen mit geeignet qualifiziertem Personal besetzt werden Eine Person kann gleichzeitig mehrere Rollen übernehmen Ggf. muß benötigtes Know-How durch Weiterbildung geschaffen oder zugekauft werden Die Möglichkeiten bei den Ressourcen sind damit in weiten Teilen bestimmend für Erfolg oder Misserfolg eines Projektes. Bei jeder Risikobetrachtung spielen sie daher eine dominante Rolle
Anforderungsanalyse Detaillierte Analyse des fachlichen Feinkonzepts Grobentwurf von Use Cases Workshops mit Fachexperten und Systemanalytikern - Detaillierung der Use Cases - Akteure identifizieren (wer hat welche Aufgaben, Kompetenzen) - Erstellung eines Glossars der Fachbegriffe - Priorisierung der Use Cases - Ggf. erste Dialogentwürfe Aktivitätsmodellierung - Konkretisierung der Anforderungen - Übergang zum Design (wie soll das System arbeiten) Identifizierung von Lösungsalternativen, Evaluierung und Empfehlung geeigneter Lösungen Planung des weiteren Vorgehens
Grobdesign Ziel: Erfassung der wichtigsten funktionalen und nichtfunktionalen Anforderungen Validierte, stabile und ausführbare Software-Architektur Aufgaben: Entwicklung von Systemteilen mit hoher Priorität und hohem Risiko Use Case-Modell erstellen (Anforderungsanalyse) Festlegung der Anwendungsarchitektur Feinplanung der jeweiligen Iteration erstellen
Komponentenbildung Modellierung von Geschäftsklassen und fachlichen Klassen Identifikation von Subsystemen und Komponenten Detaillierung der Systemarchitektur Entwicklung eines Prototypen zur Verifizierung der Architektur Planung der iterativ inkrementellen Komponentenentwicklung
Releaseplanung Releaseplanung - Wieviel Iterationen ? - Reihenfolge der Komponenten (-ausbaustufen) -- riskante Komponenten, -- hoch priorisierte Komponenten und -- Basiskomponenten zuerst - Richtwert für Iterationsdauer: 6 bis 8 Wochen Bildung von Teilprojekten/Teams
Iterativ, inkrementelle Komponentenentwicklung Detailplanung der bevorstehenden Iteration Komponentenspezifisch: - Analyse - Design - Realisierung - Test Regelmäßige Integration zum Gesamtsystem (z.B. wöchentlich) Regelmäßiges Kundenreview (z.B. alle zwei Iterationen) (nimmt mit Anzahl der Iterationen ab)
Systemtest und Einführung Teilabnahmen können bereits während der Projektlaufzeit auf Basis von Subsystemen erfolgen, sofern diese unab-hängig voneinander getestet und abgenommen werden können. Planung und Durchführung des Rollouts Parallele Inbetriebnahme des neuen IMIS Test und Abnahme des Gesamtsystems
Aufgaben des Auftraggebers Grobdesign, Komponentenbildung ___________________ Klärung spezieller Detailfragen Iterativ inkrementelle Entwicklung ___________________ Review von Teilergebnissen Anforderungsanalyse ___________________ Detaillierung Use Cases Verifizierung v. Modellen Systemtest und Einführung ___________________ Test und Abnahme
Verbesserung der Prozessqualität: Ansätze und Ziele Statische Ansätze zur Verbesserung der Prozeßqualität QM-Systeme Assessment TQM Business Engineering Audit SPICE CMM ISO 9000 Erreichung der nächsten Reifegradstufe Prinzipien Forderungen an Prozesse Quelle: Banford, R.C., Deibler II W.J., Comparing, contrasting ISO 9001 and the SEI capability maturity model, in: Computer, Oct. 1993, pp. 68-70.