Einführung in RUP
Diese Anleitung beantwortet grundlegende Fragen zur Natur und zum Zweck von Rational Unified Process.
Hauptbeschreibung

Was ist Rational Unified Process oder RUP?

Wer sollte RUP verwenden?

Sollten Sie RUP für Ihr Projekt konfigurieren?

Warum sollte man RUP verwenden?

Wann sollte man RUP verwenden?

Wo kann man mehr über RUP erfahren?

Rational Unified Process Authoring-Tools Community/Markt Konfigurationstools Prozessbereitstellungstools RUP-Plattform

Was ist Rational Unified Process oder RUP?

Die Grundlagen von RUP

Im Grunde dreht sich bei Rational Unified Process® (RUP®) alles um erfolgreiche Softwareentwicklung. Es gibt drei zentrale Elemente, die RUP definieren:

  • Philosophien und Prinzipien für eine erfolgreiche Softwareentwicklung.

Diese Philosophien und Prinzipien sind die Grundlage, auf der RUP entwickelt wurde. Einen Überblick über die RUP-Philosophie finden Sie in den Abschnitten Wichtige Prinzipien und Prozessgrundlagen.

  • Ein Framework mit wiederverwendbarem Methodeninhalt und Prozessbausteinen.

Definiert und kontinuierlich verbessert von Rational Software definiert die RUP-Familie der Methoden-Plug-ins ein Methoden-Framework, mit dem Sie eigene Methodenkonfigurationen und angepasste Prozesse erstellen können.

  • Die grundlegende Methoden- und Prozessdefinitionssprache.

Allem zugrunde liegt ein UMA-Metamodell. Dieses Modell stellt eine Sprache für das Beschreiben von Methodeninhalt und Prozessen bereit. Diese neue Sprache wurde zur Vereinheitlichung unterschiedlicher Methoden- und Prozess-Engineering-Sprachen, wie z. B. der SPEM-Erweiterung zu UML für Softwareprozess-Engineering, der für RUP v2003, Unified Process, IBM Global Services Method verwendeten Sprachen und IBM Rational Summit Ascendant, entwickelt.  

Die RMC-Plattform (Rational Method Composer)

RUP hat sich im Laufe vieler Jahre Entwicklungsarbeit zu einer leistungsstarken Plattform für Prozess-Engineering mit dem Namen Rational Method Composer (RMC) weiterentwickelt. Mit RMC sind Teams in der Lage, einen konsistenten Prozess zu definieren, zu konfigurieren, anzupassen und anzuwenden. Die Schlüsselelemente der Plattform sind im Folgenden aufgeführt:

  • Tools für Methodenbereitstellung

RUP wird Anwendern als interaktive Website in standardisierter Browser-Technologie zur Verfügung gestellt. Die folgenden Tools werden für die Bereitstellung von RUP verwendet:

  • Die RUP-Website, auf der Sie sich momentan befinden.

Eine RUP-Website ist eine mit Rational Method Composer veröffentlichte Prozesspräsentation, die für Ihr Projekt konfiguriert und an Ihre speziellen Anforderungen angepasst ist. Die Website wird mit dynamisch generierten HTML-Seiten erstellt, die Sie mit RMC in Form mehrerer RUP-Websites veröffentlichen können, die jeweils eine konfigurierte und angepasste Prozessdefinition darstellen.

  • Diverse Navigationstools für Web-Browser

Mit den Applets des RUP-Browsers ist es möglich, über eine Reihe von Standard-Web-Browsern unter Verwendung von zusätzlichen Navigations-Applets dynamisch auf die RUP-Website zuzugreifen.

  • Konfigurationstool für Methoden

Rational Method Composer (RMC) unterstützt eine differenzierte Konfiguration des Inhalts während der Veröffentlichung, um den variierenden Anforderungen unterschiedlicher Projekte und Endbenutzer gerecht zu werden. Mit seiner Plug-in-Technologie ermöglicht Ihnen Method Composer, Methoden- und Prozesserweiterungen einzufügen. Außerdem können Sie Varianten von Prozessen konfigurieren, die je nach Benutzervorgaben unterschiedlich veröffentlicht werden.

  • Ein Umschlagplatz für Prozesserweiterungen

