Rational einheitlicher Prozess

Das Rational einheitlicher Prozess (Rupe) ist ein iterativ Softwareentwicklungsprozess Framework erstellt von der Rationale Software Unternehmen, eine Abteilung von IBM seit 2003.[1] RUP ist kein einzelner konkreter präskriptiver Prozess, sondern ein anpassungsfähiger Prozess Rahmen, sollen von den Entwicklungsorganisationen und Software -Projektteams zugeschnitten werden, die die Elemente des Prozesses auswählen, die für ihre Bedürfnisse geeignet sind. RUP ist eine spezifische Implementierung der Einheitlicher Prozess.

Geschichte

Rationale Software entwickelte ursprünglich den rationalen einheitlichen Prozess als Softwareprozessprodukt. Das Produkt enthält eine hyperlinde Knowledge-Base mit Probe Artefakte und detaillierte Beschreibungen für viele verschiedene Arten von Aktivitäten. RUP ist im RMC -Produkt (Rational Method Composer) enthalten, das die Anpassung des Prozesses ermöglicht.

Philippe KruchttenEin erfahrener rationaler technischer Vertreter wurde beauftragt, das ursprüngliche Rup -Team zu leiten.

Diese ersten Versionen kombinierten die umfangreichen Felderfahrung der rationalen Software-Organisation, die objektorientierte Systeme (von Rational Field Staff als rationalen Ansatz bezeichnet) mit den Anleitung von Objektorien zu Praktiken wie Anwendungsfällen kombiniert und umfassende Inhalte von Jim Rumbaughs enthielten Objektmodellierungstechnologie (OMT) Ansatz zur Modellierung, Grady Booch's Booch -Methodeund die neu veröffentlichten Uml 0,8.[2][3]

Um diese wachsende Wissensbasis zugänglicher zu machen, zugänglicher, Philippe Kruchtten wurde mit der Zusammenstellung eines expliziten Prozessrahmens für modernes Software -Engineering beauftragt. Diese Bemühungen verwendeten die Html-Basierendem Prozessabgabemechanismus, der nach objektorisch entwickelt wurde. Der resultierende "rationale Einheitsprozess" (RUP) absolvierte ein strategisches Stativ für Rational:

  • a Abmördlicher Prozess diese geführte Entwicklung
  • Werkzeug Das automatisierte die Anwendung dieses Prozesses
  • Dienstleistungen Diese beschleunigte die Übernahme sowohl des Prozesses als auch des Tools.

Diese Anleitung wurde in nachfolgenden Versionen mit Wissen erweitert, die auf den Erfahrungen von Unternehmen beruhen, die Rational erworben hatte.

Im Jahr 1997 wurden dem Ansatz eine Anforderungen und eine Testdisziplin hinzugefügt, ein Großteil des zusätzlichen Materials aus der von Dean Leffingwell et al. Bei Requisite, Inc. und der bei SQA Inc. entwickelten SQA -Prozessmethode wurden beide Unternehmen von Rational Software übernommen.

1998 fügte rationale Software zwei neue Disziplinen hinzu:

  1. Geschäftsmodellierung, ein Großteil dieser Inhalte war bereits im objektorischen Prozess gewesen
  2. Eine Disziplin für Konfiguration und Änderungsmanagement, die durch den Erwerb der Pure Atria Corporation beschafft wird.

Diese Ergänzungen führen zu übergreifenden Prinzipien, die durch rationale und artikulierte innerhalb von RUP als sechs definiert wurden empfohlene Vorgehensweise Für moderne Software -Engineering:

  1. Sich iterativ mit dem Risiko als primärer Iterations -Treiber entwickeln[4]
  2. Anforderungen verwalten
  3. Verwenden Sie eine Komponenten-basierte Architektur
  4. Modellsoftware visuell
  5. Überprüfen Sie die Qualität kontinuierlich
  6. Kontrolländerungen

Diese Best Practices waren eng mit der Produktlinie von Rational in Einklang gebracht und haben beide die kontinuierliche Entwicklung der Produkte von Rational sowie von den Feldteams von Rational verwendet, um Kunden zu helfen, die Qualität und Vorhersehbarkeit ihrer Softwareentwicklungsbemühungen zu verbessern.

Zusätzliche Techniken, einschließlich Leistungstests, UI -Design, Daten Engineering und ein Update, um Änderungen in UML 1.1 widerzuspiegeln.

1999 wurde eine Projektmanagementdisziplin eingeführt, sowie Techniken zur Unterstützung von Softwareentwicklung und Aktualisierungen von Echtzeit, um UML 1.3 widerzuspiegeln. Außerdem das erste Buch, das den Prozess beschreibt, den einheitlichen Softwareentwicklungsprozess (ISBN0-201-57169-2) wurde im selben Jahr veröffentlicht.

