Einheitlicher Prozess

Das Einheitlicher Softwareentwicklungsprozess oder Einheitlicher Prozess ist ein iterativ und inkrementell Softwareentwicklungsprozess Rahmen. Die bekannteste und ausführlich dokumentierte Verfeinerung des einheitlichen Prozesses ist die Rational einheitlicher Prozess (RUP). Andere Beispiele sind Aufmachen und Agiler einheitlicher Prozess.

Profil eines typischen Projekts, das die relativen Größen der vier Phasen des einheitlichen Prozesses zeigt.

Überblick

Der einheitliche Prozess ist nicht nur ein Prozess, sondern ein erweiterbarer Rahmen, der für bestimmte Organisationen oder Projekte angepasst werden sollte. Das Rational einheitlicher Prozess ist in ähnlicher Weise ein anpassbares Framework. Infolgedessen ist es oft unmöglich zu sagen, ob eine Verfeinerung des Prozesses von UP oder RUP abgeleitet wurde, und daher werden die Namen tendenziell austauschbar verwendet.

Der Name Einheitlicher Prozess im Gegensatz zu Rational einheitlicher Prozess wird im Allgemeinen verwendet, um den generischen Prozess zu beschreiben, einschließlich der Elemente, die den meisten Verfeinerungen gemeinsam sind. Das Einheitlicher Prozess Der Name wird auch verwendet, um potenzielle Probleme der Markenverletzung zu vermeiden Rational einheitlicher Prozess und Rupe sind Marken von IBM. Das erste Buch, um den Prozess zu beschreiben Der einheitliche Softwareentwicklungsprozess (ISBN0-201-57169-2) und 1999 veröffentlicht von Ivar Jacobson, Grady Booch und James Rumbaugh. Seitdem waren verschiedene Autoren nicht verbunden mit Rationale Software Habe Bücher und Artikel mit dem Namen veröffentlicht Einheitlicher Prozesswährend die Autoren mit verbundenen Artikeln Rationale Software den Namen bevorzugt haben Rational einheitlicher Prozess.

2012 die Disziplinierte agile Lieferung Framework wurde veröffentlicht, ein Hybrid -Framework, das Strategien aus einheitlichen Prozess, Scrum, XP und anderen Methoden annimmt und erweitert.

Einheitliche Prozesseigenschaften

Iterativ und inkrementell

Diagram illustrating how the relative emphasis of different disciplines change over the course of a project
Diagramm, das zeigt, wie sich die relative Betonung verschiedener Disziplinen im Verlauf des Projekts ändert

Der einheitliche Prozess ist ein iterative und inkrementelle Entwicklung Prozess. Die Ausarbeitung, Bau- und Übergangsphasen werden in eine Reihe von Zeitbox -Iterationen unterteilt. (Die Inception -Phase kann auch für ein großes Projekt in Iterationen unterteilt werden.) Jede Iteration führt zu einem Zuwachs, eine Freisetzung des Systems, das im Vergleich zur vorherigen Version zusätzliche oder verbesserte Funktionen enthält.

Obwohl die meisten Iterationen in den meisten Prozessdisziplinen Arbeiten enthalten (z.B. Anforderungen, Design, Implementierung, Testen) Die relative Anstrengung und Betonung werden sich im Verlauf des Projekts ändern.

Architekturzentriert

Der einheitliche Prozess besteht darauf, dass die Architektur im Mittelpunkt der Bemühungen des Projektteams zur Gestaltung des Systems steht. Da kein einziges Modell ausreicht, um alle Aspekte eines Systems abzudecken, unterstützt der einheitliche Prozess mehrere Architekturmodelle und -ansichten.

Eines der wichtigsten Erbringung des Prozesses ist die ausführbare Architekturbasis, die während der Ausarbeitungsphase erstellt wird. Diese teilweise Implementierung des Systems dient dazu, die Architektur zu validieren und als Grundlage für die verbleibende Entwicklung zu fungieren.

Risikobezogene

Der einheitliche Prozess verpflichtet das Projektteam, sich auf die kritischsten Risiken zu Beginn des Projektlebenszyklus zu konzentrieren. Die Erbringung jeder Iteration, insbesondere in der Ausarbeitungsphase, müssen ausgewählt werden, um sicherzustellen, dass zuerst die größten Risiken behoben werden.

Projektlebenszyklus (Phasen eines einheitlichen Prozesses)

Der einheitliche Prozess unterteilt das Projekt in vier Phasen:

  • Beginn
  • Ausarbeitung (Meilenstein)
  • Bau (Freigabe)
  • Übergang (endgültige Produktionsveröffentlichung)

Jede Phase enthält im Allgemeinen mehrere Iterationen (mit dem Namen I1, E1, E2, C1 usw. in der UP -Phase -Abbildung). Die genaue Anzahl der Iterationen in jeder Phase hängt von der Skala und Art des Projekts ab. Beachten Sie, dass die UP -Phase -Illustration hier genau 1, 2, 4 und 2 Iterationen in den vier Phasen enthält. Dies ist jedoch lediglich ein Beispiel dafür, wie ein bestimmtes Projekt aussehen könnte.

Anfangsphase