Der RUP-Abschnitt auf der Website developerWorks®: Rational® ist ein Ort, an dem Prozessentwickler in der Softwareentwicklungsgemeinde ihre Methodenerweiterungen als konsumierbare Plug-ins austauschen können, und eine reichhaltige Quelle mit Methodenerweiterungen für den Projektleiter.

  • Tool für Methoden-Authoring

Basierend auf der Plattform Eclipse ist Rational Method Composer (RMC) speziell für die Verwaltung von Methodeninhalten und Prozess-Authoring bestimmt und mit Funktionen wie formular- und strukturbasiertem Authoring, Inhalts-Browsing, Inhaltssuche und Import und Export von Methodeninhalten ausgestattet. Method Composer stellt außerdem Mechanismen für eine schnelle Zusammenstellung von Prozessen unter Verwendung von Prozessmustern und wiederverwendbaren Methodenelementen bereit. RMC unterstützt die Erstellung von Methoden-Plug-ins, leistungsstarken Hilfsmitteln für die Erweiterung und Änderung vorhandenen Inhalts und die Vereinfachung von Management und Pflege von Methodeninhalten und Prozessen.

Wer sollte RUP verwenden?

Wenn Sie sich auf Ihre Fähigkeiten zur Entwicklung und zum Deployment von Software stützen müssen, die kritisch für den Erfolg Ihrer Organisation ist, kann RUP Ihnen helfen. Das Produkt RUP wurde primär für zwei Zielgruppen entwickelt:

  • Softwareentwickler, die in einem Projektteam arbeiten, einschließlich der Stakeholder dieser Softwareentwicklungsprojekte.
  • Prozessentwickler, insbesondere Softwareprozessentwickler und Manager.

Softwareentwickler finden in den in RUP definierten Rollen Anleitung zu dem, was von ihnen verlangt wird. Jedem, der an einem Software-Engineering-Projekt mit RUP beteiligt ist, wird mindestens eine der in RUP definierten Rollen zugeordnet. Jede Rolle hat gewisse Aufgaben und Arbeitsergebnisse, für die sie verantwortlich ist. Außerdem werden Anleitungen gegeben, wie diese Rollen zusammenarbeiten. Dazu werden Aktivitäten beschrieben, die erforderlich sind, um den konfigurierten Prozess umzusetzen (dies wird als Bereitstellungsprozess bezeichnet).

Prozessentwickler finden Anleitungen zum Definieren, Konfigurieren, Anpassen und Implementieren von Engineering-Prozessen. Die RUP-Produktfamilie umfasst eine Reihe von Tools, die das Definieren, Konfigurieren und Anpassen des Engineering-Prozesses ermöglichen und vereinfachen.

Mit RUP werden diverse Sichten für die verschiedenen Gruppen von Softwareentwicklern bereitgestellt.

Sollten Sie RUP für Ihr Projekt konfigurieren?

Eines der Kernverfahren in RUP ist die iterative und inkrementelle Entwicklung. Behalten Sie dieses Verfahren beim Einstieg in RUP immer im Hinterkopf. In RUP wird nicht versucht, alles auf einmal zu tun. Wählen Sie einen Ansatz, bei dem Sie RUP implementieren, erlernen und verwenden, der selbst iterativ und inkrementell ist. Beginnen Sie mit der Bewertung Ihres vorhandenen Prozesses und wählen Sie ein oder zwei Schlüsselbereiche aus, die Sie verbessern möchten. Setzen Sie RUP zunächst ein, um diese Bereiche zu verbessern, und nehmen Sie dann in späteren Iterationen oder Entwicklungszyklen nach und nach Verbesserungen in anderen Bereichen vor.

Rufen Sie die folgenden Links auf, wenn Sie mehr zu diesen Themen erfahren möchten:

