Franz-Josef Herpers
Rational Unified Process
Einführung
Projekte mit Dilbert
Software-Projekte in der Realität
16% aller Projekte scheitern 53% aller Projekte sind nicht in Time bzw. Budget 31% aller Projekte sind erfolgreich
[Quelle: Chaos Report der Standish Group]
Warum scheitern Software-Projekte?
Anforderungsmanagement als Ad-Hoc-Angelegenheit Unpräzise Kommunikation Schwache Architektur Unkontrollierbare Komplexität Inkonsistenzen zwischen Anforderungen, Design und
Implementierung Unzureichende Tests Subjektive, nicht messbare Projektstatus Kein Fokus auf Projektrisiken Unkontrollierte Änderungsmechanismen Unzureichende Automatisierung
Prozessmodelle gegen das Scheitern
Wasserfallmodell Spiralmodell V-Modell Rational Unified Process (RUP)
Wasserfallmodell
V-Modell
Spiralmodell
Was ist der RUP?
Methode• iterativ• risikogetrieben• architekturzentriert• Use-Case-getrieben
Prozess• klar definiert (wer, was, wie, wann)• klar strukturiert (Lebenszyklus, Meilensteine)
Produkt• stellt anpassbares Prozess-Framework zur Verfügung
zur Unterstützung der Softwareentwicklung
Historie RUP
Die drei Amigos
Grady Booch James RumbaughIvar Jacobson
Booch OMTOOSE
UML - EntwicklungMärz 2003: UML 1.52001: UML 1.4UML 2.0 WG
Einflüsse und Historie RUP
RUP 2000RUP 2002
Rational und RUP
Aufkauf aller Amigos Aufkauf ergänzender Firmen UML-Entwicklung Entwicklung RUP Kauf von Rational durch IBM (2002)
Die Methode RUP
Best Practices
Iterativ-inkrementelles Vorgehen
Ergebnis einer Iteration: ein Stück aus-führbare Software (Inkrement)
Jede Iteration ist zielorientiert(Funktionen, Risiko)
Jede Iteration setzt auf der vor-hergehenden auf (Evolution,Verfeinerung)
Frühe Iteration legen den Fo-kus stärker auf Anforderungen,spätere auf das Testen
Warum Iterationen I?
Warum Iterationen II?
Leichtere Anpassung an sich ändernde Anforderungen Integration ist kein "Big Bang" am Ende des Projekts Risiken lassen sich durch früheres Erkennen minimieren Mittel für das Management taktische Änderungen am Produkt
vorzunehmen Wiederverwendung wird erleichtert Fehler können über mehrere Iterationen gefunden werden Bessere Verwendung des Projektpersonals Teammitglieder lernen im Projektverlauf Der Entwicklungsprozess selbst wird im Projektverlauf
verbessert und verfeinert
Der Prozess RUP
The Big Picture
Dynamische Struktur: Phasen
Inception Elaboration Construction Transition
LCO LCA IOC PR
Meilensteine
Vision Basis-Architektur
Funktionalität Freigabe
Inception
Abstecken des Projektumfangs (mit Stakeholdern)• Vision erstellen• Akzeptanzkriterien festlegen• Systemumfang festlegen
Identifikation der kritischen Use-Cases Architekturskizze evtl. Prototyp (Proof of Concept) Kostenschätzung und Planung Einschätzung und Minimierung der Geschäftsrisiken Projektumgebung festlegen (Prozess, Tools)
Meilenstein: Lifecycle Objective Milestone (LCO)
Elaboration
Verfeinerung der Anforderungen und der Vision Basis-Architektur (Verfeinerung Skizze)
• Design• Implementierung (evolutionärer Prototyp)• Validierung (v.a. gegen Anforderungen)
Minimierung v.a. der technischen Risiken Konfiguration der Softwareentwicklungstools Planung der Entwicklungsphase (Iterationen!)
Lifecycle Architecture Milestone (LCA)
Construction
Minimierung der Entwicklungskosten Parallelisierung der Entwicklungsarbeiten (CM!) Iterative Entwicklung eines auslieferbaren Release
• fehlende Use Cases/Afos ermitteln und beschreiben• Vervollständigung Analyse/Design• Implementierung• Integration und Testen (gegen Anforderungen)
Initial Operational Capability Milestone (IOC)
Transition
Erstellen der finalen Version der Software Auslieferung der Software an den Kunden
Product Release Milestone (PR)
Phasen und Iterationen
Phasen• enden mit einem Meilenstein• enden mit einem Release (da Iterationsende = Phasenende)• Ziele durch feste Meilensteine vorgegeben
Iterationen• enden mit einem ausführbaren Release• zielorientiert (Risiken minimieren, Use Case(s) realisieren)• Iterationsziele werden NICHT vom Prozess vorgegeben,
sondern projekt-individuell• sind in die Phasen eingebunden (0...N Iterationen/Phase)• sind relativ kurz
Wie viele Iterationen?
Statische Struktur: Schlüsselelemente
Workers (Das Wer?) Activities (Das Wie?) Artifacts (Das Was?) Workflows (Das Wann?)
Übersicht Schlüsselelemente
Workers and Activities
Typen von Workers
Analyst Developer Tester Manager
Artifact (Artefakt)
Modell Modellelement Dokument Source Code Executables
Alle Artefakte außer der SW selbst sind nur Unterstützung!
Sind Sie im Zweifel, ob Sie ein Artefakt erstellen sollen, erstellen Sie es nicht!
Artefakte und Phasen
Workflows
Core Workflows Core Supporting Workflows Detailed Workflows
Core Workflows
Business Modeling• Verbindung zw. Business und System (Business Use
Cases, Business Object Model) Requirements
• Das Was des Systems (UC, Actors, UC-Beschreibung) Analysis & Design
• Das Wie des Systems (Design & Analysis Model) Implementation
• Das System selbst Test
• Die Qualität des Systems Deployment
• Die Auslieferung/Abnahme des Systems
Core Supporting Workflows
Project Management• Framework für das Management von SW-Projekten• Praktische Leitfäden für Planung, Staffing, Ausführung und
Monitoring• Framework für Risikomanagement
Configuration and Change Management• Kontrolle über zahlreichen Prozessartefakte
Environment• Konfiguration des Prozesses und der Tools
Beispiel Core Workflow
Beispiel Detailed Workflow
Workflows und Phasen
Weitere Prozesselemente
Guidelines Templates Tool mentors Reports Checkpoints Concepts Roadmaps
Übersicht aller Elemente
RUP im Vergleich
V-Modell und RUP
RUP und andere Modelle
Wasserfall
Iterativ
Agilität Formalität
XP
CMM
CMMI RUP Process Framework
LightRUP
Konfiguration
Durchschnittl.RUP
Konfiguration
FormaleRUP
Konfiguration
Das Produkt RUP
RUP-Plattform
Webbasierte, durchsuchbare Wissensbasis• Guidelines• Tool mentors• Beispiele• SoDA-Templates• Word-Templates
MS-Project-Pläne
Development Kit RUP-Plugins
• Small RUP• RUP for .NET• RUP for J2EE
RUP-Builder• Installation von Plugins• Konfiguration der RUP-Webseite
Rational Process Workbench• Eigene Plugins entwickeln• Tailoring von RUP• Kopplung mit Rational Rose• extra zu lizensieren
RUP Knowledge Center• Get Started Guides• andere Ressourcen
RUP-Diskussionsforen RUP Exchange
• Plugin-Austausch
Rational University• Training
Consulting Services
Das RUP-Framework
Rational Tool Suite
Rational RequisitPro=> Requirements Management
Rational ClearQuest=> Change Management
Rational TestStudio=> Automated Testing
Rational Rose=> Visual Modeling
und viele andere.....
RUP bei Rational/IBM heute
Top Related