Am Ende der Ausarbeitungsphase befindet sich der zweite wichtige Projektmeilenstein, Architektur des
Lebenszyklus. An diesem Punkt untersuchen Sie die detaillierten Zielsetzungen und den Umfang des Systems, die
Auswahl der Architektur und die Bewältigungsstrategien für die Hauptrisiken.
Bewertungskriterien
-
Die Produktvision und die Produktanforderungen sind stabil.
-
Die Architektur ist stabil.
-
Die wichtigen Ansätze, die beim Test und bei der Bewertung verwendet werden sollen, sind bewährt.
-
Der Test und die Bewertung ausführbarer Prototypen hat gezeigt, dass die wichtigsten Risikoelemente behandelt und
glaubwürdig aufgelöst wurden.
-
Die Iterationspläne für die Konstruktionsphase sind so detailliert und präzise, dass die Arbeit fortgesetzt werden
kann.
-
Die Iterationspläne für die Konstruktionsphase werden durch glaubwürdige Schätzungen gestützt.
-
Alle Stakeholder stimmen überein, dass die Umsetzung der aktuellen Vision möglich ist, wenn der aktuelle Plan
ausgeführt wird, um das gesamte System im Kontext der aktuellen Architektur zu entwickeln.
-
Das Verhältnis von tatsächlichem Ressourcenaufwand und geplantem Ressourcenaufwand ist akzeptabel.
Wird dieser Meilenstein nicht erreicht, kann das Projekt abgebrochen oder grundlegend überdacht werden.
Wichtige Artefakte (in der Reihenfolge ihrer Bedeutung)
|
Status am Meilenstein
|
Prototypen
|
Es wurden ein oder mehrere ausführbare Architekturprototypen erstellt, um kritische Funktionen und für
die Architektur wichtige Szenarios zu untersuchen. Lesen Sie hierzu die Anmerkung zur Rolle Prototyperstellung.
|
Liste der Risiken
|
Aktualisiert und überprüft. Neue Risiken beziehen sich wahrscheinlich auf die Architektur, insbesondere
auf die Handhabung von nicht funktionalen Anforderungen.
|
Entwicklungsprozess
|
Der Entwicklungsprozess wurde, einschließlich projektspezifischer Richtlinien und Vorlagen,
basierend auf den in der frühen Projektphase gemachten Erfahrungen präzisiert und ist ausreichend
definiert, dass die Konstruktionsphase fortgeführt werden kann.
|
Entwicklungsinfrastruktur
|
Die Entwicklungsumgebung für die Konstruktion wurde eingerichtet, einschließlich aller Tools und
der Automatisierungsunterstützung für den Prozess.
|
Softwarearchitekturdokument
|
Erstellt und Referenzversion erstellt, einschließlich der Beschreibungen der für die Architektur
wichtigen Anwendungsfälle (Anwendungsfallsicht), der Ermittlung von Schlüsselmechanismen und der
Designelemente (logische Sicht plus Definition der Prozesssicht und der Deployment-Sicht (siehe Arbeitsergebnis: Deployment-Modell), falls das System
verteilt ist oder parallel genutzt wird.
|
Designmodell (und alle Artefakte, aus denen es sich
zusammensetzt)
|
Definiert und Referenzversion erstellt. Anwendungsfallrealisierungen, die das Design betreffen, wurden
definiert, und Designelementen wurde das erforderliche Verhalten entsprechend zugeordnet. Komponenten
wurden festgelegt und die Entscheidungen bezüglich Erstellung, Kauf und Wiederverwendung ausreichend
dargelegt, um die Kosten und den Zeitplan für die Konstruktionsphase zuverlässig bestimmen zu können.
Die ausgewählten Architekturkomponenten wurden integriert und auf der Basis der primären Szenarios
bewertet. Die aus diesen Aktivitäten gewonnenen Erkenntnisse können zu einer Überarbeitung der
Architektur unter Berücksichtigung alternativer Designs oder zu einem Überdenken der Anforderungen
führen.
|
Datenmodell
|
Definiert und Referenzversion erstellt. Wichtige Datenmodellelemente (z. B. wichtige Entitäten,
Beziehung, Tabellen) wurden definiert und überprüft.
|
Implementierungsmodell (und alle Artefakte, aus denen
es sich zusammensetzt) einschließlich Implementierungselemente)
|
Ausgangsstruktur erstellt und Prototypen für Hauptkomponenten erstellt.
|
Vision
|
Konkretisiert, basierend auf neuen Informationen, die in der Phase gewonnen wurden und ein umfassendes
Verständnis der wichtigsten Anwendungsfälle bewirken, die die Entscheidungen bezüglich der Architektur
und der Planung beeinflussen.
|
Softwareentwicklungsplan
|
Aktualisiert und erweitert auf Konstruktions- und Übergangsphase.
|
Iterationsplan
|
Iterationsplan für die abgeschlossene und überprüfte Konstruktionsphase.
|
Anwendungsfallmodell (Akteure, Anwendungsfälle)
|
Anwendungsfallmodell ungefähr zu 80 % abgeschlossen. Alle Anwendungsfälle wurden in der
Anwendungsfallübersicht identifiziert, alle Akteure festgelegt, und die meisten
Anwendungsfallbeschreibungen (Erfassung der Anforderungen) wurden entwickelt.
|
Ergänzende Spezifikationen
|
Die als ergänzende Anforderungen erfassten nicht funktionalen Anforderungen sind dokumentiert und
überprüft.
|
Testsuite ("Smoke-Test")
|
Es wurden Tests implementiert und durchgeführt, um die Stabilität des Builds für alle ausführbaren
Releases, die während der Ausarbeitungsphase erstellt wurden, zu überprüfen.
|
Architektur für Testautomatisierung
|
Eine Referenzkomposition der verschiedenen Mechanismen und wichtigen Softwareelemente, die die
grundlegenden Merkmale des Softwaresystems für die Testautomatisierung verkörpern.
|
Optionale Artefakte
|
Status am Meilenstein
|
Kosten-Nutzen-Analyse
|
Wird aktualisiert, wenn Untersuchungen der Architektur Fragen aufdecken, die die grundlegenden Annahmen
für das Projekt ändern.
|
Analysemodell
|
Kann als formales Artefakt entwickelt werden, wird häufig nicht formal verwaltet, sondern zu einer
frühen Version des Designmodells weiterentwickelt.
|
Unterstützendes Material für Benutzer
|
Benutzerhandbücher und anderes Schulungsmaterial. Vorläufiger Entwurf, der auf Anwendungsfällen
basiert. Ist möglicherweise erforderlich, wenn das System eine umfangreiche Benutzerschnittstelle hat.
|
Rational Unified Process gibt dem Softwarearchitekten und dem Projektleiter die Freiheit, Prototypen verschiedener
Typen (siehe Konzept: Prototypen) im Rahmen einer Risikominderungsstrategie zu erstellen. Einige
dieser Prototypen dienen nur Versuchszwecken und werden nacheinander gelöscht. Es ist jedoch wahrscheinlich,
insbesondere für große und neu entwickelte Systeme, dass die Architektur während der Ausarbeitungsphase als Serie
evolutionärer Prototypen für verschiedene Probleme erstellt wird. Am Ende der Ausarbeitung steht dann eine integrierte,
stabile Architekturbasis. Das soll jedoch nicht heißen, dass bei der Prototyperstellung während der Ausarbeitung eine
Gruppe von Architekturfragmenten entstehen soll, die nicht integriert werden müssen.
|