UML Association vs. Aggregation vs. Zusammensetzung [BEISPIEL]

Beziehungen im UML-Diagramm werden verwendet, um eine Verbindung zwischen verschiedenen Dingen darzustellen. Eine Beziehung ist eine Verbindung zwischen Dingen wie strukturellen, verhaltensbezogenen oder gruppierenden Dingen in der einheitlichen Modellierungssprache.

Im Folgenden sind die verschiedenen Typen von Standardbeziehungen in UML aufgeführt.

  • Verein
  • Abhängigkeit
  • Verallgemeinerung
  • Realisierung

Darüber hinaus erlaubt UML die Verwendung von Aggregation und einer Kompositionsbeziehung.

UML-Vereinigung

Es handelt sich um eine strukturelle Beziehung, die Objekte darstellt, die mit einem anderen Objekt innerhalb des Systems verbunden oder verknüpft werden können. Die folgenden Einschränkungen können auf die UML-Assoziationsbeziehung angewendet werden.

  • {implizit} – Implizite Einschränkungen geben an, dass die Beziehung nicht manifest ist; es basiert auf einem Konzept.
  • {bestellt} – Geordnete Einschränkungen geben an, dass die Menge der Objekte an einem Ende einer Assoziation auf eine bestimmte Weise angeordnet ist.
  • {veränderbar} – Die veränderbare Einschränkung gibt an, dass die Verbindung zwischen verschiedenen Objekten im System je nach Anforderung hinzugefügt, entfernt und geändert werden kann.
  • {addOnly} – Es gibt an, dass die neuen Verbindungen von einem Objekt hinzugefügt werden können, das sich am anderen Ende einer Assoziation befindet.
  • {gefroren} – Es gibt an, dass beim Einfügen eines Links zwischen zwei Objekten dieser nicht geändert werden kann, solange die eingefrorene Einschränkung für den angegebenen Link oder eine Verbindung aktiv ist.

Wir können auch eine Klasse erstellen, die über UML-Assoziationseigenschaften verfügt; Sie wird als Assoziationsklasse bezeichnet.

Reflexive Assoziation

Die reflexive Assoziation ist eine Unterart der Assoziationsbeziehung in UML. In einer reflexiven Assoziation können die Instanzen derselben Klasse miteinander in Beziehung gesetzt werden. Eine Instanz einer Klasse wird auch als Objekt bezeichnet.

Reflexive Assoziation besagt, dass innerhalb der Objekte derselben Klasse ein Link oder eine Verbindung vorhanden sein kann.

Beispiel:

Betrachten wir ein Beispiel einer Klassenfrucht.

Die Obstklasse hat zwei Instanzen, z. B. Mango und Apfel. Die reflexive Assoziation besagt, dass eine Verbindung zwischen Mango und Apfel bestehen kann, da es sich um Instanzen derselben Klasse, beispielsweise Obst, handelt.

Reflexive Assoziation
Reflexive Assoziation

Geleitete Vereinigung

Wie der Name schon sagt, hängt die gerichtete Assoziation mit der Flussrichtung innerhalb der Assoziationsklassen zusammen.

Bei einer gerichteten Assoziation ist der Fluss gerichtet. Die Assoziation von einer Klasse zu einer anderen Klasse erfolgt nur in eine Richtung.

Es wird durch eine durchgezogene Linie mit einer Pfeilspitze gekennzeichnet.

Beispiel einer UML-Assoziation:

Man kann sagen, dass zwischen einem Server und einem Client eine gerichtete Assoziationsbeziehung besteht.

Ein Server kann die Anfragen eines Clients verarbeiten. Dieser Fluss ist unidirektional, d. h. er fließt nur vom Server zum Client. Somit kann eine gerichtete Assoziationsbeziehung zwischen Servern und Clients eines Systems bestehen.

Geleitete Vereinigung

Geleitete Vereinigung

UML-Komposition

Es ist kein Standard UML-Beziehung, wird aber immer noch in verschiedenen Anwendungen verwendet.

Die zusammengesetzte Aggregation ist ein Untertyp der Aggregationsbeziehung mit folgenden Merkmalen:

  • Es handelt sich um eine wechselseitige Assoziation zwischen den Objekten.
  • Es handelt sich um eine Ganz/Teil-Beziehung.
  • Wenn ein Verbund gelöscht wird, werden alle anderen damit verbundenen Teile gelöscht.

