24
Hans-Jürgen Steffens Systemanalyse SS 04 1 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige Assoziationen

Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Embed Size (px)

Citation preview

Page 1: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 1

6. Vorlesung: Statische Konzepte

Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige Assoziationen

Page 2: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 2

Assoziation

Assoziationen modellieren Verbindungen zwischen Objekten einer oder mehrerer Klassen

Im Objekt-Diagramm:

Name = Hans Meyer

: Kunde Kontonr = 2342Art = GeschäftEröffnung = 17.1.2000

: Konto

Kontonr = 234234Art = PrivatEröffnung = 5.10.1999

: Konto

Page 3: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 3

Assoziation

Wird im Klassendiagramm modelliert:

Ein Kunde kann mehrere Konten haben Ein Konto gehört zu genau einem Kunden In der Analyse sind Assoziationen immer bidirektional:

Ein Kunde kennt seine Konten, ein Konto kennt seinen Kunden

Name

Kunde KontonrArtEröffnung

Konto

1 *

besitzt

Name der Assoziation mit Leserichtung (optional)

Kardinalität

Page 4: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 4

Kardinalitäten (Multiplicities)

Beschreiben, mit wie vielen Partner-Objekten ein Objekt über eine bestimmte Assoziation in Verbindung stehen kann

Beispiele:

1 genau 1

0..1 0 oder 1

* beliebig viele (auch 0)

1..* 1 oder mehr

3..* 3 oder mehr

0..2 0 bis 2

2 genau 2

2, 4, 6 2, 4 oder 6

1..5, 8, 10..* nicht 0,6,7 oder 9

Page 5: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 5

Beispiele für Assoziationen

(auch frühere Ehen)

Mann Frau

0..1 0..1

ist verheiratet mit

Mann Frau

* *

Ehe

Erwachsener Kind

2 *

Elternschaft

Person

Eltern2

Kind

*

Elternschaft

Besser:

Page 6: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 6

Kann- und Muss-Assoziationen

Kunde kann ein Konto haben, Konto muss zu einem Kunden gehören:

Kunde muss mindestens ein Konto haben, Konto muss zu einem Kunden gehören:

• Wird das letzte Konto des Kunden gelöscht, muss auch der Kunde gelöscht werden

Muss-Assoziation: Untergrenze > 0 Kann-Assoziation: Untergrenze 0

Kunde Konto1 *

Kunde Konto1 1..*

Page 7: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 7

Reflexive Assoziationen

Assoziationen zwischen Objekten der selben Klasse

Angestellter

Mitarbeiter*

Chef

0..1

Rollen-Namen(bei reflexivenAssoziationenerforderlich)

Page 8: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 8

Reflexive Assoz. – Beispiel für Objektbeziehungen

Mayer : Angestellter

Müller : Angestellter Schulze : Angestellter

Schmidt : Angestellter Klein : Angestellter

Chef

Mitarbeiter

Chef

Mitarbeiter

ChefMitarbeiter

ChefMitarbeiter

Page 9: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 9

Notation für Assoziationen

Operation()

Attribut

Klasse 1

Operation()

Attribut

Klasse 2

Operation()

Attribut

Klasse

k1 k2

k1

k2

Rolle1

Rolle1

Rolle2

Rolle2

Name

Name

Page 10: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 10

Mehrere Assoziationen zwischen gleichen Klassen

Bestehen mehrere Assoziationen zwischen denselben Klassen, sind sie durch Klassennamen oder Rollenbezeichnungen voneinander zu unterscheiden

Name

Kunde KontonrArtEröffnung

Konto

Berechtigter

1 *Inhaber

* *

Page 11: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 11

Mehrere Assoziationen zwischen gleichen Klassen

Angestellter

*

DisziplinarischerVorgesetzter

0..1

*

FachlicherVorgesetzter

0..1

Page 12: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 12

Assoziative Klasse

Assoziation kann zusätzlich die Eigenschaften einer Klasse haben (Attribute, Operationen, Beziehungen zu anderen Klassen)

NameAdresse

Kunde

NummerDauer

Veranstaltung

anmelden()abmelden()

AnmeldedatumAbmeldedatumRechn.datum

Buchung

* *

Page 13: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 13

