uml-klassendiagramm: assoziationen (1)

10
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

Upload: shawna

Post on 21-Jan-2016

73 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: UML-Klassendiagramm: Assoziationen (1)

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

Page 2: UML-Klassendiagramm: Assoziationen (1)

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

Page 3: UML-Klassendiagramm: Assoziationen (1)

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

Page 4: UML-Klassendiagramm: Assoziationen (1)

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

Page 5: UML-Klassendiagramm: Assoziationen (1)

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

Page 6: UML-Klassendiagramm: Assoziationen (1)

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!

Page 7: UML-Klassendiagramm: Assoziationen (1)

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!

Page 8: UML-Klassendiagramm: Assoziationen (1)

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

Page 9: UML-Klassendiagramm: Assoziationen (1)

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

Page 10: UML-Klassendiagramm: Assoziationen (1)

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