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.
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 eine starke Assoziationsform. |
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 ausgehöhlte Raute neben der Assembly-Klasse dargestellt. | Es wird durch eine ausgefüllte Raute neben der Assemblyklasse dargestellt. |
Das Löschen einer Baugruppe hat niemals Auswirkungen auf deren Teile. | 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 für Aggregation
Ihr Auto besteht beispielsweise aus Rädern, Motor, Getriebe, Lenkung und der Karosserie usw. Es ist eine Baugruppe und die anderen Teile sind ihre Bestandteile.
Dabei ist die Verbindung zwischen Auto und Lenkrad eine Aggregation, die Verbindung zwischen Auto und Motor eine andere, die Verbindung zwischen Auto und Getriebe eine andere und so weiter.
Mit dieser Art der Paarung lässt sich als Ergebnis die Vielfältigkeit der Bestandteile innerhalb der Baugruppe bestimmen. Auch die Anzahl der Objekte kann abgebildet 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.