Inception ist die kleinste Phase des Projekts, und im Idealfall sollte es ziemlich kurz sein. Wenn die Inception-Phase lang ist, kann dies ein Hinweis auf eine übermäßige Spezifikation im Voraus sein, was dem Geist des einheitlichen Prozesses widerspricht.

Entwickeln Sie eine ungefähre Vision des Systems, machen Sie den Geschäftsfall, definieren Sie den Umfang und erstellen Sie eine grobe Kostenschätzung und einen Projektplan.

Ausarbeitungsphase

Während der Ausarbeitungsphase wird erwartet, dass das Projektteam eine gesunde Mehrheit der Systemanforderungen erfasst. Die Hauptziele der Ausarbeitung sind jedoch, bekannte Risikofaktoren anzugehen und die Systemarchitektur zu etablieren und zu validieren. Gemeinsame Prozesse in dieser Phase umfassen die Schaffung von Anwendungsfalldiagramme, konzeptionelle Diagramme (Klassendiagramme mit nur grundlegender Notation) und Paketdiagramme (Architekturdiagramme).

Die Architektur wird hauptsächlich durch die Implementierung einer ausführbaren Architekturbasis validiert. Dies ist eine teilweise Implementierung des Systems, das den zentralesten architektonisch wichtigsten Komponenten enthält. Es ist in einer Reihe kleiner Zeitbox-Iterationen eingebaut. Am Ende der Ausarbeitungsphase muss die Systemarchitektur stabilisiert sein und die ausführbare Architekturbasis muss nachweisen, dass die Architektur die wichtigste Systemfunktionalität unterstützt und das richtige Verhalten in Bezug auf Leistung, Skalierbarkeit und Kosten aufweist.

Die endgültige Ausarbeitungsphase liefert ein Plan (einschließlich Kosten- und Zeitplanschätzungen) für die Bauphase. Zu diesem Zeitpunkt sollte der Plan genau und glaubwürdig sein, da er auf der Ausarbeitungsphaseerfahrung basieren und während der Ausarbeitungsphase erhebliche Risikofaktoren gemeldet werden sollten.

Konstruktionsphase

Der Bau ist die größte Phase des Projekts. In dieser Phase basiert der Rest des Systems auf der Fundament, die in Ausarbeitung gelegt wurde. Systemfunktionen werden in einer Reihe von kurzen Zeit-Box-Iterationen implementiert. Jede Iteration führt zu einer ausführbaren Version der Software. Es ist üblich, während der Konstruktionsphase Volltext-Anwendungsfälle zu schreiben, und jeder wird zum Beginn einer neuen Iteration. Verbreitet Einheitliche Modellierungssprache (UML) Diagramme, die während dieser Phase verwendet werden Aktivitätsdiagramme, Sequenzdiagramme, Kollaborationsdiagramme, Zustandsübergangsdiagramme und Interaktionsübersichtsdiagramme. Die iterative Implementierung für die niedrigeren Risiken und einfacheren Elemente erfolgt. Die endgültige Konstruktionsphase ist Software, die in der Übergangsphase bereitgestellt werden kann.

Übergangsphase

Die endgültige Projektphase ist der Übergang. In dieser Phase wird das System an die Zielbenutzer bereitgestellt. Feedback, die aus einer ersten Freisetzung (oder Erstveröffentlichungen) erhalten wurden, kann zu weiteren Verfeinerungen im Verlauf mehrerer Übergangsphasen -Iterationen führen. Die Übergangsphase umfasst auch Systemkonvertierungen und Benutzertraining.

Verfeinerungen und Variationen

Die Verfeinerungen des einheitlichen Prozesses variieren voneinander, wie sie das Projekt kategorisieren Disziplinen oder Workflows. Das Rational einheitlicher Prozess definiert neun Disziplinen: Geschäftsmodellierung, Anforderungen, Analyse und Design, Implementierung, Prüfen, Einsatz, Aufbau und Änderungsmanagement, Projektmanagement, und Umfeld. Das Enterprise Unified Process Erweitert RUP durch die Zugabe von acht "Enterprise" -Disziplinen. Agile Verfeinerungen von up wie z. Openup/Basic und die Agiler einheitlicher Prozess Vereinfachen Sie RUP, indem Sie die Anzahl der Disziplinen reduzieren.

Die Verfeinerungen unterscheiden sich auch in der Betonung auf unterschiedlichen Projekten Artefakte. Agile Verfeinerungen rationalisieren RUP, indem sie die Arbeitsabläufe vereinfachen und die Anzahl der erwarteten Artefakte verringern.

Die Verfeinerungen variieren auch in ihrer Spezifikation dessen, was nach der Übergangsphase passiert. Im rationalen einheitlichen Prozess folgt die Übergangsphase typischerweise von einer neuen Inception -Phase. In dem Enterprise Unified Process Auf die Übergangsphase folgt eine Produktionsphase.

Die Anzahl der einheitlichen Prozessverfeinerungen und Variationen ist unzählig. Organisationen, die den einheitlichen Prozess nutzen, beinhalten ausnahmslos ihre eigenen Änderungen und Erweiterungen. Das Folgende ist eine Liste einiger der bekannter bekannten Verfeinerungen und Variationen.

Verweise