UML (Unified Modeling Language): Assoziationen
Assoziationen (Beziehungen)
Eine Assoziation wird in der UML als durchgezogene Linie zwischen den assoziierten Klassen gezeichnet. Bei einer reflexiven Assoziation beginnt und endet die Linie an derselben Klasse. Der Assoziationsname wird möglichst in der Mitte der Linie positioniert.
Abbildung 1: Eine einfache Assoziation zwischen zwei Klassen
Ein Assoziationsende besitzt oft eine Multiplizität, die eine untere und obere Grenze für die Anzahl der jeweils verbundenen Instanzen angibt. Die gebräuchlichsten Multiplizitäten sind:
1..1 (genau eine verbundene Instanz, Abkürzung: 1)
0..* (beliebig viele verbundene Instanzen, Abkürzung: )
0..1 (keine oder eine verbundene Instanz)
1.. (unbegrenzt viele verbundene Instanzen, aber mindestens eine)
Beispiel
Betrachten wir die Multiplizitäten der Assoziation Assoz zwischen den Klassen A und B
Abbildung 2: Multiplizitäten zwischen A und B
Die Multiplizität 1..* am Assoziationsende B der Assoziation Assoz bedeutet, dass jede Instanz der Klasse A mit einer oder mehreren Instanzen der Klasse B verbunden ist. Umgekehrt ist jede Instanz der Klasse B mit keiner, einer oder mehreren Instanzen der Klasse A verbunden.
weiteres Beispiel
Hier bedeutet die Multiplizität * am Assoziationsende Bestellung der Assoziation Bestellungen , dass ein Kunde beliebig viele Bestellungen (also auch keine) aufgeben darf. Die 1 am “Kunde-Ende“ bedeutet, dass zu jeder Bestellung genau ein Kunde gehört.
Abbildung 3: vereinfachte Angabe von Multiplizitäten
Bei zwei verbundenen Instanzen müssen nicht beide Kenntnis von der jeweils anderen Instanz haben, mindestens aber eine. Kennt z. B. eine Instanz der Klasse A Instanzen der Klasse B, aber nicht umgekehrt, so wird die Assoziation zwischen den Klassen als einseitig (unidirektional) gekennzeichnet und im Klassendiagramm als Pfeil mit offener Spitze in der (Kenntnis-)Richtung von Klasse A zu Klasse B gezeichnet.
Abbildung 4: Eine unidirektionale Verbindung
Quelle
Fowler, M. UML Distilled Addison-Wesley, Reading, Mass., 1997
OMG Unified Modeling Language Specification V. 1.3, OMG, Jun. 1999
Congratulations @ozelot47! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
Do not miss the last post from @hivebuzz: