Assoziationen in UML

Grundlagen Assoziationen

Assoziationen sind Teil der Unified Modeling Language (kurz UML) und stellen Verbindungen zwischen Classifiers (Klassen, Schnittstellen, Anwendungsfälle etc.) dar.


Assoziationen bei Klassendiagrammen

In der UML ist es nicht nur entscheidend, abzubilden, welche Klassen bzw. Objekte im Softwaresystem enthalten sind, sondern auch in welcher Beziehung sie zueinander stehen.

Zur Darstellung dieser Beziehungen werden Assoziationen verwendet.

Achtung: Bei Objekten werden Assoziationen Objektbeziehungen genannt.

Eine Klasse A kann also in einer Verbindung mit Klasse B stehen, was durch einen Strich zwischen den beiden Klassen dargestellt wird:

Multiplizität

Jetzt kann diese Assoziation zusätzlich auch noch beschriftet werden, um kenntlich zu machen, in welcher Beziehung die beiden Klassen zueinander stehen:

Assoziation zwischen zwei Klassen mit Assoziationsname

Eine Klasse kann außerdem mit sich selbst in Beziehung stehen:

Selbstassoziations der Klasse A

Multiplizitäten

Mithilfe der Multiplizitäten kann außerdem deutlich gemacht werden, wie viele Objekte einer Klasse mit wie vielen Objekten einer anderen Klasse in Beziehung stehen.

Schau dir folgendes Beispiel an:

Multiplizität 3 bei der Klasse B

Diese Notation bedeutet einfach, dass jedes Objekt von Klasse A mit genau 3 Objekten von Klasse B in Beziehung steht.

Wenn jedoch statt der 3 eine 0..2 an dieser Stelle steht, bedeutet das, dass jedes Objekt von Klasse A mit höchstens 2 Objekten von Klasse B in Beziehung steht.

Multiplizität 0..2 bei B

Eine weitere wichtige Notation ist die Stern-Notation. Dieser Stern bedeutet, dass ein Objekt von Klasse A mit keiner oder beliebig vielen Objekten von Klasse B in Beziehung steht.

Multiplizität * bei Klasse B

Neben der Darstellung von höchstens gibt es natürlich auch eine Darstellung von mindestens. Dazu schreibst du beispielsweise 2..* an die Assoziation bei Klasse B:

Multiplizität 2..* bei Klasse B

Wenn ein Objekt der Klasse A mit genau 2, 3 oder 7 Objekten der Klasse B in Verbindung steht, werden die jeweiligen Zahlen mit einem Komma getrennt auf die Assoziation bei Klasse B geschrieben:

Mulitplizität 2,3,7 bei Klasse B

Assoziationsrollen

Assoziationsrollen geben an, welche Rolle ein Objekt einer Klasse in einer Beziehung spielt. Diese Assoziationsrollen dienen genau wie die Benennung der Assoziationen dem besseren Verständnis, sind aber nicht verpflichtend.

Die Assoziationsrollen werden immer neben der zu bezeichnenden Klasse in Kleinbuchstaben auf die Assoziation geschrieben:

Assoziation zwischen Klasse A und B mit Assoziationsrolle bei B

Mehrstellige Assoziation

Manchmal kann es vorkommen, dass mehrere Klassen in Beziehung zueinander stehen. Um diese mehrstellige Assoziation darzustellen, wird eine Raute verwendet:

Mehrstellige Assoziation zwischen Klasse A, B und C

Klasse A, B und C stehen jetzt also alle in Beziehung zueinander.

Assoziationen bei Objektdiagrammen

Die Assoziationen sind bei Objektdiagrammen ähnlich aufgebaut wie bei den Klassendiagrammen.

Statt der Klassen werden jedoch konkrete Objekte der Klassen verwendet. Außerdem schaust du dir in deinem dazugehörigen Klassendiagramm an, welche Klassen verbunden sind und überträgst diese Verbindungen in dein Objektdiagramm.

Dabei spielt auch die Multiplizität eine Rolle. Denn wenn beispielsweise laut Klassendiagramm ein Objekt der Klasse A mit höchstens zwei Objekten der Klasse B verknüpft sein soll, darfst du nicht drei Objekte von B mit dem Objekt von A verbinden.

Bei der Illustration des Objektdiagramms können dann aber die Beschriftungen für die Multiplizitäten weggelassen werden:

Vereinfachtes Objektdiagramm von Klasse A, B und C

Beispiel Klassendiagramm

Stell dir vor, du möchtest dir einen Überblick darüber verschaffen, welche Komponenten (Klassen) ein Geschäft benötigt und wie diese untereinander verbunden sind.

Dafür möchtest du ein Klasssendiagramm aufzeichnen.

Zuerst musst du dir überlegen, welche Klassen du benötigst.

Das sind beispielsweise die Klassen Store (Geschäft), Employee (Angestellte:r), Customer (Kund:in) und Article (Artikel).

Die Angestellten arbeiten in dem Geschäft. Es müssen dabei immer mindestens vier und maximal zehn Angestellte in einem Laden sein:

Assoziation zwischen Store and Emloyee

Das eine Geschäft kann von beliebig vielen Kund:innen besucht werden:

Assoziation ergänzt um Customer

Die Kund:innen können dabei beliebig viele Artikel kaufen, jedoch mindestens einen, um einen Kauf abzuschließen. Dabei kann ein Artikel von nur einer Person gekauft werden:

Assoziation ergänzt um Article

Ein Artikel kann auch von nur einer Person verkauft werden. Jedoch kann eine Person beliebig viele Artikel verkaufen:

Vollständiges Klassendiagramm

Jetzt ist dein Klassendiagramm für die Klassen Store, Employee, Article und Customer vollständig!

Beispiel Objektdiagramm

Jetzt möchtest du aus deinem Klassendiagramm ein Objektdiagramm für das Geschäft myStore ableiten.

myStore beschäftigt die Mitarbeiter:innen Jan, Lea, Chloé und Jeremiah.

Es muss also ein Objekt der Klasse Store und vier Objekte der Klasse Employees erzeugt werden:

Assoziation zwischen myStore und Jan, Lea, Chloe und Jeremiah

Der Kunde Jayden besucht das Geschäft:

Assoziation ergänzt um Customer Jaden

Jayden kauft eine Jeans:

Assoziation ergänzt um Jeans die Jaden kauft

Die Jeans wird dabei von dem Verkäufer Jeremiah verkauft:

Vollständige Assoziation, inklusie Jeremiah als Verkäufer der Jeans

Und fertig ist dein Objektdiagramm!

No items found.

simpleclub ist am besten in der App.

Mit unserer App hast du immer und überall Zugriff auf: Lernvideos, Erklärungen mit interaktiven Animationen, Übungsaufgaben, Karteikarten, individuelle Lernpläne uvm.

Jetzt simpleclub Azubi holen!

Mit simpleclub Azubi bekommst du Vollzugang zur App: Wir bereiten dich in deiner Ausbildung optimal auf deine Prüfungen in der Berufsschule vor. Von Ausbilder*innen empfohlen.

Jetzt simpleclub Azubi holen