Zwischen 2000 und 2003 führten eine Reihe von Änderungen durch die laufenden rationalen Felderfahrung mit iterativer Entwicklung ein, zusätzlich zur Unterstützung der Tool -Unterstützung für die Erstellung von Rup -Instanzen und zur Anpassung des Rup -Frameworks. Diese Änderungen enthielten:

  1. Die Einführung von Konzepten und Techniken aus Ansätzen wie Extreme Programing (XP), die später gemeinsam als agile Methoden bekannt werden würde. Dies umfasste Techniken wie Paarprogrammierung, Test-First-Design und Papiere, in denen erläutert wurde, wie Rup es ermöglichte, XP für größere Projekte zu skalieren.
  2. Eine vollständige Überholung der Testdisziplin, um besser zu reflektieren, wie die Testarbeit in verschiedenen iterativen Entwicklungskontexten durchgeführt wurde.
  3. Die Einführung der unterstützenden Anleitungen - bekannt als "Werkzeugmentoren" - für die Erschließung der Rup -Praktiken in verschiedenen Tools. Diese lieferten rationale Toolbenutzer im Wesentlichen Schritt-für-Schritt-Methodenunterstützung.
  4. Automatisierung der Anpassung von RUP auf eine Weise, mit der Kunden Teile aus dem RUP -Prozess -Framework auswählen, ihre Auswahl mit ihren eigenen Ergänzungen anpassen und weiterhin Verbesserungen in den nachfolgenden Freisetzungen aus rationalem Rational beinhalten.

IBM erwarb im Februar 2003 rationale Software.

Im Jahr 2006 erstellte IBM eine Untergruppe von Rup Agil Projekte - veröffentlicht als OpenSource -Methode genannt Aufmachen durch die Finsternis Webseite.[5]

Rationale einheitliche Prozessthemen

Rup -Bausteine

RUP basiert auf einer Reihe von Bausteinen und Inhaltselementen und beschreibt, was produziert werden soll, die erforderlichen Fähigkeiten und die schrittweise Erklärung, die beschreibt, wie spezifische Entwicklungsziele erreicht werden sollen. Die Hauptbausteine ​​oder Inhaltselemente sind die folgenden:

  • Rollen (WHO) - Eine Rolle definiert eine Reihe verwandter Fähigkeiten, Kompetenzen und Verantwortlichkeiten.
  • Arbeitsprodukte (Was) - Ein Arbeitsprodukt repräsentiert etwas, das sich aus einer Aufgabe ergibt, einschließlich aller Dokumente und Modelle, die während der Arbeit des Prozesses erstellt wurden.
  • Aufgaben (How) - Eine Aufgabe beschreibt eine Arbeitseinheit, die einer Rolle zugeordnet ist, die ein sinnvolles Ergebnis liefert.

Innerhalb jeder Iteration werden die Aufgaben in neun Disziplinen eingeteilt:

Vier Projekt-Lebenszyklus-Phasen

RUP -Phasen und Disziplinen.

Die RUP hat einen Projektlebenszyklus ermittelt, der aus vier Phasen besteht. Diese Phasen ermöglichen es, dass der Prozess in ähnlicher Weise auf einem hohen Niveau präsentiert werden kann wie ein Projekt mit einem „Wasserfall“ -Stilen, obwohl im Wesentlichen der Schlüssel zum Prozess in den Iterationen der Entwicklung liegt, die in allen Phasen liegen . Außerdem hat jede Phase am Ende ein Hauptziel und ein Meilenstein, das das zu erreichene Ziel bezeichnet. Die Visualisierung von Rup -Phasen und -Disziplinen im Laufe der Zeit wird als die bezeichnet Rupe Hump Diagramm.

Anfangsphase

Das Hauptziel ist es, das System als Grundlage für die Validierung der anfänglichen Kosten und Budgets angemessen zu umfangreichen. In dieser Phase wird der Geschäftsfall, der geschäftlichen Kontext, Erfolgsfaktoren (erwartete Einnahmen, Markterkennung usw.) und finanzielle Prognose umfasst. Um den Business Case zu ergänzen, werden ein grundlegendes Anwendungsfallmodell, ein Projektplan, die anfängliche Risikobewertung und die Projektbeschreibung (die Kernprojektanforderungen, Einschränkungen und wichtige Merkmale) generiert. Nachdem diese abgeschlossen sind, wird das Projekt gegen die folgenden Kriterien überprüft:

  • Interessengruppen Übereinstimmung der Umfangsdefinition und Kosten-/Zeitplanschätzungen.
  • Anforderungen des Verständnisses, wie sich die Treue der primären Anwendungsfälle zeigt.
  • Glaubwürdigkeit der Kosten-/Zeitplanschätzungen, Prioritäten, Risiken und Entwicklungsprozesse.
  • Tiefe und Breite jedes architektonischen Prototyps, der entwickelt wurde.
  • Festlegung einer Grundlinie, mit der tatsächliche Ausgaben mit geplanten Ausgaben verglichen werden können.

