UML Assoziation vs. Aggregation vs. Komposition

Kostenlos Downloaden Kostenlos Downloaden Kostenlos Downloaden Kostenlos Downloaden KI-Funktion Erfahren
Verfügbar für Windows, Mac, Linux und Web. Alle Optionen >>
> UML-Diagramm > UML Assoziation vs. Aggregation vs. Komposition
author
Geschrieben von Daniel | 2024-02-02 09:30:19

UML Assoziation vs. Aggregation vs. Komposition

Alles über Assoziation & Aggregation & Komposition erfahren

UML-Diagramme sind eine praktische Methode, um die strukturellen oder gruppierenden Entitäten zu verstehen und zu verknüpfen. Gute Kenntnisse aller technischen Details und ein gründliches Verständnis der logischen Beziehungskonzepte sind wichtig für die Ausführung der objektorientierten Programmierung.

UML hilft dabei, herauszufinden, wie ein oder mehrere Dinge miteinander verbunden sind. Die häufigste Art der Beziehung ist die Assoziation. Schauen wir es uns im Detail an.

Was ist eine Assoziationsbeziehung?

In der Sprache der Laien sind Assoziationsbeziehungen definiert als die Beziehung zwischen zwei separaten Einheiten. Es wird nach Gemeinsamkeiten zwischen Entitäten gesucht und es werden Verknüpfungen zwischen ihnen hergestellt. Die Assoziation ermöglicht es, logische Verbindungen durch eine kontinuierliche Referenz herzustellen.

Assoziationen werden in einem UML-Diagramm durch eine einzelne durchgezogene Linie dargestellt, die gleiche oder unterschiedliche Klassen verbindet. Die Assoziation kann zwischen eins-zu-eins, eins-zu-vielen, viele-zu-vielen Klassen dargestellt werden. Da Assoziationsbeziehungen eine Kommunikationsverbindung zwischen zwei Entitäten darstellen, sollten sie nicht zweideutig sein und eindeutig beschriftet werden. Der Beschriftung folgt eine kleine Pfeilspitze zum besseren Verständnis der Beziehung.

Wie in der Beispielabbildung unten zu sehen, wird die Assoziationsbeziehung zwischen einer Bank und ihren Mitarbeitern dargestellt. Mehrere durchgezogene Linien gehen von der Hauptklasse aus, d.h. Bank. Dieses Diagramm zeigt eine Eins-zu-Viel-Assoziationsbeziehung.

Beziehung zwischen Bank und Mitarbeitern

Verallgemeinerung VS Assoziation

Wie der Name schon sagt, ist die Generalisierung eine Möglichkeit, ähnliche Objekte auf eine allgemeinere Weise zu klassifizieren. Die Entitäten zeigen eine Parent-Child-Beziehung zwischen einer allgemeinen Entität und einer einzigartigen Entität, wobei letztere eine spezialisierte Form der allgemeinen Klasse ist. Im Vergleich dazu verbindet die Assoziation verschiedene Entitäten und stellt dar, wie eine Klasse die Funktionalität des anderen verknüpften Objekts nutzt.

Die Verallgemeinerung stellt die "Teil von" Beziehungen dar, während die Assoziation dabei hilft, die "Hat-eine" Beziehung aufzuzeigen. Das bedeutet, dass die Verallgemeinerung mit der Anzeige der Vererbungen verbunden ist, während die Assoziation die Verknüpfung auf der Grundlage von Gemeinsamkeiten zeigt.

EdrawMax: Die intelligente Wahl für die Erstellung von Diagrammen

  • Automatisierte Diagramme mit KI-Unterstützung
  • Über 280 Arten von Diagrammen mühelos erstellen
  • Verschiedene Vorlagen & Symbole um Ihre Bedürfnisse
  • Drag & Drop-Schnittstelle und einfach zu bedienen
  • Jedes Detail mit intelligenten und dynamischen Toolkits anpassen
  • Kompatibel mit einer Vielzahl von Dateiformaten, wie MS-Office, Visio, PDF, usw
  • Diagramme exportieren, drucken und teilen

