Information Technology Reference
In-Depth Information
Die Entwicklung eines objektorientierten Systems erfolgt in drei Phasen, die im An-
schluss an eine Initialisierungs- oder Planungsphase durchlaufen werden:
• In der
Definitionsphase
wird eine
Objektorientierte Analyse (OoA)
durchgeführt, bei
der ein Fachkonzept erarbeitet wird. Das Fachkonzept konzentriert sich auf die Lösung
der im
Pflichtenheft
festgelegten problembezogenen Aufgabenstellungen, abstrahiert
also beispielsweise von der konkreten Realisierung einer Benutzeroberfläche. Es kann
dabei das System erstens durch ein
statisches Modell
beschreiben, das die Fachkon-
zeptklassen mit ihren Vererbungs- und Benutzungsbeziehungen anzeigt, und zweitens
durch ein
dynamisches Modell,
das die Lebenszyklen der Objekte und den zeitlichen
Ablauf ihrer Kommunikation darstellt (Shiaer und Mellor
1996
). Je nach Anwendung
haben die beiden Modelle ein unterschiedliches Gewicht. Bei einer Datenbankanwen-
dung tritt das statische Modell stärker hervor, bei einer stark interaktiven Anwendung
das dynamische Modell (Coad und Yourdon
1991a
,
b
).
• In der
Entwurfsphase
wird ein
Objektorientiertes Design (OoD)
erarbeitet, bei dem
das OoA-Modell um
technische Aspekte
erweitert wird. Zudem werden den einzelnen
Klassen technisch notwendige Komponenten, wie zum Beispiel Konstruktoren, hinzu-
gefügt.
• In der
Implementierungsphase
wird schließlich das Objektmodell in ein
Programm
ei-
ner objektorientierten Programmiersprache umgesetzt.
Konkrete Modelle verfeinern und untergliedern diese Phasen weiter und ermöglichen
eventuell eine mehrfache, zyklische Ausführung der einzelnen Schritte. Im Softwareent-
wicklungsprozess können CASE-Tools (
Computer Aided Software Engineering)
einge-
setzt werden, die die Entwickler bei den einzelnen Schritten unterstützen oder sogar ein-
zelne Schritte teilautomatisieren.
Im Laufe der vergangenen Jahre wurde eine Reihe von Modellen entworfen, die die be-
schriebenen Arbeitsschritte und die damit verbundenen Vorgehensweisen in unterschiedli-
cher Weise anordnen. Im einfachsten Fall werden die Schritte, die zur Erstellung einer Lö-
sung durchzuführen sind, jeweils nur einmal und dabei einer nach dem anderen bearbeitet.
Aus diesem Ansatz ergibt sich ein Vorgehensmodell mit einer streng sequentiellen Pha-
senstruktur, bei dem das Ergebnis einer Phase vollständig erarbeitet sein muss, bevor die
nächste Phase damit fortfährt. Das Ende einer Phase wird durch einen so genannten Mei-
lenstein markiert, bei dem ein dokumentiertes Resultat vorgelegt werden muss, beispiels-
weise eine Spezifikation der Systemarchitektur oder ein lauffähiger Programmcode. Das
Ziel ist also, ein vollständiges Produkt in einem Durchgang durch die Arbeitsschritte zu
entwickeln. Die Aufgabe des Managements besteht dabei darin, das Einhalten der Zeitvor-
gaben zu überwachen, d. h. sicherzustellen, dass die einzelnen Meilensteine im gegebenen
Zeitrahmen erreicht werden und die Projektbeteiligten entsprechend zu koordinieren. Al-
lerdings sind solche sequentiellen Modelle gerade im Bereich des Cognitive Computing
in ihrer reinen Form kaum praktisch einsetzbar, da in späteren Phasen oft Erkenntnisse
gewonnen werden, die die Überarbeitung früherer Phasen erforderlich machen. In der