Warum sollte man RUP verwenden?

RUP bietet einem Softwareentwicklungsanwender eine standardisierte und doch konfigurierbare Prozessumgebung. Diese Prozessumgebung zeichnet sich durch Folgendes aus:

Im Grunde ist RUP eine Sammlung von Software-Engineering-Verfahren, die fortlaufend verbessert werden, um Veränderungen bei den branchenüblichen Verfahren Rechnung zu tragen.

Wenn Sie Stakeholder in einem Softwareentwicklungsprojekt sind, bringt Ihnen RUP nahe, was von der Entwicklung erwartet werden kann. RUP enthält ein Terminologieglossar und eine Wissensenzyklopädie, die Ihnen dabei helfen, Ihre Anforderungen effektiv an das Softwareentwicklungsteam zu kommunizieren.

Für einen Softwareentwicklungsanwender ist diese Prozessumgebung eine zentrale und allgemein gültige Prozessdefinition, die von allen Mitgliedern des Softwareentwicklungsteams verwendet werden kann und zu einer klaren und unmissverständlichen Kommunikation zwischen Teammitgliedern beitragen kann. Auf diese Weise können Sie von Ihnen erwartete Rolle im Projektteam ausfüllen, wenn klar definiert ist, welches Ihre Zuständigkeiten sind. Als allgemeine Software-Engineering-Referenz stellt RUP ein reichhaltiges Angebot von Anleitungen zu Softwareentwicklungsverfahren zur Verfügung, die unerfahrene wie erfahrene Anwender gleichermaßen als wertvolle Quelle empfinden werden. Selbst wenn Sie ein "Einzelkämpfer" sind, werden Sie RUP als hilfreichen Mentor empfinden, der Ihnen beim Entwickeln von Weltklassesoftware hilft.

Wenn Sie Manager oder Teamleiter sind, bietet RUP Ihnen einen Prozess, mit dem Sie effektiv mit Ihren Mitarbeitern kommunizieren können und die Planung und Steuerung ihrer Arbeiten entsprechend verwalten können.

Als Prozessentwickler erhalten Sie mit RUP eine solide Architekturgrundlage und reichhaltiges Material, aus dem Sie Ihre Prozessdefinition erstellen und diese Grundlage wie gewünscht konfigurieren und erweitern können. Sie sparen damit enorm viel Zeit und Aufwand ein, der bei sonst beim Erstellen einer solchen Prozessdefinition ohne Vorlage anfallen würde.

Wann sollte man RUP verwenden?

RUP-Plattform

RUP kann sofort bei Beginn eines neuen Softwareprojekts eingesetzt und auch in nachfolgenden Entwicklungszyklen, lange nachdem das ursprüngliche Projekt beendet ist, weiterverwendet werden. Die Art und Weise, in der RUP verwendet wird, muss jedoch je nach Anforderungen variiert werden. Es gibt verschiedene Aspekte zu berücksichtigen, die bestimmen, wann und wie die verschiedenen Teile von RUP verwendet werden:

Wo kann man mehr über RUP erfahren?

Die folgenden Quellen können Ihnen helfen, sich schneller in RUP einzuarbeiten:

  • Diverse Veröffentlichungen verschiedener Autoren:
    • The Rational Unified Process, An Introduction, Second Edition. [KRU00]
    • The Rational Unified ProcessMade Easy, A Practitioners Guide to the RUP. [KRO03]
    • The Unified Software Development Process. [JAC98]
    • Software Project Management: A Unified Framework [ROY98]
    • Diverse White Paper zu verschiedenen Verfahren, die in RUP empfohlen werden.
    • Viele Artikel auf der Website The Rational Edge, einem Onlinemagazin (e-zine).

  • Die Website developerWorks®-Rational-Website zu RUP.
  • Rational University bietet praxisorientiertes Prozesstraining.
  • IBM/Rational Beratungsservices, die Mentoring und Unterstützung durch technische Spezialisten bieten, die in der Implementierung und Umsetzung von RUP sehr erfahren sind.