110 likes | 560 Views
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.
E N D
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
WirdGeflogenMit Gibt SitzeinteilugVorFür 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 Flugzeugtyp
UML-Klassendiagramm: Assoziationen (3) • Bei drei- und mehrstelligen Assoziationen entfällt Leserichtung. • Assoziationen können als eigene Assoziationsklasse ausgebildet und mit Attributen versehen werden: Buchung platzCode: stringdatum: date Kunde Ticket Flug
Bucht UML-Klassendiagramm: Assoziationen (4) • Assoziationen belassen viel Spielraum für die Modellierung. • Gleiche Sachverhalte können unterschiedlich modelliert werden: TicketNr: string Kunde Flug
WirdGeflogenMit Gibt SitzeinteilugVorFür 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.. 1 Flug Flugzeugtyp
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. Lösbar, wenn Datum zur Differenzierung mit einbezogen werden könnte. In UML nicht vorgesehen! Buchung platzCode: stringdatum: date 1 0..1 Kunde Ticket Multiplizität gilt für Flugbewegung, nicht für Flugplanung! 0..5 Flug
UML-Klassendiagramm: Assoziationen (7) • Anbindung von Zusicherungen an Assoziationen: {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! Buchung platzCode: stringdatum: date 1 0..1 Kunde Ticket 0..5 Flug
Anschlussflug UML-Klassendiagramm: Assoziationen (8) • Rolle: Sichtweise eines Objektes durch das gegenüberliegende Objekt. • Besonders bei rekursiven Assoziationen interessant. 0.. Ausgehend Flug 1 Ankommend
Anschlussflug 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: 0.. Ausgehend Flug 1 Ankommend
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 . 1..5 1..20 Flughafen Terminal Flugsteig