Um die Grundsätze von RUP einzuhalten, kann Ihr Team Rational Software Architect verwenden und so die bewährten Verfahren für den Lebenszyklus der Softwareentwicklung anwenden.
- Anforderungszusammenstellung und Anwendungsfallmodellierung
Anforderungen können aus verschiedenen Quellen stammen, müssen jedoch von den Systemanalytikern und -architekten in einer Anforderungsdokumentation konsolidiert und verwaltet werden. Aus den Anforderungen kann Ihr Team Systemanwendungsfälle und das übergeordnete Systemverhalten festlegen.
Teams, die Rational RequisitePro verwenden, können die vorhandenen Anforderungsdefinitionen in der Perspektive 'Anforderungsmanagement' den vorhandenen UML-Modellelementen wie Anwendungsfällen zuordnen. Sie können auch Anforderungen aus vorhandenen Modellelementen oder Modellelemente aus vorhandenen Anforderungsdefinitionen erstellen.
Der Softwarearchitekt erstellt ein Anwendungsfallmodell, um die Systemanwendungsfälle, das Systemverhalten und die Actors in dem System zu definieren sowie Benutzerworkflows anzugeben.
- Domänenanalyse
Analytiker und Architekten beschreiben die Systemdomäne mit einer Definition eines übergeordneten Funktionsmodells des Systems. In der Analysephase werden die in dem System zu speichernden Daten und die Art ihrer Verarbeitung festgelegt.
Der Architekt erstellt ein Analysemodell zur Beschreibung einer logischen Sicht der funktionalen Anforderungen. Dieses Modell definiert übergeordnete Objekte in dem System und deren Interaktionen.
- Detaillierte Ausgestaltung der Architektur
Der Architekt entwirft gemeinsam mit dem Softwareentwicklungsteam die Systemarchitektur im Detail.
Bei dem Detailentwurf nutzt das Entwicklerteam das während der Analyse erstellte übergeordnete Modell und erstellt das Designmodell. Die Entwickler fügen Details zu dem Modell hinzu und beschreiben die Implementierung des Systems, beispielsweise Programmierkonstrukte und die für Persistenz, Sicherheit, Protokollierung und Bereitstellung verwendeten Technologien.
Das Designmodell lässt sich durch die Anwendung bewährter Entwurfsmuster und automatisierter Modell-in-Modell-Umsetzungen weiter optimieren.
- Implementierung
Das Entwicklerteam implementiert die Anwendung auf der Basis des genehmigten Entwurfs.
Der Übergang vom Entwurf zur Implementierung erfolgt, indem die Entwickler das Modell mit Hilfe von automatisierten Umsetzungen in Code (wie Java, Enterprise JavaBeans (EJB), C++ oder CORBA IDL) umwandeln und gleichzeitig die Entwicklung und Bereitstellung der Anwendung mit den Funktionen für Software- und Webentwicklung, Debugging, Tests und Bereitstellung fortsetzen.
Die Entwickler von Java-Anwendungen können zusätzliche Strukturanalyse- und Steuerfunktionen nutzen, um sicherzustellen, dass der Code die vordefinierten und benutzerspezifischen Strukturregeln einhält. Darüber hinaus können die Entwickler mit Architectural Discovery, einer automatisierten Musterfilterfunktion, nach bekannten strukturellen Mustern im Java-Code suchen.