Wenn das Projekt diesen Meilenstein, der als Lebenszyklus -Objektivmeilenstein bezeichnet wird, nicht überschreitet, kann es entweder abgesagt oder wiederholt werden, nachdem sie neu gestaltet wurden, um die Kriterien besser zu erfüllen.

Ausarbeitungsphase

Das Hauptziel besteht darin, die durch Analyse bis zum Ende dieser Phase identifizierten wichtigsten Risikoelemente zu mildern. In der Ausarbeitungsphase wird das Projekt anfängt, Gestalt zu nehmen. In dieser Phase wird die Problemdomänenanalyse durchgeführt, und die Architektur des Projekts erhält seine grundlegende Form.

Das Ergebnis der Ausarbeitungsphase ist:

  • Ein Anwendungsmodell, bei dem die Anwendungsfälle und die Akteure identifiziert wurden und die meisten Anwendungsbeschreibungen entwickelt werden. Das Anwendungsmodell sollte 80% vollständig sein.
  • Eine Beschreibung der Softwarearchitektur in einem Software -Systementwicklungsprozess.
  • Ein Ausführbare Architektur Das realisiert architektonisch bedeutende Anwendungsfälle.
  • Business Case- und Risikoliste, die überarbeitet werden.
  • Ein Entwicklungsplan für das Gesamtprojekt.
  • Prototypen, die jedes identifizierte technische Risiko nachweislich mindern.
  • Ein vorläufiges Benutzerhandbuch (optional)

Diese Phase muss die Meilensteinkriterien der Lebenszyklusarchitektur überschreiten, in denen die folgenden Fragen beantwortet werden:

  • Ist die Vision des Produkts stabil?
  • Ist die Architektur stabil?
  • Zeigt die ausführbare Demonstration an, dass wichtige Risikoelemente angegangen und gelöst werden?
  • Ist der Bauphase -Plan ausreichend detailliert und genau?
  • Sind sich alle Beteiligten einig, dass die aktuelle Vision mit dem aktuellen Plan im Kontext der aktuellen Architektur erreicht werden kann?
  • Ist die tatsächlichen vs. geplanten Ressourcenausgaben akzeptabel?

Wenn das Projekt diesen Meilenstein nicht bestehen kann, ist es noch Zeit, dass es storniert oder neu gestaltet wird. Nach dem Verlassen dieser Phase wechselt das Projekt jedoch in einen hohen Risikovorgang, bei dem Änderungen bei der Herstellung viel schwieriger und schädlicher sind.

Die wichtigste Domänenanalyse für die Ausarbeitung ist die Systemarchitektur.

Konstruktionsphase

Das Hauptziel ist es, das Softwaresystem zu erstellen. In dieser Phase liegt der Schwerpunkt auf der Entwicklung von Komponenten und anderen Merkmalen des Systems. Dies ist die Phase, in der der Großteil der Codierung stattfindet. In größeren Projekten können mehrere Bauarbeiten entwickelt werden, um die Anwendungsfälle in überschaubare Segmente zu unterteilen, um nachweisbare Prototypen zu erstellen.

Übergangsphase

Das Hauptziel besteht darin, das System von der Entwicklung in Produktion zu „übertragen“, um es dem Endbenutzer zur Verfügung zu stellen und zu verstehen. Zu den Aktivitäten dieser Phase gehören die Schulung der Endbenutzer und des Betrachters und das Beta -Testen des Systems, um es gegen die Erwartungen der Endbenutzer zu validieren. Das System durchläuft auch eine Bewertungsphase, jeder Entwickler, der nicht die erforderlichen Arbeiten erzeugt, wird ersetzt oder entfernt. Das Produkt wird auch gegen das Qualitätsniveau überprüft, das in der Inception -Phase festgelegt ist.

Wenn alle Ziele erreicht sind, ist der Meilenstein für Produktfreisetzungen erreicht und der Entwicklungszyklus ist abgeschlossen.

Das IBM Rational Method Composer Product

Das IBM Rational Method Composer Product ist ein Tool zum Autorieren, Konfigurieren, Betrachten und Veröffentlichungsprozesse. Siehe IBM Rational Method Composer und eine Open -Source -Version Eclipse Process Framework (EPF) Projekt für weitere Details.

Zertifizierung

Im Januar 2007 die neue Rup -Zertifizierungsprüfung für IBM Certified Solution Designer - Rational Unified Process 7.0 wurde veröffentlicht, das die vorherige Version des Kurses ersetzt IBM Rational Certified Specialist - Rational Unified Process.[6] Die neue Prüfung wird nicht nur das Wissen im Zusammenhang mit dem Rup -Inhalt, sondern auch mit den Prozessstrukturelementen testen.[7]

