In UML-Diagrammen werden Beziehungen verwendet, um mehrere Dinge zu verknüpfen. Es handelt sich um eine Verbindung zwischen strukturellen, verhaltensbezogenen oder gruppierenden Dingen. Im Folgenden sind die standardmäßigen UML-Beziehungen aufgeführt:
- Verband
- Abhängigkeit
- Verallgemeinerung
- Realisierung
Verband
Eine Assoziationsbeziehung ist eine strukturelle Beziehung, bei der verschiedene Objekte innerhalb des Systems verknüpft sind. Es weist eine binäre Beziehung zwischen den Objekten auf, die eine Aktivität darstellen. Es stellt die Beziehung zwischen Objekten dar, z. B. einem Lehrer, der mehreren Lehrern zugeordnet werden kann.
Sie wird durch eine Linie zwischen den Klassen dargestellt, gefolgt von einem Pfeil, der die Richtung angibt. Wenn sich der Pfeil auf beiden Seiten befindet, spricht man von einer bidirektionalen Assoziation. Wir können die Multiplizität einer Assoziation angeben, indem wir die Verzierungen in der Zeile hinzufügen, die die Assoziation kennzeichnen.
Beispiel:
1) Ein einzelner Lehrer hat mehrere Schüler.
2) Ein einzelner Schüler kann mit vielen Lehrern verkehren.
Die Zusammensetzung und die Aggregation sind zwei Teilmengen der Assoziation. In beiden Fällen gehört das Objekt einer Klasse dem Objekt einer anderen Klasse; Der einzige Unterschied besteht darin, dass das untergeordnete Element in der Zusammensetzung nicht unabhängig von seinem übergeordneten Element existiert, während das untergeordnete Element in der Aggregation nicht von seinem übergeordneten Element abhängig ist, also eigenständig ist. Eine Aggregation ist eine besondere Form der Assoziation, und die Zusammensetzung ist die besondere Form der Aggregation.
Anhäufung
Aggregation ist eine Teilmenge der Assoziation, eine Sammlung verschiedener Dinge. Es stellt eine Beziehung dar. Es ist spezifischer als eine Assoziation. Es beschreibt eine Teil-Ganzes- oder Teil-von-Beziehung. Es handelt sich um eine binäre Assoziation, d. h. sie umfasst nur zwei Klassen. Es handelt sich um eine Art Beziehung, in der das Kind von seinem Elternteil unabhängig ist.
Zum Beispiel:
Hier betrachten wir ein Auto und ein Rad als Beispiel. Ohne Rad kann sich ein Auto nicht bewegen. Das Rad kann aber auch unabhängig mit dem Fahrrad, Roller, Fahrrad oder jedem anderen Fahrzeug verwendet werden. Das Radobjekt kann ohne das Autoobjekt existieren, was sich als Aggregationsbeziehung erweist.
Komposition
Die Komposition ist ein Teil der Aggregation und stellt die Ganz-Teil-Beziehung dar. Es stellt die Abhängigkeit zwischen einem Verbundwerkstoff (übergeordnetes Element) und seinen Teilen (untergeordneten Bauteilen) dar, was bedeutet, dass beim Verwerfen des Verbundwerkstoffs auch seine Teile gelöscht werden. Es existiert zwischen ähnlichen Objekten.
Wie Sie dem folgenden Beispiel entnehmen können, verbindet die Kompositionsassoziationsbeziehung die Klasse „Person“ mit der Klasse „Gehirn“, der Klasse „Herz“ und der Klasse „Beine“. Wenn die Person zerstört wird, werden auch Gehirn, Herz und Beine weggeworfen.
Assoziation vs. Aggregation vs. Zusammensetzung
Verband | Anhäufung | Komposition |
---|---|---|
Die Assoziationsbeziehung wird durch einen Pfeil dargestellt. | Die Aggregationsbeziehung wird durch eine gerade Linie mit einer leeren Raute an einem Ende dargestellt. | Die Kompositionsbeziehung wird durch eine gerade Linie mit einer schwarzen Raute an einem Ende dargestellt. |
In UML kann es zwischen zwei oder mehr Klassen existieren. | Es ist Teil der Assoziationsbeziehung. | Es ist Teil der Aggregationsbeziehung. |
Es umfasst Eins-zu-Eins-, Eins-zu-Viele-, Viele-zu-Eins- und Viele-zu-Viele-Assoziationen zwischen den Klassen. | Es zeigt eine Art schwache Beziehung. | Es zeigt eine starke Art von Beziehung. |
Es kann ein oder mehrere Objekte miteinander verknüpfen. | In einer Aggregationsbeziehung existieren die zugehörigen Objekte unabhängig voneinander im Systembereich. | In einer Kompositionsbeziehung können die zugehörigen Objekte nicht unabhängig voneinander im Systembereich existieren. |
Dabei werden Objekte miteinander verknüpft. | Dabei sind die verknüpften Objekte unabhängig voneinander. | Dabei sind die verknüpften Objekte voneinander abhängig. |
Wenn ein Element gelöscht wird, kann es Auswirkungen auf das andere zugehörige Element haben oder auch nicht. | Das Löschen eines Elements in der Aggregationsbeziehung hat keine Auswirkungen auf andere zugehörige Elemente. | Es wirkt sich auf das andere Element aus, wenn eines seiner zugehörigen Elemente gelöscht wird. |
Beispiel: Ein Tutor kann sich mit mehreren Schülern verbinden, oder ein Schüler kann sich mit mehreren Lehrern verbinden. | Beispiel: Ein Auto braucht ein Rad, damit es richtig funktioniert, aber es braucht möglicherweise nicht dasselbe Rad. Eventuell funktioniert es auch mit einem anderen Rad. | Beispiel: Wenn eine Datei in einem Ordner abgelegt wird und dieser Ordner gelöscht wird. Die in diesem Ordner befindliche Datei wird beim Löschen des Ordners ebenfalls gelöscht. |