<== Zur Übersicht der Begriffe ==>
Assoziation, Aggregation und Komposition sind Beziehungen zwischen Objekten.
Die drei Beziehungstypen werden auch im Klassendiagramm dargestellt, obwohl es sich bei ihnen nicht um Beziehungen zwischen Klassen, sondern zwischen Objekten handelt.
Die UML unterscheidet ihre Darstellung im Klassendiagramm durch das fehlende Pfeildreieck deutlich von der Vererbung und stellt die drei Typen ebenfalls unterschiedlich dar.
Die Assoziation stellt die allgemeinste Form dieser Beziehung dar. Wegen ihrer Vielseitigkeit gibt es auch sehr viele Namen und sprachliche Beschreibungen. So findet man benutzt-Beziehung, Verwendungsbeziehung und Worte wie "hat", "kennt", "benutzt" usw. verwendet man je nach dem Kontext in der sprachlichen Darstellung.
In der UML-Darstellung wird eine einfache durchgezogene Linie verwendet, die eine offene Pfeilspitze tragen kann.
Aggregation und Komposition lassen sich sprachlich gut mit "besteht aus" beschreiben, da mit ihnen eine "Teil-Ganzes-Beziehung" beschrieben wird.
Dabei ist die Variante der Komposition deutlich schwieriger von der Aggregation zu unterscheiden, als beide von der einfachen Assoziation zu unterscheiden sind und die Klärung hängt oft auch vom Kontext der Software ab. Die Komposition statt einer Aggregation verwendet man, wenn Ganzes und Teil untrennbar verbunden sind, also jeweils ohne einander die Funktion verlieren.
Die UML-Darstellung bei einer Aggregation ist eine einfache durchgezogene Linie mit einer offenen Raute am "Ganzen", bei der Komposition ist die Raute ausgefüllt.
AssoziationZwischen der Klasse Stuhl und der Klasse Zeichnung besteht eine Assoziationsbeziehung. Das erzeugte Stuhlobjekt benutzt das Zeichnungsobjekt [Singleton!] zu seiner Darstellung. |
![]() |
Aggregation |
Komposition |
© Claus Albowski