Um die neue Rup -Zertifizierungsprüfung bestehen zu können, muss eine Person IBMs ablegen Test 839: Rational Unified Process V7.0. Sie haben 75 Minuten Zeit, um die 52 Fragenprüfung abzulegen. Der vorübergehende Punktzahl beträgt 62%.[8]

Sechs Best Practices

Sechs beste Softwareentwicklung Für Softwareprojekte werden Praktiken definiert, um Fehler zu minimieren und die Produktivität zu steigern. Diese sind:[9][10]

Iterativ entwickeln
Es ist am besten, alle Anforderungen im Voraus zu kennen. Dies ist jedoch häufig nicht der Fall. Es gibt mehrere Softwareentwicklungsprozesse, die sich mit Lösungen befassen, um die Kosten in Bezug auf Entwicklungsphasen zu minimieren.
Anforderungen verwalten
Denken Sie immer an die von den Benutzern festgelegten Anforderungen.
Verwenden Sie Komponenten
Ein fortgeschrittenes Projekt wird nicht nur vorgeschlagen, sondern tatsächlich unvermeidlich. Dies fördert die Fähigkeit, einzelne Komponenten zu testen, bevor sie in ein größeres System integriert werden. Außerdem ist die Wiederverwendung von Code ein großes Plus und kann durch die Verwendung von leichter erreicht werden Objekt orientierte Programmierung.
Visuell modellieren
Verwenden Sie Diagramme, um alle wichtigen Komponenten, Benutzer und ihre Interaktion darzustellen. "Uml", kurz für Einheitliche Modellierungssprache, ist ein Tool, mit dem diese Aufgabe realisierbarer werden kann.
Qualität überprüfen
Machen Sie das Testen immer zu einem wichtigen Teil des Projekts zu jedem Zeitpunkt. Das Testen wird im Verlauf des Projekts schwerer, sollte jedoch ein konstanter Faktor bei jeder Softwareprodukterstellung sein.
Kontrolländerungen
Viele Projekte werden von vielen Teams erstellt, manchmal an verschiedenen Orten, möglicherweise verschiedene Plattformen usw. Es ist wichtig, um sicherzustellen, dass Änderungen an einem System ständig synchronisiert und verifiziert werden. (Sehen Kontinuierliche Integration).

Siehe auch

Verweise

  1. ^ IBM erwirbt rational
  2. ^ Jacobson, Sten (2002-07-19). "Der rationale objektorische Prozess - ein UML -basierter Software -Engineering -Prozess". Rationale Software Scandinavia AB. Archiviert von das Original Am 2019-05-27. Abgerufen 2014-12-17.
  3. ^ Kruchtten, Philippe (2004-05-01). Der rationale einheitliche Prozess: eine Einführung. Addison-Wesley. p. 33. ISBN 9780321197702. Abgerufen 2014-12-17.
  4. ^ Aked, Mark (2003-11-25). "Rup in Brief". IBM. Abgerufen 2011-07-12.
  5. ^ "Archivierte Kopie". Archiviert von das Original Am 2014-01-06. Abgerufen 2013-08-03.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)
  6. ^ Krebs, Jochen (2007-01-15). "Der Wert der Rup -Zertifizierung". IBM. Abgerufen 2014-05-05.
  7. ^ "Spacer IBM Certified Solution Designer - IBM Rational Unified Process V7.0". IBM. Abgerufen 2008-05-13.
  8. ^ "Test 839: Rational Unified Process V7.0". IBM. Abgerufen 2008-05-13.[Permanent Dead Link]
  9. ^ Stephen Schach (2004). Klassische und objektorientierte Softwareentwicklung. 6/e, WCB McGraw Hill, New York, 2004.
  10. ^ Rational Unified Process White Paper Archiviert 2009-05-01 am Wayback -Maschine

Weitere Lektüre

  • Ivar Jacobson, Grady Booch, und James Rumbaugh (1999). Der einheitliche Softwareentwicklungsprozess
  • Gary Pollice, Liz Augustine, Chris Lowe und Jas Madhur (2003). Softwareentwicklung für kleine Teams: Ein Rup-zentrierter Ansatz
  • Pro Kroll, Philippe Kruchtten (2003). Rational Unified Process wurde einfach gemacht: Der Leitfaden eines Praktizierenden zur RUP
  • Pro Kroll, Bruce Mac Isaac (2006). Agilität und Disziplin einfach gemacht: Praktiken von Openup und RUP
  • Philippe Kruchtten (1998). Der rationale einheitliche Prozess: eine Einführung
  • Ahmad Shuja, Jochen Krebs (2007). RUP -Referenz- und Zertifizierungshandbuch
  • Walker Royce, Software -Projektmanagement, ein einheitlicher Framework

Externe Links