4. Der "Objectory Process"
Die UML hilft die Modelle, die während der Analyse und dem Design konstruiert
werden streng formell und eindeutig zu beschreiben. Dies allein reicht aber
nicht um ein komplexes Projekt zu entwickeln. Was außerdem benötigt wird ist
eine feste Vorgehensweise bei der Entwicklung damit sowohl ein gewisser
Kostenrahmen als auch eine bestimmte Entwicklungszeit eingehalten werden können.
Zu diesem Zweck dient der "Objectory Process". Er beschreibt das Vorgehen von
der ersten Idee für ein Projekt bis zur Realisierung und darüber hinaus. Es gibt
viele unterschiedliche Prozesse aber der Objectory Process zeichnet sich
besonders durch folgende Eigenschaften aus:
- Es ist ein Iterativer Prozess.
Das Problem muß nicht im ersten Schritt vollständig erkannt und definiert
werden. Statt dessen kann man sich zunächst auf gewisse Teilaspekte
konzentrieren, diese implementieren, testen und anschließend in der nächsten
Iteration Änderungen und/oder Erweiterungen an den bisher erziehlten Ergebnissen
vornehmen.
- Es wird mit Modellen gearbeitet.
Statt lange, umgangssprachlich formulierte Dokumente anzulegen, wird in jeder
Phase des Prozesses ein exakt definiertes Modell erarbeitet, das in der jeweils
folgenden Phase verwendet werden kann.
- Es ist ein Objekt-Orientierter Prozess
Es werden Objekt-Orientierte Modelle verwendet die auf dem Konzept von Klassen,
Objekten und Assoziationen beruhen und sich der UML zur Darstellung bedienen.
- Er wird durch Software-Tools unterstützt
Besonders Rational, aber auch andere Hersteller bieten Entwicklungswerkzeuge an
die den Objectory Process direkt unterstützen.
Der Objectory Process teilt die Entwicklung zunächst in Zyklen ein.
Jeder Zyklus beschreibt einen kompletten Durchlauf durch alle Phasen des
Prozesses, so daß am Ende jedes Zyklus' eine neue Generation der Software
fertiggestellt wird. Jeder dieser Zyklen besteht wiederum aus vier Phasen,
von denen jede einen ganz besonderen Zweck erfüllt:
- Inception Phase
Die Inception Phase dient vor allem der Vorbereitung der eigentlichen
Softwareentwicklung. Hier wird zunächst ein grobes, oberflächliches Modell des
System erstellt, welches dazu dient bestimmte Risikofaktoren, benötigte
Resourcen und einen Zeitplan für das Projekt zu erstellen.
- Elaboration Phase
Diese Phase entspricht weitestgehend der Analyse. Es wird ein genaues Modell des
Systems erstellt und getestet um etwaige Risikofaktoren auszuschalten
- Construction Phase
Diese Phase faßt das Design und die Implementierung zusammen. Die Software wird
entwickelt, implementiert und getestet bis sie einsatzfähig ist.
- Transition Phase
Während dieser Phase wird die Software veröffentlicht. Ausserdem werden letzte
Fehler behoben oder Änderungen vorgenommen wenn sich während der Verwendung
Ungereimtheiten ergeben. Oft wird die hier veröffentlichte Software auch "Beta"
Software genannt.
Die UML dient hauptsächlich der Beschreibung der Modelle während der vier
Phasen. In der Inception Phase bedient man sich fast ausschließlich der
Use-Case Diagramme um die Anforderungen herauszufinden und einen Überblick über
das System zu bekommen. Die Elaboration Phase und die Contruction Phase bedienen
sich der übrigen Elemente der UML.