uml-klassendiagramm: assoziationen (1)
DESCRIPTION
UML-Klassendiagramm: Assoziationen (1). Objektverbindung : Beziehung zwischen individuellen Objekten. Assoziation : Klassifikation einer Menge von Objektverbindungen, definiert zwischen Klassen. Gewöhnlich zwischen verschiedenen Klassen, darf aber auch rekursiv sein. - PowerPoint PPT PresentationTRANSCRIPT
1
UML-Klassendiagramm: Assoziationen (1)
Objektverbindung: Beziehung zwischen individuellen Objekten.
Assoziation: Klassifikation einer Menge von Objektverbindungen, definiert zwischen Klassen. Gewöhnlich zwischen verschiedenen Klassen, darf aber auch rekursiv sein.
Stelligkeit einer Assoziation: Anzahl der Objekte, die an den individuellen Objektverbindungen teilhaben. Nicht beschränkt, binärer Fall jedoch am häufigsten.
Notation:
Flug Flugzeugtyp
2
UML-Klassendiagramm: Assoziationen (2)
Jede Assoziation wird mit einem Assoziationsnamen versehen, der beschreibt, worin die Beziehung besteht.
Assoziationsnamen haben dann natürliche Leserichtung von einem Klassennamen zum anderen, die man durch einen Pfeil neben dem Namen kennzeichnet.
Assoziationsnamen können für beide Leserichtungen notiert werden:
Flug FlugzeugtypWirdGeflogenMit
Gibt SitzeinteilugVorFür
3
UML-Klassendiagramm: Assoziationen (3)
Bei drei- und mehrstelligen Assoziationen entfällt Leserichtung.
Assoziationen können als eigene Assoziationsklasse ausgebildet und mit Attributen versehen werden:
Kunde Ticket
Flug
platzCode: stringdatum: date
Buchung
4
UML-Klassendiagramm: Assoziationen (4)
Assoziationen belassen viel Spielraum für die Modellierung. Gleiche Sachverhalte können unterschiedlich modelliert
werden:
Kunde Flug
TicketNr: string
Bucht
5
UML-Klassendiagramm: Assoziationen (5)
Multiplizität der Assoziation bezüglich einer Klasse: Anzahl der individuellen Objektverbindungen, die eine Instanz dieser Klasse eingehen kann.
Im zweistelligen Fall: mit wie vielen Objekten der gegenüberliegenden Klasse kann ein Objekt der Klasse verbunden sein?
Vermerk in Leserichtung, also bei der gegenüberliegenden Klasse.
1.. 1Flug Flugzeugtyp
WirdGeflogenMit
Gibt SitzeinteilugVorFür
6
UML-Klassendiagramm: Assoziationen (6)
Multiplizität bei mehrstelligen Assoziationen hat wenig intuitive UML-Definition: Betrachte bei Stelligkeit n Kombination von n-1 Objekten und bestimme, mit wie vielen Objekten der verbleibenden Klasse sie verbunden sein kann.
Kunde Ticket
Flug
platzCode: stringdatum: date
Buchung
1 0..1
0..5 Multiplizität gilt für Flugbewegung, nicht für Flugplanung!
Lösbar, wenn Datum zur Differenzierung mit
einbezogen werden könnte. In UML nicht vorgesehen!
7
UML-Klassendiagramm: Assoziationen (7)
Anbindung von Zusicherungen an Assoziationen:
Kunde Ticket
Flug
platzCode: stringdatum: date
Buchung
1 0..1
0..5
{k1,k2Kunde:k1.Buchung.TicketNr = k2.Buchung.TicketNr
k1=k2}
Erst jetzt gilt, das dasselbe Ticket unabhängig vom Flug zu genau 1 Kunden gehört!
8
UML-Klassendiagramm: Assoziationen (8)
Rolle: Sichtweise eines Objektes durch das gegenüberliegende Objekt.
Besonders bei rekursiven Assoziationen interessant.
Flug
Anschlussflug
Ankommend
0..
1
Ausgehend
9
UML-Klassendiagramm: Assoziationen (9)
Gerichtete Assoziation: Assoziation, die nur in einer Richtung traversiert werden muss. (Als Optimierungshinweis für Implementierung aufzufassen.)
Notation durch offene Pfeilspitze:
Flug
Anschlussflug
Ankommend
0..
1
Ausgehend
10
UML-Klassendiagramm: Aggregationen
Aggregation: Ganzes-Teile-Beziehung als Sonderfall einer Assoziation.
Aggregationen dürfen Multiplizitäten aufweisen, jedoch gehört ein Teil nur zu höchstens einem Ganzen.
Existenzgebunden , andernfalls .
Flughafen Terminal Flugsteig1..5 1..20