4.2 Multiplizität
Ist eine Klasse durch eine Assoziation mit einer anderen Klasse verbunden, muss festgelegt werden, mit wie vielen Objekten der gegenüberliegenden Klasse ein Objekt in Beziehung stehen kann.
Beispiel
Fragen 4-2: Multiplizität
Assoziation „arbeitet in“
Assoziation „leitet“
Bei einseitig gerichteten Assoziationen ist die Multiplizität nur auf der Seite der Assoziation relevant, zu der navigiert werden kann.
Weitere Beispiele für Multiplizitäten
Multiplizität | Bedeutung |
---|---|
1 | genau einer |
0..1 | keiner oder einer |
1..5 | einer bis fünf |
* | keiner, einer oder mehrere |
0..* | keiner, einer oder mehrere |
1..* | mindestens einer |
Fragen 4-3: Multiplizitäten
-
Die Anforderungen für eine Software zur Auftragsverwaltung sehen vor, dass ein Kunde keinen, einen oder mehrere Aufträge erteilen kann. Umgekehrt kann ein Auftrag immer nur von genau einem Kunden erteilt werden. Welche Multiplizitäten müssen der Assoziationen „erteilt“ hinzugefügt werden?
Lösung
-
Die Anforderungen für eine Software zur Verwaltung von Tennisturnieren sehen vor, dass ein geplantes Tennismatch nur gespeichert werden kann, wenn ihm genau zwei Spieler zugewiesen sind. Ein Spieler wiederum kann kein, ein oder mehrere Tennismatche austragen.
-
Welche Multiplizitäten müssen der Assoziationen „trägt aus“ hinzugefügt werden?
Lösung
-
Nehmen Sie an, die Anforderungen an die Turnierverwaltungssoftware (1b) ändern sich dahingehend, dass eine Person erst dann als Spieler geführt werden darf, wenn sie mindestens ein Tennismatch ausgetragen hat. Welche Auswirkung hätte dies auf die Multiplizität?
Lösung
Antwort:'1..*' statt '*' -
Welchen Vorteil bietet es, die Assoziation „trägt aus“ (1b) zweiseitig zu modellieren?
Lösung
Antwort:Eine zweiseitige Assoziation erlaubt es einerseits, von einem Tennismatch ausgehend zu den jeweils beteiligten Spielern zu gelangen. Andererseits ist es auch möglich, von einem Spieler ausgehend zu jedem seiner Tennismatche zu gelangen. Beide Möglichkeiten werden bei der Durchführung eines Tennisturnieres zur Beantwortung von Fragen, zum Beispiel von Spielern oder Organisatoren, benötigt.
-
Welche Multiplizitäten müssen der Assoziationen „trägt aus“ hinzugefügt werden?
Lösung
Exkurs: Multiplizität vs. Kardinalität
In der Mathematik versteht man unter Kardinalität die Mächtigkeit einer Menge. Bei einer endlichen Menge ist dies die tatsächliche Anzahl ihrer Elemente.
Da wir bei einer Assoziation lediglich angeben, mit wie vielen Objekten der gegenüberliegenden Klasse ein Objekt prinzipiell in Beziehung stehen kann, spricht die UML hier von der Menge aller möglichen Kardinalitäten.2
Die UML definiert Multiplizität dementsprechend als „specification of the range of allowable cardinality values - the size - that a set may assume” 3. Das heißt, die UML versteht unter Multiplizität die Menge aller zulässigen Kardinalitäten.
Die begriffliche Trennung zwischen Multiplizität und Kardinalität wird außerhalb der UML nicht immer so eindeutig durchgehalten. Insbesondere im Entity-Relationship-Model wird der Begriff der Kardinalität häufig in einer Bedeutung verwendet, der in der UML die Multiplizität entspricht.
Aufgabe 4-1
Erstellen Sie für die folgenden Aufgaben jeweils ein sinnvolles UML-Klassendiagramm. Entscheiden Sie bei jeder Assoziation selbst, ob Sie im jeweiligen Fall eine unidirektionale oder bidirektionale Assoziation für sinnvoll halten.
-
Die IT-Akademie bietet Fortbildungskurse im Bereich Informationstechnologie an. Die Obergrenze pro Kurs liegt bei 20 Teilnehmern. Die Verwaltung soll nun durch eine geeignete Software unterstützt werden. Bisher erfolgt die Verwaltung papiergestützt. Beispielhaft sind die folgenden Dokumente:
Lösung
Lösung
-
Das Reisebüro Fernweh erfasst die Buchungen ihrer Kunden zurzeit noch ausschließlich papiergestützt. Beispielhaft sind die folgenden Dokumente:
Lösung
Lösung