Assoziation, Aggregation, Komposition

Assoziation

Assoziationen werden in der UML durch eine durchgezogenen Linie repräsentiert. Umgangssprachlich wird diese Beziehung manchmal als "kennt"-Beziehung bezeichnet: "Der Robotor der Baureihe 6 kennt seinen Erschaffer."

Assoziation

Es existieren auch Beziehungen, die auf sich selbst verweisen. Solche Beziehungen werden als reflexiv bezeichnet. Diese Art der Beziehung wird im Rahmen dieses Kurses aber eine untergeordnete Rolle spielen.

 

Aggregation

Eine besondere Form einer Beziehung ist eine Aggregation. Sie wird statt einer Assoziation verwendet, wenn zwischen zwei Klassen eine "Teil-Ganzes-Beziehung" besteht, das heißt, dass sich die eine Klasse unter anderem aus einer bestimmten Anzahl von Objekten der anderen Klasse zusammensetzt. Beachten Sie, dass erst bei der Instanziierung die exakte Anzahl angegeben wird!

Die Zusammensetzung wird Multiplizität genannt. Im Rahmen dieses Kurses muss jede Aggregation auf beiden Seiten mit einer Multiplizität gekennzeichnet werden. Multiplizitäten enthalten teilweise statt einer konkreten Zahl das Symbol "*". Dies steht für eine beliebige Anzahl an Objekten. Gebräuchliche Multiplizitäten sind "0", "1", "2", ... oder "0..1" (gelesen: "0 bis 1"), "0..*" (gelesen: 0 bis beliebig) und "1..*" (gelesen: 1 bis beliebig).

Aggregation

Die Aggregation wird in der UML durch eine durchgezogene Linie mit einer nicht ausgefüllten Raute an einem Ende dargestellt. Die Raute befindet sich immer auf der Seite des "Ganzen". In der obigen Abbildung ist folgender Sachverhalt dargestellt: "Jeder Roboter der Baureihe 6 besitzt 0 bis 2 Antriebe und jeder Antrieb ist in 0 bis 1 Roboter der Baureihe 6 verbaut."

 

Komposition

Eine Komposition ist eine noch speziellere Form der Aggregation. Bei einer Komposition stehen zwei Klassen nicht nur als "Teil-Ganzes-Beziehung" zueinandern, sondern das "Teil" existiert ohne ein "Ganzes" auch nicht (Existenzabhängigkeit). Das bedeutet, dass im Fall einer Zerstörung des Ganzen auch das Teil mitzerstört wird.

In der UML unterscheiden sich Aggregation und Komposition nur in der Befüllung der Raute. Die Multiplizität auf der Seite des Ganzen muss zwangsläufig 1 sein!

Komposition