02.11.2013 Aufrufe

Prozessmodell „Rational Unified Process“ - Software Engineering

Prozessmodell „Rational Unified Process“ - Software Engineering

Prozessmodell „Rational Unified Process“ - Software Engineering

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!