Einleitung


[Seminarübersicht] ... [Einführung in OMT] ... [Das Objektmodel]


Übersicht:


Who's who im Methodenschungel

 

Abb. 01 (Methoden und deren Erfinder)
Abb. 1

J. Rumbaugh ist weder der erste noch der einzige, der eine eigene Entwurfstechnik publizierte. Die Idee der objektorientierten Programmierung ist schon ca. 25 Jahre alt. Es sind viele Verfahren bekannt und werden meistens mit dem Namen des jeweiligen Erfinders benannt. Rumbaugh hat seine Methode bei der Firma General Electric entwickelt. Seine Methode fand große Verbreitung, da sie eng angelehnt an konventionelle Entwurfstechniken, wie z.B. Entity-Relationship-Diagramme, angelehnt ist. Schwerpunkte der OMT-Methode sind in der Analysephase und in dem sprachunabhängigen Design zu sehen.

Peter Coad und Edward Yourdon entwickelten eine Methode, die aufgrund der geringen Komplexität als Einsteigerverfahren bekannt ist. Coad und Yourdan verwenden keine Diagramme sonden fünf verschiedene Schichten in einem einzigen Diagramm, die wie Folien aufeinander gelegt werden. Es werden zwar nur wenige, verschiedene Symbole verwendet, aber durch das Übereinanderlegen der Schichten, ist das Diagramm relativ schwer von Hand zu zeichnen. Das Ausfüllen der verschiedenen Schichten dient der schrittweisen Verfeinerung des Systems. Eine Schicht enthält beispielsweise Klassen und Objekte, eine andere Methoden. Auch einzelne Zustandsdiagramme können im Rahmen einer dynamischen Analyse für einzelne Objekte angelegt werden.

Shlear und Mellor sind die Verfasser des ersten Buchs zum objektorientierten Entwurf. Ihr Ansatz basiert auf herkömmlichen Verfahren der Datenmodellierung und stellt unterschiedliche Notationen für die Analyse- und Designphase bereit. Insgesamt ist ihr Verfahren recht kompliziert, da insgesamt 15 verschiedene Diagrammtypen verwendet werden. Dennoch soll ihre Methode die erste Wahl zur Modellierung von Echtzeitsystemen darstellen.

Wirfs-Brock kommt praktisch bis auf die Verwendung eines einfachen Vererbungsgrafen ohne Datenmodellierung aus. Er ist bekannt für die CRC-Karten zur Beschreibung eines Systems. CRC steht für Class-Responsibilites-Collaborators (Klassen-Verantwortlichkeiten-Mitwirkende). Eine CRC-Karte dient zur anfänglichen Identifizierung von Klassen in einem System. Neben dem Namen der Klasse sind auf der Karte in dem Feld für "Responsibilities" die Attribute und Operationen und in dem Feld für "Collaborators" alle Klassen, die mit der zu beschreibenden Klasse Beziehung stehen, aufgeführt. Die Methode von Wirfs-Brock soll bei Smalltalk-Entwicklern sehr verbreitet sein.

Die Methode von Booch war Anfang der 90er Jahre zusammen mit der Methode von Rumbauh die beliebteste Methode und wird auch heute noch häufig verwendet. Seine Methode zeichnet sich durch eine gute Abdeckung kommerzieller, technischer und (vergleichsweise) auch zeitkritischer Systeme aus. Auffällig ist das von ihm verwendete Symbol für die grafische Notation einer Klasse: eine Wolke.

Ivar Jacobson stammt aus dem Bereich der Telekommunikation und ist bekannt durch das Verfahren der USE-CASES. Dieses sind konkrete Anwendungsfälle, die bei der Benutzung eines Systems auftreten. Aus einem Anforderungskatalog isoliert man solche Fälle und identifiziert die von außen einwirkenden Faktoren ('Actors'). Die gewonnenen Informationen werden zu Modellen kondensiert, die verschiedene Aspekte der Anwendung darstellen.

Unified Modeling Language (UML). Seit 1995 gibt es unter dem Dach von Rational Software Cooperation eine Zusammenarbeit von Booch und Rumbaugh zu der auch Jacobson kurze Zeit später hinzustoß. Das Ziel dieser Zusammenarbeit ist die Eliminierung von unnötigen Unterschieden der verschiedenen Verfahren, um so eine einheitliche Grundlage für Entwickler und Toolbuilder zu generieren.

[Seitenanfang]


Objektorientierte Programmierung

Die Grundlagen der Objektorientierten Programmierung sollten dem Leser bekannt sein. Die Objektorientierte Programmierung zeichnet sich aus durch:

[Seitenanfang]


Objektorientierte Entwicklung

Die Objektorientierte Entwicklung bezieht sich auf die ersten Phasen des Softwarelebenszyklus. Insbesondere auf die Analyse und Entwicklung, so daß letztendlich die Implementierung der Software gut vorbereitet werden kann.

Die Aufgaben der Objektorientieren Entwicklung hat insbesondere zur Aufgabe:

[Seitenanfang]


Objektorientierte Methodologie

 

Abb. 2 (Obektorientierte Methodologie)
Abb. 2

Ausgangspunkt der Objektorientierten Entwicklung nach Rumbaugh ist die Problembeschreibung. Die ist eine - oft ungenaue - Formulierung des Problems in natürlicher Sprache. Ziel der weiteren Analyse ist es, dieses Problem weiter zu durchleuchten und zu spezifizieren.

In der anschließenden Analyse-Phase (Object Analysis) wird ein Modell entwickelt, daß ausdrückt, was das System leisten soll, wobei noch unklar bleiben darf, wie die Aufgaben gelöst werden sollen.

Wie auch schon in Abb. 2 ersichtlich wird, stützt sich die Analyse-Phase auf drei zu entwickelnde Modelle:

Das Entwickeln der drei Modelle in der Analysephase ist ein iterativer Prozeß. Ausgehend vom Objektmodell wird das dynamische Modell und letztendlich das funktionale Modell entwickelt. Danach werden die drei Modelle mit den Erkenntnissen aus den jeweils anderen Modellen schrittweise verfeinert und gegebenenfalls geändert.

Die nachfolgende Phase der OMT-Methodologie ist der Systementwurf (System Design).

Es erfolgt eine globale Festlegung der Gesamtarchitektur (Zugriffssteuerung, Datenspeicher, Prozessoren, evtl. Parallelität) des Systems. Dabei wird das System weiter in Teilsysteme verfeinert und beschrieben.

Im Objektentwurf (Object Design) entsteht ein Entwurfsmodell mit den ersten Implementierungsdetails. Es werden die benötigten Datenstrukturen und Algorithmen beschrieben. So daß letztendlich in der letzten Phase, in der Implementierung, die Übersetzung in eine bestimmte Programmiersprache (auch denkbar: Datenbank od. Hardware-Konstruktion) möglich wird.

[Seitenanfang]


[Seminarübersicht] ... [Einführung in OMT] ... [Das Objektmodel] ... [Seitenanfang]