Unterschied zwischen Aggregation und Komposition in UML

Hauptunterschied zwischen Aggregation und Komposition

  • Aggregation ist eine Art der Assoziation zwischen zwei Objekten, die die „habe eine“-Beziehung beschreibt, während Komposition eine spezifische Art der Aggregation ist, die Eigentum impliziert.
  • Die Aggregation wird durch eine gerade Linie mit einer leeren Pfeilspitze an einem Ende angezeigt. Andererseits wird die Komposition durch eine gerade Linie mit einer gefüllten Pfeilspitze an einem der Enden angezeigt.
  • In einer Aggregationsbeziehung können miteinander verknüpfte Objekte ohne einander im Geltungsbereich eines Systems verbleiben. Aber in einer Kompositionsbeziehung können miteinander verbundene Objekte nicht ohne einander im Geltungsbereich bleiben.
  • Bei der Aggregation sind verknüpfte Objekte nicht vom anderen Objekt abhängig, während bei der Komposition die Objekte stark voneinander abhängig sind.
  • Bei der Aggregation hat das Löschen eines einzelnen Elements keine Auswirkungen auf ein anderes zugehöriges Element. Im Gegensatz dazu wirkt sich das Löschen eines einzelnen Elements in der Komposition auf ein anderes zugeordnetes Element aus.
  • Die Aggregation wird durch eine gefüllte Raute gekennzeichnet, während eine leere Raute die Zusammensetzung angibt.
Unterschied zwischen Aggregation und Komposition
Unterschied zwischen Aggregation und Komposition

Was ist Aggregation?

Aggregation ist ein Sonderfall der Assoziation, wenn ein Objekt ein anderes Objekt „hat“, zwischen denen eine Aggregation erfolgen kann. Anhand der Richtung zwischen ihnen können Sie angeben, welches Objekt das andere Objekt enthält. Aggregation wird auch als „Has-a“-Beziehung bezeichnet. Es handelt sich um einen Subtyp einer Assoziationsbeziehung in UML.

Was ist Komposition?

Die Komposition ist ein Sonderfall der Aggregation, der Ihnen hilft, eine Ganzteilbeziehung zwischen der Kompositionsklasse und einer untergeordneten (Teil-)Klasse anzugeben.

Unterschied zwischen Aggregation und Komposition in UML

Hier ist der Hauptunterschied zwischen Aggregation und Komposition:

Anhäufung Zusammensetzung
Aggregation ist eine Art der Assoziation zwischen zwei Objekten, die auch die „habe eine“-Beziehung beschreibt. Komposition ist eine spezielle Art der Aggregation, die Eigentum impliziert.
Die Aggregation wird durch eine gerade Linie mit einer leeren Pfeilspitze an einem Ende angezeigt. Die Zusammensetzung wird durch eine gerade Linie mit einer ausgefüllten Pfeilspitze an einem der Enden angezeigt.
Aggregation ist Teil einer Assoziationsbeziehung. Die Komposition ist Teil einer Assoziationsbeziehung.
Aggregation gilt als schwache Art der Assoziation. Die Komposition gilt als starke Assoziationsart.
In einer Aggregationsbeziehung können miteinander verknüpfte Objekte ohne einander im Geltungsbereich eines Systems verbleiben. In einer Kompositionsbeziehung können miteinander verknüpfte Objekte nicht ohne einander im Gültigkeitsbereich verbleiben.
Bei der Aggregation sind verknüpfte Objekte nicht vom anderen Objekt abhängig. In ihrer Zusammensetzung sind Objekte stark voneinander abhängig.
Bei der Aggregation hat das Löschen eines einzelnen Elements keine Auswirkungen auf ein anderes zugehöriges Element. In der Komposition wirkt sich das Löschen eines einzelnen Elements auf ein anderes zugeordnetes Element aus.
Beispiel: Ein Auto braucht ein Rad, aber es braucht nicht immer das gleiche Rad. Ein Auto kann auch mit einem anderen Rad ausreichend funktionieren. Beispiel: Eine Datei wird im Ordner abgelegt. Wenn man den Ordner löscht, wird auch die mit diesem Ordner verknüpfte Datei gelöscht.
In Aggregation, übergeordnetes Element
Beziehung zur untergeordneten Entität.
In der Zusammensetzung ist die übergeordnete Entität Eigentümerin der untergeordneten Entität.
Es wird durch eine gefüllte Raute gekennzeichnet Es wird durch eine leere Raute gekennzeichnet
Das Kind hat kein Leben. Kind kann ein Leben lang haben.
Es wird durch eine hohle Raute neben der Baugruppenklasse dargestellt. Es wird durch eine durchgezogene Raute neben der Baugruppenklasse dargestellt.
Das Löschen einer Baugruppe wirkt sich nie auf deren Teile aus. Im Falle des Besitzens einer Klasse wird das Objekt gelöscht. Es wirkt sich auch auf das enthaltende Klassenobjekt aus.

Aggregation vs. Zusammensetzung: Wichtige Statistiken

Anhäufung Zusammensetzung
Eigentümer Kein Besitzer Einzelbesitzer
Lebenslang Haben ihr Leben lang. Lebenszeit des Besitzers.
Untergeordnetes Objekt Untergeordnete Objekte sind alle unabhängig. Untergeordnete Objekte gehören zu einem einzigen übergeordneten Element.

Beispiel der Zusammensetzung

Der Ordner könnte viele Dateien enthalten, wobei jede Datei genau einen übergeordneten Ordner hat. Wird ein Ordner gelöscht, werden auch alle darin enthaltenen Dateien entfernt. In einer zusammengesetzten Aggregation kann ein Objekt jeweils nur Teil eines Verbunds sein.

Beispiel der Zusammensetzung

Beispiel für Aggregation

Ihr Auto besteht beispielsweise aus Rädern, Motor und Getriebebox, Lenkung und Hauptkörper usw. Es handelt sich um eine Baugruppe, und die anderen Teile sind ihre Bestandteile.

Hier ist das Auto zum Rad eine Aggregation, das Auto zum Motor eine andere Aggregation, das Auto zum Getriebebox ein anderer und so weiter.

Diese Art der Paarung hilft Ihnen, die Vielfalt der Bestandteile innerhalb der Baugruppe als Ergebnis zu definieren. Auch die Anzahl der Objekte kann dargestellt werden.

Ein Auto braucht ein Rad, um richtig zu funktionieren. Das Gleiche können wir jedoch nicht von einem Auto sagen. Die gleiche Logik kann auf Fahrräder, Fahrräder oder jedes andere Fahrzeug angewendet werden, jedoch nicht auf ein bestimmtes Auto.

Hier ist das Radobjekt auch ohne das Autoobjekt sinnvoll. Dies wird als Aggregationsbeziehung bezeichnet.

Beispiel für Aggregation