Arten von Assoziationsbeziehungen

Je nach Verknüpfung wird die Assoziation weiter in vier Haupttypen unterteilt. Sie wird wie folgt klassifiziert:

1. Multiplizität

Die Mehrfachassoziation bezieht sich auf Fälle, in denen eine verknüpfte Klasse mehrfach vorkommt. Anstatt die Entität neu zu formulieren, geben wir die maximalen und minimalen Instanzen an, mit denen sie verknüpft werden kann. Daher markieren wir bei solchen Beziehungen ein Sternchen mit der Assoziationslinie. Das Sternchen steht für ein intermediäres Maximum.

Die folgende Abbildung hilft Ihnen zu verstehen, wie sich die Vielfältigkeit unter verschiedenen Umständen ausdrücken kann.

Multiplizität

Quelle: www.cems.uwe.ac.uk/

2. Gerichtete Assoziation

Wie der Name schon sagt, bezieht sich die gerichtete Assoziation auf die Richtung des Kommunikationsflusses innerhalb einer Assoziationsbeziehung. Standardmäßig sind die Assoziationsbeziehungen zweiseitig navigierbar; die gerichtete Assoziation hilft jedoch dabei, den Fluss nur in eine Richtung zu lenken. Die gerichtete Assoziation wird durch das Vorhandensein einer durchgezogenen Linie mit einer Pfeilspitze dargestellt.

Hier wird eine unidirektionale Verbindung zwischen einem Server und einem Client gezeigt. Die Richtung des Pfeils zeigt, dass ein Server die Anfragen eines Clients bearbeiten kann.

Gerichtete Assoziation

3. Reflexive Assoziation

Die reflexive Assoziation wird als Beziehung zwischen den Instanzen der gleichen Klasse beschrieben. Eine solche Assoziation wird in zwei Typen unterteilt: Symmetrischer und asymmetrischer Assoziationsreflex. Es gibt kein spezielles Symbol, das ihm zugeordnet ist; die Beziehung verweist jedoch auf dieselbe Klasse.

Reflexive Assoziation

Aggregation VS Komposition

Aggregation und Komposition sind zwei Teilmengen der Assoziation. Die Komposition ist jedoch eine weitere Teilmenge der Aggregationsbeziehung. Mit einfachen Worten kann Aggregation definiert werden, wenn die Objekte einer Klasse auf die Entitäten einer anderen Klasse zugreifen können. Die Komposition hingegen stellt eine bilaterale Beziehung dar und das Objekt ist jeweils nur Teil einer Komposition.

In einem UML-Diagramm dargestellte Aggregationen

Aggregation ist eine Assoziation, bei der die Entitäten zusammen konfiguriert werden, um ein komplexeres Objekt zu erstellen. Eine Gruppe von Objekten und ihre gemeinsame Verknüpfung wird dadurch beschrieben. Sie definiert einen einzelnen Kontrollpunkt, der als Aggregat bezeichnet wird und die Gruppe von Objekten, die die Baugruppe darstellt.

In einem UML-Diagramm fließen die Daten vom Aggregat (übergeordnete Klasse) zur Baugruppe (untergeordnete Klasse) mit einer Rautenform (nicht ausgefüllt) in der Nähe der erstgenannten Klasse. Der Teileklassifizierer oder die Baugruppen können mit mehr als einem Aggregat verknüpft werden und unabhängig voneinander existieren.

In einem UML-Diagramm dargestellte Aggregationen

Dieses Beispiel zeigt, dass das Auto immer Räder und einen Motor braucht, um richtig zu funktionieren, während der Motor und die Räder nicht immer ein Auto brauchen. Sie können mit einem Bus, einem Fahrrad, Maschinen, einem Rasenmäher und vielem mehr verwendet werden. In ähnlicher Weise ist der Motor für eine Motorinspektion notwendig, aber der Motor kann als unabhängige Einheit existieren und auch mit anderen Fahrzeugen verbunden sein.

In einem UML-Diagramm dargestellte Kompositionen

Kompositionen sind auch eine Art von Assoziation, die eine wechselseitige, stark abhängige Beziehung zwischen zwei verschiedenen Klassen darstellt. Wenn die Komposition gelöscht wird, werden auch die anderen mit ihr verbundenen Entitäten gelöscht.

Sie stellt die Abhängigkeit zwischen Parent und Child dar. Zeichnen Sie in einem UML-Diagramm eine Linie zwischen der übergeordneten und der untergeordneten Klasse mit einem ausgefüllten Rautenmuster in der Nähe der übergeordneten Klasse.

In einem UML-Diagramm dargestellte Kompositionen

Wie in diesem Beispiel dargestellt, hat eine Person Beine, ein Herz und ein Gehirn. Wenn der Brennpunkt dieses Diagramms, die Person, verletzt und getötet wird, werden auch alle zusammengesetzten Einheiten verworfen. Anders als bei der Aggregation können die Entitäten nicht unabhängig voneinander existieren und sind ein "Teil" der Person.

Aggregation Komposition
Eine Teilmenge der Assoziation Eine Teilmenge der Aggregation.
Eine schwache Art der Assoziation. Eine starke Art der Assoziation
Verknüpfte Objekte sind unabhängig voneinander. Verknüpfte Objekte sind in hohem Maße voneinander abhängig.
Dargestellt mit einer durchgezogenen Linie und einer leeren Pfeilspitze. Dargestellt durch eine durchgezogene Linie mit einer ausgefüllten Pfeilspitze.
Aggregation wird als eine "hat-eine"' Beziehung definiert. Komposition ist als eine "Teil-von" Beziehung definiert.

Ist Komposition besser als Aggregation?

Komposition ist stärker als Aggregation. Eine Beziehung zwischen zwei Objekten wird als Assoziation bezeichnet und diese beiden Begriffe sind eine Unterform davon.

Assoziation, Aggregation und Komposition

Wenn zwei Objekte unabhängig voneinander existieren und kein Eigentum aneinander implizieren, werden sie als Aggregationsverband bezeichnet. Wenn jedoch zwei Objekte in einem System nebeneinander existieren müssen und voneinander abhängen, werden sie als Komposition bezeichnet. Eine solche Verknüpfung wird als "stark" bezeichnet, denn wenn das besitzende Objekt zerstört wird, werden auch die verknüpften Objekte zerstört. Im Gegensatz dazu stellt die Aggregation eine schwache Assoziation dar, da die Lebensdauer des enthaltenen Objekts nicht vom Containerobjekt abhängt.

Verwenden Sie EdrawMax für die Erstellung von UML-Diagrammen

Die Assoziation ist die einfachste und zugleich wichtigste Art der Verknüpfung, mit der Sie Objekte eines Systems miteinander verbinden können. Für eine fehlerfreie Implementierung und die Erstellung von UML-Diagrammen ist es wichtig, zwischen den beiden Typen Aggregation und Komposition zu unterscheiden.

Die Erstellung von UML-Diagrammen für Assoziationen ist supereinfach, wenn Sie eine benutzerfreundliche und tool-reiche Software wie EdrawMax verwenden. Mit einem umfangreichen Angebot an Bearbeitungstools, einer hochgradig anpassbaren Bibliothek und zahlreichen Vorlagenoptionen ist die Erstellung einer guten UML mit nur wenigen Klicks ein Kinderspiel. Egal, ob Sie ein Anfänger oder technisch versiert sind, das Verstehen und die Handhabung der Software ist supereinfach. Laden Sie sie herunter und erstellen Sie im Handumdrehen die aussagekräftigsten und innovativsten Diagramme!

EdrawMax