Kollaborationsdiagramme
Die Motivation in der Erstellung der Kollaborationsdiagramme besteht
im wesentlichen darin, eine kompaktere Form der Sequenzdiagramme
zu erhalten. Kollaborationsdiagramme beinhalten die gleichen Objekte und
Operationen wie auch die Sequenzdiagramme. Der Fokus dieser Betrachtungsweise
liegt auf den Objekten und deren Interaktion. Eine zeitliche Abfolge wird
durch eine Numerierung innerhalb einer Hierarchieebene kenntlich gemacht.
Die Hierarchie ergibt sich aus der Aufruftiefe. Ein Problem bei der Numerierung
ergab sich aus der Frage, wie Alternativen nummeriert werden sollten. Für
diese Darstellung gab es keine Beschreibung in der UML 1.1 Spezifikation.
Unser Lösungsvorschlag bestand darin, gleiche Nummern zu vergeben.
Die Unterschiedlichkeit wurde durch die Angabe von Bedingungen deutlich
gemacht.
Probleme bei der Erstellung der Kollaborationsdiagramme ergaben sich
bei der Zuordnung der Operationen in die richtigen Hierarchieebenen.
1. Beispiel: "Bestellung bearbeiten"
Es werden alle Objekte, die im Sequenzdiagramm verwendet werden, in das
Kollaborationsdiagramm übertragen. Die Objekte werden durch die Operationsaufrufe
miteinander verbunden, wie sie auch im Sequenzdiagramm Verwendung finden.
Iterationen werden durch ein vorangestelltes Asterik gekennzeichnet. Bedingungen
werden über den Pfeil, der den bedingten Operationsaufruf markiert,
dargestellt.
Abbildung 12a: Kollaborationsdiagramm zum Anwendungsfall "Bestellung
bearbeiten" - Entwurf 1
Guided Tour: Weiter bei dem Beispiel zu "Lieferscheine erstellen"
1. Änderung am Kollaborationsdiagramm
zu "Bestellung bearbeiten"
-
Problem:
Es wurde jedoch die Aufrufhierarchie verletzt, indem von den beiden
Alternativen Lieferkartei und Wartekartei auf das Objekt Produkt zugegriffen
wird. Ausgehend vom Bestellposten wird in Abhängigkeit der Zuordnung
zur jeweiligen Kartei die Korrektur im Objekt Produkt vorgenommen. Je nach
Vorhandensein einer ausreichenden Produktmenge wird eine Korrektur des
Bestandes vorgenommen oder die benötigte Menge vorgemerkt.
-
Unsere Lösung:
Der zweite Entwurf des Kollaborationsdiagramms
gliedert das Objekt "Produkt" aus dem bestehenden Kontext aus und fügt
es an das Objekt "Bestellposten Kundenbestellung" an. Entsprechend den
beiden Alternativen existieren zwei Alternativoperationen zu diesem Objekt,
die an die Bedingung eines ausreichenen Lagerbestandes geknüpft sind.
Abbildung 12b: Kollaborationsdiagramm zum Anwendungsfall "Bestellung
bearbeiten" - Entwurf 2
2. Änderung am Kollaborationsdiagramm
zu "Bestellung bearbeiten"
-
Problem:
-
Bei weiteren Überlegungen trat das Problem der adäquaten Einbindung
des Anwendungsfalls "Lagerbestand prüfen" auf. In den ersten beiden
Entwürfen wurde der Anwendungsfall mit Hilfe eines Ovals dargestellt.
So kam die Hierarchiestufe des Anwendungsfalles nur mangelhaft zum Ausdruck.
-
Unsere Lösung:
Im dritten Entwurf erscheint die Einbindung
des Anwendungsfalls nach dem iterativen Operationsaufruf "kartei_zuordnen"
mit der Angabe der Hierachiestufe und zeitlicher Aufrufnummerierung.
Abbildung 12c: Kollaborationsdiagramm zum Anwendungsfall "Bestellung
bearbeiten" - Entwurf 3
3. Änderung am Kollaborationsdiagramm
zu "Bestellung bearbeiten"
-
Problem:
-
In der letzten Verfeinerungsphase wurde ein globales Verwaltungsobjekt
in das Klassenmodell integriert, welches bei den Anwendungsfällen,
die davon betroffen sind, berücksichtigt werden mußte.
-
Unsere Lösung:
In der endgültigen Fassung wurde das globale
Objekt "Verwaltung" als aufrufende Instanz integriert. Daraus ergaben sich
eine Änderung in der Aufrufhierachie, welche durch das Voranstellen
der Zahl 1 an die bisher bestehende Numerierung angepaßt wurde.
Abbildung 12d: Kollaborationsdiagramm zum Anwendungsfall "Bestellung
bearbeiten" - endgültige Version
|
2. Beispiel: "Lieferscheine erstellen"
Auch in diesem Beispiel wird analog wie bei Entwurf 1 des vorhergehenden
Beispiels verfahren.
Abbildung 13a: Kollaborationsdiagramm zum Anwendungsfall "Lieferscheine erstellen" - Entwurf 1
Guided Tour: Weiter bei den Aktivitätsdiagrammen
Änderung am Kollaborationsdiagramm zu
"Lieferscheine erstellen"
Problem:
Es bestanden Probleme bei der korrekten Zuordnung der Operation
"lieferscheine_drucken". Die Zuordnung änderte sich im Zeitverlauf
unter dem nachträglichen Einbezug des globalen Objekts "Verwaltung".
-
Unsere Lösung:
Die endgültige Fassung des Kollaborationsdiagramms
behebt die Probleme folgendermaßen:
-
Integration des globalen Verwaltungsobjekts mit der verbundenen Erhöhung
der Hierarchisierungsebenenanzahl.
-
Änderung der Operation "lieferscheine_drucken" nach "ausdrucken",
um der Abhängigkeit vom Objekt "Lieferschein" gerecht zu werden.
-
Änderung des Stereotyps <<new>> zu <<transient>> der beiden
Lieferschein-Objekte, da diese nur während der Laufzeit des Anwendungsfalls
Bestand haben.
Abbildung 13b: Kollaborationsdiagramm zum Anwendungsfall
"LieferscheineBestellung bearbeiten" - endgültige Version
Guided Tour: Weiter bei der 3. Änderung des Sequenzdiagramms "Wareneingang
bearbeiten" |
Hintergrundinformationen
Hinweise zur Erstellung
Einordnung in das Gesamtbild der UML
Buch: Weiter bei den Aktivitätsdiagrammen
Buch: Zurück zu den Sequenzdiagrammen