Kompositionsstrukturdiagramm
Zweck
Das Kompositionsstrukturdiagramm zeigt die innere Zusammensetzung von Classifiern (Komponenten oder Klassen).
Notation
Teil (Part)
Ein Part ist eine Laufzeitinstanz einer Klasse oder Schnittstelle. Parts werden verwendet um Kompositionsstrukturen oder Entwurfsmuster darzustellen. Parts können Eigenschaften von Klassen sein, d. h. sie können in der Klasse enthalten sein.
Kollaboration (Collaboration)
Eine Kollaboration beschreibt die Struktur von zusammenarbeitenden Teilen, die gemeinsam das Gesamtverhalten der Kollaboration definieren. Die Kollaboration wird mit einem Namen bezeichnet. Die enthaltenen Teile können in der Kollaboration angegeben werden. Das Beispiel stellt den Kollaborationstyp Bezahlen dar. Er enthält die Parts (Rollen) Zahlungsmittel und Produkt. Die Parts können in Kollaborationsanwendungen als Rollen verwendet werden.
Kollaborationsanwendung (Collaboration Use)
Kollaborationsanwendung (Collaboration Use) stellt die Anwendung einer Kollaboration in einem speziellen Fall dar. Im Beispiel wird die Kollaboration Bezahlen für die Mensa modelliert. Die Kollaboration wird von den Parts MensaKarte und Essen verwendet. Die Rollennamen Zahlungsmittel und Produkt entsprechen den Partnamen in o. a. Kollaboration.
Strukturierter Classifier
Strukturierter Classifier setzt sich aus einzelnen Teilen zusammen (Komposition). Er erzwingt die Zusammensetzung des Ganzen aus den richtigen Teilen. Die Objekte (Parts), die im Strukturabschnitt der Klasse angegeben sind, werden beim Initialisieren der Klasse erzeugt und mit ihr gelöscht. So ist in diesem Beispiel sichergestellt, dass eine Rechnung aus einem Rechnungskopf und den Rechnungspositionen besteht.
Anwendungsbereich
Kompositionsstrukturdiagramme können erst sinnvoll eingesetzt werden, wenn die Klassenstrukturen definiert sind. Statische Zusammenhänge können mit Strukturierten Classifiern (oder Klassen) dargestellt werden. Kollaborationen eignen sich zur Modellierung von dynamischen Aspekten eines Systems.
Observer Pattern als Kollaboration
In dieser Kollaboration ist das Design Pattern Observer dargestellt.
Diese Kollabirationsanwendung zeigt die Verwendung der Kollaboration Observer. Die Parts meinObserver und meinSubjekt spielen die Rollen konkreterObs bzw. konkretesSubj bei der Verwendung des Observer Patterns.
Neu in UML 2.0
Kompositionsstrukturdiagramme sind neu in der UML 2.0.