Franz-Josef Herpers Rational Unified Process Einführung

Preview:

Citation preview

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

Recommended