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