Prozessmodell „Rational Unified Process“ - Software Engineering
Prozessmodell „Rational Unified Process“ - Software Engineering
Prozessmodell „Rational Unified Process“ - Software Engineering
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Übung<br />
<strong>Software</strong> <strong>Engineering</strong><br />
Wintersemester 2003 / 2004<br />
<strong>Prozessmodell</strong><br />
<strong>„Rational</strong> <strong>Unified</strong> <strong>Process“</strong><br />
– Überblick und Beschreibung –<br />
LVA – Nr.<br />
246.538<br />
LVA – Leiter<br />
Dr. Reinhold Plösch<br />
Institut<br />
Institut für Wirtschaftsinformatik(WIN)<br />
<strong>Software</strong> <strong>Engineering</strong><br />
Gruppe 1 – Team 5:<br />
Kainzbauer Michael, 0055617<br />
Kern Michael, 9457030<br />
Razocher Bernhard, 0055583
Inhaltsverzeichnis<br />
1. Motivation .............................................................................................................................. 3<br />
2. Ziele und Zielgruppen ............................................................................................................ 3<br />
3. Charakteristische Merkmale................................................................................................... 4<br />
4. Eigenschaften des RUP .......................................................................................................... 4<br />
5. Zeitliche Dimension des RUP: Phasen................................................................................... 5<br />
5.1. Einführungsphase ........................................................................................................... 6<br />
5.2. Entwurfsphase ................................................................................................................. 6<br />
5.3. Konstruktionsphase ......................................................................................................... 6<br />
5.4. Übergangsphase .............................................................................................................. 6<br />
6. Inhaltliche Dimension des RUP: Workflows ......................................................................... 7<br />
7. Anwendung der 6 Best Practices............................................................................................ 7<br />
7.1. <strong>Software</strong> iterativ entwickeln............................................................................................ 8<br />
7.2. Managen der Anforderungen .......................................................................................... 8<br />
7.3. Verwenden Komponentenbasierter Architekturen.......................................................... 8<br />
7.4. <strong>Software</strong> visuell modellieren........................................................................................... 8<br />
7.5. <strong>Software</strong>qualität verifizieren.......................................................................................... 8<br />
7.6. <strong>Software</strong>änderung kontrollieren...................................................................................... 8<br />
8. Vorteile des RUP.................................................................................................................... 9<br />
9. Nachteile des RUP ................................................................................................................. 9<br />
10. Zusammenfassung.............................................................................................................. 10<br />
11. Abbildungsverzeichnis....................................................................................................... 11<br />
12. Quellenverzeichnis............................................................................................................. 12
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
1. Motivation 1<br />
Der <strong>Unified</strong> Process wurde 1998 von Ivar Jacobson, James Rumbaugh und Grady Booch<br />
veröffentlicht. Seine Entwicklung beruht auf dem Rational Objectory Process, der das<br />
Objectory Vorgehensmodell erweitert. Der Rational Objectory Process kombiniert den<br />
Use-Case-getriebenen Ansatz des Objectory Vorgehensmodells mit der architekturzentrierten<br />
Entwicklung und dem iterativen und inkrementellen Vorgehen des Booch-Vorgehensmodells.<br />
Schwerpunkte des Rational Objectory Process sind Use-Case Modellierung, Analyse und Entwurf.<br />
Der <strong>Unified</strong> Process ergänzt den Rational Objectory Process hinsichtlich fehlender oder<br />
unzureichend unterstützter Tätigkeiten wie Implementierung, Test, Anforderungs- und<br />
Konfigurationsmanagement.<br />
2. Ziele und Zielgruppen<br />
Ein Prozess legt fest, wer was auf welche Art und Weise macht, um ein Ziel zu erreichen.<br />
Daher schreibt der <strong>Software</strong>entwicklungs-Prozess Richtlinien vor, welche eine effiziente<br />
Entwicklung qualitativ hochwertiger <strong>Software</strong> ermöglichen. Weiters sollen durch dessen<br />
Einsatz Risiken minimiert und Vorhersagen vereinfacht werden. 2<br />
Die Steigerung sowohl der Produktivität als auch der Erfolgsrate stellen zusätzliche Ziele dar.<br />
Der höhere Output wird auch durch die Standardisierung des Entwicklungsprozesses<br />
ermöglicht. Zusätzlich sollen mit Hilfe dieses Modells die Benutzbarkeit, Wartung und<br />
Änderbarkeit der <strong>Software</strong> verbessert werden. 3<br />
Ein unternehmensweites Ziel des Prozesseinsatzes ist die Etablierung einheitlicher<br />
Vorstellung und Kultur des <strong>Software</strong> <strong>Engineering</strong> innerhalb des Unternehmens. 4<br />
Unter den am weitesten verbreiteten <strong>Prozessmodell</strong>en befinden sich - neben dem hier<br />
vorgestellten Rational <strong>Unified</strong> Process (RUP) – der OOSP (Object-Oriented <strong>Software</strong><br />
Process) und der OPEN Process. 5<br />
Zielgruppe<br />
Grundsätzlich kann jeder <strong>Software</strong>entwickler den <strong>Unified</strong> Process einsetzen bzw. seine<br />
Aktivitäten nach dem Modell ausrichten. Dennoch ist der Prozess vorrangig für jene Personen<br />
vorgesehen, welche sich mit Aufgabenbereichen aus den vier Hauptphasen beschäftigen.<br />
Darunter fallen unter anderem Systemanalysten, <strong>Software</strong>entwickler, Programmierer,<br />
„Systemtester“ und Projektmanager. 6<br />
1 s. [VOR01] S 75<br />
2 s. [BOO99] S. xviii<br />
3 s. [EUP02]<br />
4 s. [BOO99] S. xviii<br />
5 s. [EUP02]<br />
6 s. [BOO99] S. xix f<br />
Seite - 3 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
3. Charakteristische Merkmale<br />
Use-Case-gesteuert<br />
Ein Use Case ist eine Funktion eines Systems, welche dem Benutzer ein Ergebnis bringt. Die<br />
Gesamtheit aller Use Cases des Systems bildet das Use-Case-Modell, welches die ganze<br />
Funktionalität des Systems beschreibt. Die Verwendung der Use Cases zur Beschreibung des<br />
Systems bewirkt eine Orientierung am Benutzer des <strong>Software</strong>produkts, ganz im Gegensatz zu<br />
der traditionellen funktionalen Sichtweise. Basierend auf dem Use-Case-Modell werden<br />
Design und Implementierungsmodelle entwickelt. 7<br />
architekturorientierter Prozess<br />
Die Architektur eines <strong>Software</strong>systems, welche von Faktoren wie der Plattform, auf der die<br />
<strong>Software</strong> läuft, beeinflusst wird, wird als die Summe der Sichten auf das System beschrieben.<br />
Weitere Einflussfaktoren sind die Verfügbarkeit von wieder verwendbaren <strong>Software</strong>teilen und<br />
nichtfunktionale Anforderungen. 8<br />
Der Rational <strong>Unified</strong> Process zielt vor allem auf das Zusammenspiel der einzelnen<br />
Komponenten der Architektur ab. 9<br />
Iterativ und inkrementell<br />
Im klassischen Wasserfallmodell werden die einzelnen Phasen des<br />
<strong>Software</strong>entwicklungsprozesses sequentiell durchlaufen. Im Gegensatz dazu arbeitet man im<br />
<strong>Unified</strong> Process einzelne Phasen iterativ, also wiederholt, ab. Dadurch werden Fehler<br />
möglichst bald identifiziert. Die iterative Abhandlung der Phasen lässt aus dem gesamten<br />
Projekt mehrere kleine Projekte entstehen. Der inkrementelle Charakter des <strong>Unified</strong> Process<br />
besteht darin, dass das Produkt schrittweise, also inkrementell, wächst. Somit wird die<br />
teilweise parallele Behandlung der einzelnen Aktivitäten möglich. 10<br />
4. Eigenschaften des RUP<br />
Der Rational <strong>Unified</strong> Process ist ein iteratives, Use-Case-getriebenes und archtitekturzentriertes<br />
<strong>Prozessmodell</strong>. Er gliedert sich in eine zeitliche und inhaltliche Dimension(siehe<br />
Abb. 1).<br />
7 s. [BOO99] S. 5<br />
8 s. [BOO99] S. 6<br />
9 s. [THE00] S. 4<br />
10 s. [THE00], S. 1<br />
Seite - 4 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
Abb. 1: Rational <strong>Unified</strong> Process<br />
Die vier Phasen – Inception, Elaboration, Construction, Transition - ermöglichen dabei eine<br />
Einteilung des Projektes enstprechend des zeitlichen Ablaufs, wogegen die neun Workflows<br />
eine Organisation des Projektes hinsichtlich der verschiedenen Aufgaben erlauben. Die<br />
Phasen des RUP werden dabei in zumindest einer oder mehrerer Iterationen abgearbeitet. Die<br />
Workflows durchziehen sich durch jede Phase, haben aber Schwerpunkte, d.h., sie sind in den<br />
einzelnen Phasen unterschiedlich gewichtet 11 .<br />
Die Phasen bzw. die Workflows des RUP sollen in den beiden folgenden Abschnitten nun ein<br />
wenig näher erläutert werden.<br />
5. Zeitliche Dimension des RUP: Phasen 12<br />
Während des gesamten Lebenszyklus eines <strong>Software</strong>-Produktes, wird der RUP in mehreren<br />
Zyklen durchgeführt. Jeder dieser Zyklen ist in vier Phasen eingeteilt und führt letztendlich zu<br />
einem Produkt-Release. Diese Phasen geben Auskunft über den Reifegrad des Projektes und<br />
jede schliesst mit einem sogenannten Meilenstein ab(siehe Abb. 2). Im Gegensatz zu den<br />
Workflows, erlauben sie eine Organisation des Projektes entsprechend des zeitlichen Ablaufs.<br />
Inception Elaboration Contruction Transition<br />
Zeit<br />
Lifecycle<br />
Objective<br />
Milestone<br />
Lifecycle Initial Operational<br />
Architecture Capability<br />
Milestone<br />
Lifecycle<br />
Abb. 2: Die vier Phasen des RUP<br />
Product<br />
Release<br />
Milestone<br />
11 s. [RAT03] S. 14 f.<br />
12 s. [RAT03] S. 15 f und [VOR02] S. 76 f<br />
Seite - 5 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
5.1. Einführungsphase 13<br />
Die Einführungs- oder auch Vorbereitungsphase(engl. Inception phase) bildet sozusagen den<br />
Einstiegspunkt in ein neues Projekt. Es werden die Hauptanforderungen an das zu<br />
entwickelnde System erarbeitet. Das Ziel ist festzustellen, ob das Produkt realisiert werden<br />
kann oder nicht. Dafür werden erste Anwendungsfälle(Uses Cases) entwickelt, um einen<br />
ersten Eindruck von der Funktionalität des Systems zu bekommen. Weitere Aktivitäten in<br />
dieser Phase 14 sind z.B.<br />
• Definition der Grenzen des Systems(project scope)<br />
• Beschreibung einer möglichen Systemarchitektur<br />
• Erarbeitung einer ersten Risikoabschätzung bzw. Identifikation möglicher Risiken,<br />
welche die Realisierbarkeit gefährden könnten<br />
• Präsentation des vorgeschlagenen Systems vor Kunden; dafür könnte schon ein<br />
Prototyp sinnvoll sein<br />
Der Lifecycle Objective Milestone als Ergebnis dieser Phase definiert die Ziele für den<br />
Lebenszyklus des Projektes.<br />
5.2. Entwurfsphase 15<br />
Die Aufgabe der Entwurfsphase(engl. Elaboration phase) ist quasi die Vorbereitung für die<br />
Konstruktionsphase. Das Use-Case-Modell sowie funktionelle und nicht funktionelle<br />
Anforderungen sollten weitgehend(in etwa zu 80 %) komplett sein. Die für das Projekt<br />
notwendigen Werkzeuge und Ressourcen werden festgelegt. Desweiteren werden<br />
Problembereiche(Domains) analysiert und eine stabile Architektur entwickelt. Ebenso erfolgt<br />
eine Aufstellung von identifizierbaren Hauptrisiken und eine Festlegung von<br />
Qualitätsattributen, die vom System erreicht werden sollen, wie z.B. minimale Antwortzeiten.<br />
Das Ergebnis dieser Phase ist der Lifecycle Architecture Milestone: Die Architektur soll<br />
beschrieben sein und in Form eines Architektur-Prototypen vorliegen. Dieser Prototyp ist aber<br />
kein „Wegwerf-Prototyp“, sondern die Basis für die weitere Systementwicklung.<br />
5.3. Konstruktionsphase 16<br />
Die Hauptaufgabe der Konstruktionsphase(engl. Construction phase) ist die Implementierung<br />
und das Testen der Systemkomponenten. Basis für die Entwicklung ist der in der Elaboration<br />
Phase entstandene Architektur-Prototyp. Die Analyse des Systems sollte beendet sein,<br />
identifizierte Hauptrisiken kontrolliert und eventuelle Gegenmassnahmen eingeleitet werden.<br />
Zusätzlich wird eine System- und Benutzerdokumentation erstellt.<br />
Das Ergebnis ist der Initial Operational Capability Milestone, ein lauffähiges und für den<br />
Kunden einsetzbares Produkt.<br />
5.4. Übergangsphase 17<br />
In dieser Phase(engl. Transition phase) erfolgt der Übergang des Systems aus der<br />
Entwicklungsumgebung zum Kunden. Zunächst wird das Produkt an eine ausgewählte<br />
Gruppe von Kunden(Betakunden) ausgeliefert, dessen Zweck es ist, das Produkt in<br />
Benutzerumgebung ausführlich zu testen und noch auftrende Fehler zu beseitigen. Daneben<br />
steht vor allem die Schulung der Anwender im Vordergrund, weiters die Fertigstellung von<br />
13 s. [VOR02] S. 77 und [RAT03] S. 15<br />
14 s. [VOR02] S. 78<br />
15 s. [VOR02] S. 78 und [RAT03] S. 15<br />
16 s. [VOR02] S. 78f und [RAT03] S. 15f<br />
17 s. [VOR02] S. 79 und [RAT03] S. 16<br />
Seite - 6 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
Begleitdokumenten wie Benutzerhandbücher oder eine eventuelle Konvertierung von Daten<br />
aus älteren Systemen.<br />
Das Ergebnis ist das Product Release, mit dem das Projekt abgeschlossen und übergeben<br />
wird.<br />
6. Inhaltliche Dimension des RUP: Workflows<br />
Neben der zeitlichen Dimension gibt es im RUP auch noch eine inhaltliche oder besser<br />
aufgabenbezogene Dimension. Erfolgt die Projektsteuerung anhand der vier Phasen, so läuft<br />
die technische Realisierung des Produktes anhand von neun Workflows ab. In jeder Phase<br />
werden eine oder mehrere Iterationen dieser Workflows durchlaufen, welche wiederum in<br />
Core Process Workflows(Kernprozesse) und Core Supporting Workflows(Hilfsprozesse)<br />
aufgeteilt sind 18 :<br />
Die Core Process Workflows sind<br />
• Geschäftsprozessmodellierung(Business Modeling)<br />
• Anforderungsdefinition (Requirements)<br />
• Analyse & Design<br />
• Implementierung<br />
• Test<br />
• Betrieb<br />
Die Core Supporting Workflows sind<br />
• Konfigurations- und Change Management<br />
• Projektmanagement<br />
• Umwelt<br />
Diese Workflows erlauben eine Organisation des Projektes entsprechend der verschiedenen<br />
Aufgaben. Sie werden in jeder Phase des RUP durchlaufen. Wichtig dabei ist, dass sich<br />
lediglich die Schwerpunkte der Workflows verschieben und nicht ein Workflow vor dem<br />
anderen abgeschlossen wird. Zum Beispiel, während in den ersten beiden Phasen eher<br />
Anforderungsermittlungen, Analyse und Designtätigkeiten im Vordergrund stehen, sind dies<br />
in den anderen Phasen eher Implementierungsaufgaben und das Testen.<br />
7. Anwendung der 6 Best Practices 19<br />
Der Rational <strong>Unified</strong> Process beschreibt, wie man bereits industriell erprobte<br />
Vorgehensweisen auf <strong>Software</strong>entwicklungsteams anwendet. Diese Vorgehensweisen nennt<br />
man „Best Practices“, von denen man festgestellt hat, dass sie in der Wirtschaft verbreitet<br />
erfolgreich angewendet werden. Der RUP sieht dabei für jedes Teammitglied Richtlinien,<br />
Vorschriften, Werkzeuge und Schablonen vor, die für den Erfolg im Team einen<br />
entscheidenden Beitrag leisten sollen. Diese „Best Practices“ werden im Folgenden<br />
dargestellt:<br />
18 s. [VOR03] S. 4 und [RUP01] S. 10f<br />
19 s. [RAT03] S. 7f und [RUP01] S. 1f<br />
Seite - 7 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
7.1. <strong>Software</strong> iterativ entwickeln<br />
In der modernen <strong>Software</strong>entwicklung ist es nicht mehr möglich, ein Produkt als ganzes zu<br />
definieren, planen, implementieren und am Schluss das fertige Produkt zu testen. Es ist<br />
notwendig, die Sache in kleineren Zyklen anzugehen, an deren Ende immer eine lauffähige<br />
Version steht. In jeder Iteration kommt es zu einem besseren Verstehen und zu<br />
Verfeinerungen des Produktes. Am Ende der Iterationen steht das Produkt. Der RUP<br />
unterstützt diese iterative Vorgehensweise, zeigt in jeder Phase Risiken auf und und hilft diese<br />
so zu minimieren. Durch die lauffähigen Zwischenversionen ist es leichter, den Endbenutzer<br />
in den Prozess einzubinden und früh auf Probleme zu reagieren.<br />
7.2. Managen der Anforderungen<br />
Dadurch, dass es nicht möglich ist, vorab alle Anforderungen an ein System zu planen, ändern<br />
sich diese während des Entwicklungsprozesses. Bedingt durch die in jeder Iteration<br />
steigenden Anforderungen ist es dringend vonnöten, diese adäquat zu verwalten. In jeder<br />
Iteration sind die Veränderungen und die damit verbundenen Auswirkungen der<br />
Anforderungen festzustellen und zu dokumentieren, auch die anstehenden Entscheidungen<br />
und andere Randbedingungen müssen festgehalten werden.<br />
7.3. Verwenden Komponentenbasierter Architekturen<br />
Der RUP unterstützt Komponentenbasierte <strong>Software</strong>entwicklung. Komponenten sind<br />
nichttriviale Teile oder Teilsysteme, die eine definierte Funktion erfüllen. Der RUP bietet hier<br />
eine systematische Vorgehensweise zur Erstellung einer Architektur, die es ermöglicht,<br />
sowohl neue als auch vorhandene Komponenten zu verwenden. Diese werden dann entweder<br />
selbstständig zusammengefügt oder in eine Infrastuktur wie WWW, CORBA oder COM<br />
eingefügt.<br />
7.4. <strong>Software</strong> visuell modellieren<br />
Der RUP zeigt wie man <strong>Software</strong> visuell modellieren kann und ermöglicht die Darstellung der<br />
Struktur und des Verhaltens der Architektur und der Komponenten. Durch die Möglichkeit,<br />
den Abstraktionsgrad zu verändern ist es leichter möglich Zusammenhänge zu erkennen und<br />
zu verstehen. Grundlage ist UML, die von Rational <strong>Software</strong> entwickelte „<strong>Unified</strong> Modeling<br />
Language“.<br />
7.5. <strong>Software</strong>qualität verifizieren<br />
Schlechte Performance und eine geringe Zuverlässigkeit sind Faktoren, die bei einer <strong>Software</strong><br />
unbedingt zu vermeiden sind. Die Qualität der <strong>Software</strong> muss deshalb einer Prüfung<br />
unterzogen werden. Der RUP hilft hier in der Planung, beim Design, Implementierung,<br />
Ausführung und Evaluierung der notwendigen Tests. Die Beurteilung der Qualität ist im<br />
Prozess integriert, fließt in alle Aktivitäten ein und bezieht alle Teilnehmer unter Verwendung<br />
objektiver Messungen und Kriterien ein.<br />
7.6. <strong>Software</strong>änderung kontrollieren<br />
In einem System in dem Änderungen unvermeidlich sind, ist die Fähigkeit, Änderungen zu<br />
handhaben, notwendig, um sicherzustellen, dass jede Änderung annehmbar und<br />
zurückverfolgbar ist. Der RUP beschreibt wie man Änderungen kontrolliert, verfolgt und<br />
überwacht, um eine iterative Entwicklung zu ermöglichen. Es wird möglich, Änderungen<br />
isoliert von anderen Beschäftigungsfeldern durchzuführen und so gesicherte Felder für den<br />
einzelnen Entwickler zu schaffen.<br />
Seite - 8 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
8. Vorteile des RUP 20<br />
• Risikofaktoren können schnell erkannt werden<br />
Durch iteratives Vorgehen wird risikobasierte Vorgehensweise gut unterstützt. Dadurch, dass<br />
teilweise parallel vorgegangen wird, werden Fehler schnell erkannt und können ausgebessert<br />
werden.<br />
• Aktualität<br />
RUP wird von Rational <strong>Software</strong> ständig aktualisiert, die neuesten Erkenntnisse werden<br />
berücksichtigt.<br />
• Abstimmung der Komponenten zur Entwicklungszeit<br />
Schon frühzeitig werden die Komponenten aufeinander abgestimmt und dadurch kann das<br />
Risiko und die Fehlerquote gesenkt werden.<br />
• Use Cases<br />
Durch die Berücksichtigung von Use Cases können die Funktionen anwenderorientiert<br />
implementiert werden.<br />
• UML als Basis<br />
RUP basiert auf UML, damit ist sichergestellt, dass durch die weltweite Eindeutigkeit eine<br />
Kooperationsfähigkeit mit anderen Schnittstellen wie Unternehmen und Kunden gewährleistet<br />
ist.<br />
• Support<br />
Handbücher von Rational <strong>Software</strong> sind online verfügbar, in User Foren sind Anfragen an<br />
andere User und Experten möglich.<br />
• Der RUP basiert auf mehreren Vorgehensweisen<br />
Die 6 "Best Practices" sind ein Destillat, aus den Erfahrungen vieler Projekte. Der RUP ist<br />
also in der Praxis verwurzelt.<br />
9. Nachteile des RUP<br />
• Phasenorientierung<br />
Phasen- und Meilensteinkonzepte lassen sich für komponentenorientierte <strong>Software</strong>entwicklung<br />
nur schwer umsetzen. Für Entwicklungsformen wie Prototyping reicht dies nicht<br />
aus.<br />
• Komplexität 21<br />
Der RUP ist ein komplexes Vorgehensmodell, zudem ist er immer noch starken Veränderungen<br />
ausgesetzt<br />
20 s. [VOR02] S. 3<br />
21 s. [SWE01] S. 5<br />
Seite - 9 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
• Qualitätssicherung 22<br />
Im RUP ist keine Qualitätssicherung integriert.<br />
• Iterationen<br />
Zwar sind im RUP Iterationen vorgesehen, aber an die einzelnen Phasen und nicht an die<br />
Bausteine geknüpft. Hier ist wenig Platz im Entwicklungsprozess, da nur Phasen oder ganze<br />
Zyklen wiederholt werden können.<br />
• Zentrierung der Architektur<br />
Der RUP gilt als „architektur-zentriert“, nimmt aber zuwenig Rücksicht auf die Baustein- und<br />
Ergebnisstruktur. Ein tatsächlich architekturzentrierter Ansatz müsste die Systemstruktur mit<br />
ihren Bausteinen sichtbar machen und Aktivitäten und Arbeitsergebnisse an deren jeweiligen<br />
Entwicklungsstand knüpfen, was in weiterer Folge zu einer stärkeren Verknüpfung mit einer<br />
ergebnis- und dokumentenorientierten Arbeitsweise führen würde.<br />
10. Zusammenfassung<br />
Der RUP ist zu einem "de facto" Industriestandard der westlichen <strong>Software</strong>industrie mit<br />
zunehmender Relevanz geworden: Die Gründe hierfür sind vielfältig. Insbesondere zwei<br />
Aspekte sorgen für eine zunehmende Popularität des RUP. Dies ist zum einen die in<br />
zahlreichen Projekten nachgewiesene Praxisnähe, zum anderen die Tatsache, dass die Object<br />
Management Group (OMG), die ja schon UML als Standard für die Modellierung von<br />
informationstechnischen Systemen verabschiedete, seit Juni 2001 einen Entwurf zur<br />
Standardisierung eines <strong>Software</strong> Process <strong>Engineering</strong> Meta Models (SPEM) vorgelegt hat, der<br />
von Rational <strong>Software</strong> und anderen Unternehmen auf Basis des RUP entwickelt worden ist. 23<br />
Weiters hat Rational <strong>Software</strong> Kooperationen mit Branchen-Riesen IBM, Microsoft und Sun<br />
getroffen und bietet für diese Plug-Ins an, welche es ermöglichen den RUP in die<br />
Entwicklungsumgebung zu integrieren und den Kunden den RUP an ihr Unternehmen<br />
anzupassen. Trotz allem verwenden die meisten Unternehmen den standardisierten RUP, da<br />
dieser ja bereits an den Entwicklungsprozess im Unternehmen angepasst ist. 24<br />
Die Entwicklung des <strong>Unified</strong> Process macht nicht halt. Der RUP wurde um zwei neue Phasen<br />
Production und Retirement und um zwei neue Disziplinen Enterprisemanagement und<br />
Operation & Support erweitert. Dies Erweiterung des Prozesses sind in der Literatur unter den<br />
Namen EUP, Enterprise-RUP oder einfach unter E-RUP zu finden. 25<br />
22 s. [SWE01] S. 5<br />
23 s. [PRO02]<br />
24 s. [PRE02]<br />
25 s. [EUP02]<br />
Seite - 10 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
11. Abbildungsverzeichnis<br />
Abb. 1: Rational <strong>Unified</strong> Process............................................................................................... 5<br />
Abb. 2: Die vier Phasen des RUP .............................................................................................. 5<br />
Seite - 11 -
Übung <strong>Software</strong> <strong>Engineering</strong> Gruppe 1 – Team 5<br />
Kainzbauer, Kern, Razocher<br />
12. Quellenverzeichnis<br />
[VOR02]<br />
Bunse, Christian; von Knethen, Antje: Vorgehensmodelle kompakt,<br />
Spektrum Akademischer Verlag, 2002<br />
[RAT03]<br />
Essigkrug, Andreas; Mey, Thomas: Rational <strong>Unified</strong> Process kompakt,<br />
Spektrum Akademischer Verlag, 2003<br />
[RUP01]<br />
White Paper - Rational <strong>Unified</strong> Process, Best Practices for <strong>Software</strong> Development<br />
Teams, Rational <strong>Software</strong> Group, 2001,<br />
http://www-140.ibm.com/content/03July/1000/1251 / 1251_bestpractices_TP026B.<br />
pdf, [19.10.2003]<br />
[VOR03]<br />
Scholz, Michael: Vorgehensmodell für die Entwicklung und Einführung von<br />
Wissensmanagementsystemen, Martin-Luther-Universität, Fachbereich<br />
Wirtschaftswissenschaften, 2003,<br />
http://www.infogeneration.de/download/vorgehensmodell_wms.pdf, [18.10.2003]<br />
[SWE01]<br />
Klarner Martin: <strong>Software</strong> <strong>Engineering</strong>, Web Site <strong>Engineering</strong> in der Theorie,<br />
Friedrich Alexander University of Erlangen-Nürnberg, Fachbereich Informatik, 2002<br />
http://www8.informatik.uni-erlangen.de/IMMD8/Lectures/WEB/vorlesung/ sources/<br />
27112002/Vorlesung7.6.pdf, [19.10.2003]<br />
[BOO99]<br />
Booch, G.; Jacobson, I.; Rumbaugh, J.: The unified software development process,<br />
Addison-Wesley, Reading, Mass., 1999<br />
[EUP02]<br />
Enterprise <strong>Unified</strong> Process (EUP) Home Page:<br />
http://www.enterpriseunifiedprocess.info/, Dec 20, 2002 [20.10.2003]<br />
[PRE02]<br />
Pressemitteilung der Rational <strong>Software</strong> Group, Dr. Haffa und Partner, 19.02.2002,<br />
http://www.haffapartner.de/kunden/rat/190202rat.htm, [20.10.2003]<br />
[PRO02]<br />
Process Improvement and <strong>Software</strong> Development with Rational <strong>Unified</strong> Process,<br />
Rational <strong>Software</strong> Corporation, 2002,<br />
http://www-3.ibm.com/software/awdtools/rup/, [20.10.2003]<br />
Seite - 12 -