Assoziative Klasse - Beispiel

Mann Frau

DatumHochzeitDatumScheidung

Ehe

* *

Page 14: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 14

Auflösung von assoziativen Klassen

a) b)

Unterschied:

• Im Fall a) gibt es für jede Kombination von Objekten der Klassen A und B nur genau ein Objekt der Klasse C.

• Im Fall b) ist es möglich für eine bestimmte Kombination von A und B mehrere Objekte der Klasse C anzulegen.

A B

C

* * A B

C* *

1 1

Page 15: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 15

Qualifizierte Assoziation

Auftrag kann mehrere Positionen enthalten Im linken Beispiel könnte man mehrere Positionen für das gleiche

Produkt anlegen Rechts ist dargestellt, dass es nur eine Position pro Produktnr.

geben darf Höherer Informationsgehalt des Modells

Auftrag

Position

1

1..*

Auftrag

Position

10..1

Produktnr

Qualifizierendes Attribut

Produkt

*

1*1

ProduktnrName

ProduktProduktnrName

Niedrigere Kardinalität

Page 16: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 16

Professor

Student

Vorlesung1 *

*

*

Liest

hört

/ ist Hörer von

*

*

Abgeleitete Assoziationen

Abgeleitete Assoziationen lassen sich aus anderen Assoziationen berechnen (sind insofern redundant)

Werden mit Präfix / gekennzeichnet

Abgeleitete Assoziation

Page 17: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 17

Aggregation

Gerichtete Beziehung im Sinne von „ist Teil von“ Drückt eine Rangordnung aus

PKW

Motor Karosserie

0..1

*

0..1

*

Aggregat

Komponente

Page 18: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 18

Eigenschaften von Aggregationen

Es gelte: Daraus folgt Zyklen sind verboten: (Transitivität):

(Azyklischer Gerichteter Graph)

A

B

C

A

C

A

B

C

x

x

x

Page 19: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 19

Shared Aggregation (Weak Ownership)

Mehrfache Zuordnung ist bei Aggregations i.d.R. erlaubt Komponente kann auch ohne das Aggregat existieren

(keine Existenzabhängigkeit)

A

B

D

Page 20: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 20

Komposition

Starke Form der Aggregation Zusätzlich zur Aggregation:

• Strong Ownership: Jede Komponente darf zu einem Zeitpunkt nur zu einem Aggregat gehören

• Existenzabhängigkeit: Die Komponente kann nicht alleine existieren, wird das Aggregat gelöscht, muss auch die Komponente mit gelöscht werden

Auftrag

Auftragsposition*

Kardinalität braucht nicht angegeben werden, ist immer 1

Page 21: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 21

Aggregationen und Komposition

Dokument

Kapitel Bemerkung Abbildung

*

*

*

**

Page 22: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 22

Mehrwertige Assoziationen

Mehrwertige Assoziationen können keine Kompositionen oder Aggregationen bilden

Verein

Jahr

Fußball-Spieler* *

*

AnzahlTore

Ergebnis

Page 23: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 23

Zusammenfassung

Assoziationen repräsentieren Verbindungen zwischen Objekten einer oder mehrerer Klassen

Mit Hilfe von Kardinalitäten wird dargestellt, wie viele Objekte der beteiligten Klassen jeweils miteinander eine Beziehung eingehen können

Assoziationen können selbst Operations, Attribute und Beziehungen haben (Assoziative Klasse)

Aggregationen sind gerichtete Beziehungen im Sinne von „ist Teil von“

Kompositionen sind Aggregationen, wobei jede Komponente genau zu einem Aggregat gehört und existenzabhängig von diesem ist

Page 24: Hans-Jürgen Steffens Systemanalyse SS 041 6. Vorlesung: Statische Konzepte Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige

Hans-Jürgen Steffens Systemanalyse SS 04 24

Übungsfragen

Wie werden Kardinalitäten angegeben und was bedeuten sie? Was ist eine reflexive Assoziation? Wie werden Restriktionen bzgl. Assoziationen angegeben? Wozu benötigt man Assoziationsklassen? Wie kann man diese auflösen? Erläutern Sie Aggregation und Komposition und grenzen Sie sie

voneinander ab! Was ist eine mehrwertige Assoziation?