Die zusammengesetzte Aggregation wird als binäre Assoziation beschrieben, die am Aggregatende (gesamten Ende) mit einer gefüllten schwarzen Raute verziert ist.

UML-Komposition

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 eine UML-Komposition:

Beispielsweise gehört in einem Fenstersystem ein Frame genau zu einem Fenster. In einer zusammengesetzten Aggregation ist das gesamte System für die Anordnung seiner Teile verantwortlich, was bedeutet, dass das Verbundsystem die Erstellung und Zerstörung seiner Teile verwalten muss.

UML-Komposition

Zusammensetzung

UML-Aggregation

Eine Aggregation ist ein Untertyp einer Assoziationsbeziehung in UML. Aggregation und Zusammensetzung sind beide Arten von Assoziationsbeziehungen in UML. Eine Aggregationsbeziehung kann mit einfachen Worten beschrieben werden als „ein Objekt einer Klasse kann die Objekte einer anderen Klasse besitzen oder darauf zugreifen.“

In einer Aggregationsbeziehung bleibt das abhängige Objekt im Gültigkeitsbereich einer Beziehung, auch wenn das Quellobjekt zerstört wird.

Beispiel für UML-Aggregation:

Betrachten wir ein Beispiel für ein Auto und ein Rad.

Ein Auto braucht ein Rad, um richtig zu funktionieren, aber ein Rad braucht nicht immer ein Auto. Es kann auch mit dem Fahrrad, Fahrrad oder anderen Fahrzeugen verwendet werden, jedoch nicht mit einem bestimmten Auto. Hier ist das Radobjekt auch ohne das Autoobjekt sinnvoll. Eine solche Art von Beziehung wird als UML-Aggregationsbeziehung bezeichnet.

UML-Aggregationsbeziehung

Anhäufung

Verband vs. Aggregation vs. Komposition

Verein Anhäufung Zusammensetzung
Assoziationsbeziehungen werden durch einen Pfeil gekennzeichnet. Die Aggregationsbeziehung wird durch eine gerade Linie mit einer leeren Pfeilspitze an einem Ende dargestellt. Die Zusammensetzungsbeziehung wird durch eine gerade Linie mit einer gefüllten Pfeilspitze an einem der Enden gekennzeichnet.
In UML kann eine Assoziation zwischen zwei oder mehr Klassen bestehen. Aggregation ist Teil einer Assoziationsbeziehung. Die Komposition ist Teil einer Assoziationsbeziehung.
Zwischen den Assoziationsklassen kann eine Eins-Eins-, Eins-Viele-, Viele-Eins- und Viele-Viele-Assoziation vorhanden sein. Aggregation gilt als schwache Art der Assoziation. Die Komposition gilt als eine starke Assoziationsform.
In einer Assoziationsbeziehung können ein oder mehrere Objekte miteinander verknüpft sein. 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.
Objekte sind miteinander verknüpft. Verknüpfte Objekte sind nicht vom anderen Objekt abhängig. Objekte sind stark voneinander abhängig.
In der UML-Assoziation kann sich das Löschen eines Elements auf ein anderes zugeordnetes Element auswirken oder auch nicht. Bei der UML-Aggregation hat das Löschen eines Elements keine Auswirkungen auf ein anderes zugeordnetes Element. In UML Composition wirkt sich das Löschen eines Elements auf ein anderes zugeordnetes Element aus.
Ejemplo:
Ein Lehrer ist mehreren Schülern zugeordnet.
Or
Ein Lehrer gibt den Schülern Anweisungen.
Ejemplo:
Ein Auto braucht ein Rad, aber es braucht nicht immer das gleiche Rad. Ein Auto kann auch mit einem anderen Rad ausreichend funktionieren.
Ejemplo:
Eine Datei wird im Ordner abgelegt. Wenn man den Ordner löscht, wird auch die mit diesem Ordner verknüpfte Datei gelöscht.

Zusammenfassung

  • Eine Beziehung ist eine Verbindung zwischen Dingen.
  • Assoziation, Abhängigkeit, Verallgemeinerung und Realisierung sind vielfältig Beziehungen, die von UML bereitgestellt werden.
  • Neben Standardbeziehungen werden innerhalb der UML auch Komposition und Aggregation verwendet.
  • Aggregation und Zusammensetzung sind beide Arten von Assoziationsbeziehungen in UML.
  • Die UML-Komposition ist eine bidirektionale Beziehung, die auch als binäre Beziehung bezeichnet wird.

Lesen Sie unseren Artikel zu den besten UML-Tools: - Mehr Info