250 likes | 464 Views
6. Vorlesung: Statische Konzepte. Assoziationen Kardinalitäten Assoziative Klassen Aggregation Komposition Mehrwertige Assoziationen. Assoziation. Assoziationen modellieren Verbindungen zwischen Objekten einer oder mehrerer Klassen Im Objekt-Diagramm:. Assoziation.
E N D
6. Vorlesung: Statische Konzepte • Assoziationen • Kardinalitäten • Assoziative Klassen • Aggregation • Komposition • Mehrwertige Assoziationen Hans-Jürgen Steffens Systemanalyse SS 04
Assoziation • Assoziationen modellieren Verbindungen zwischen Objekten einer oder mehrerer Klassen • Im Objekt-Diagramm: Hans-Jürgen Steffens Systemanalyse SS 04
Assoziation Name der Assoziation mit Leserichtung (optional) • 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 Konto Kunde besitzt Kontonr Name Art * 1 Eröffnung Kardinalität Hans-Jürgen Steffens Systemanalyse SS 04
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 Hans-Jürgen Steffens Systemanalyse SS 04
Beispiele für Assoziationen Mann Frau ist verheiratet mit 0..1 0..1 Mann Frau Ehe * * (auch frühere Ehen) Erwachsener Kind Elternschaft 2 * * Person Besser: Kind Elternschaft 2 Eltern Hans-Jürgen Steffens Systemanalyse SS 04
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 1 * Kunde Konto 1 1..* Kunde Konto Hans-Jürgen Steffens Systemanalyse SS 04
Reflexive Assoziationen • Assoziationen zwischen Objekten der selben Klasse 0..1 Angestellter Chef Rollen-Namen(bei reflexivenAssoziationenerforderlich) Mitarbeiter * Hans-Jürgen Steffens Systemanalyse SS 04
Reflexive Assoz. – Beispiel für Objektbeziehungen Hans-Jürgen Steffens Systemanalyse SS 04
Notation für Assoziationen Name Klasse 1 Klasse 2 k1 k2 Attribut Attribut Rolle1 Rolle2 Operation() Operation() Klasse k1 Attribut Rolle1 Operation() Rolle2 k2 Name Hans-Jürgen Steffens Systemanalyse SS 04
Mehrere Assoziationen zwischen gleichen Klassen • Bestehen mehrere Assoziationen zwischen denselben Klassen, sind sie durch Klassennamen oder Rollenbezeichnungen voneinander zu unterscheiden Konto 1 * Kunde Kontonr Inhaber Name Art Eröffnung * * Berechtigter Hans-Jürgen Steffens Systemanalyse SS 04
Mehrere Assoziationen zwischen gleichen Klassen FachlicherVorgesetzter DisziplinarischerVorgesetzter Angestellter 0..1 0..1 * * Hans-Jürgen Steffens Systemanalyse SS 04
Assoziative Klasse • Assoziation kann zusätzlich die Eigenschaften einer Klasse haben (Attribute, Operationen, Beziehungen zu anderen Klassen) Kunde Veranstaltung * * Name Nummer Adresse Dauer Buchung Anmeldedatum Abmeldedatum Rechn.datum anmelden() abmelden() Hans-Jürgen Steffens Systemanalyse SS 04
Assoziative Klasse - Beispiel Ehe DatumHochzeit DatumScheidung * * Mann Frau Hans-Jürgen Steffens Systemanalyse SS 04
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. * * B A B A 1 1 * * C C Hans-Jürgen Steffens Systemanalyse SS 04
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 Auftrag 1 Produktnr 1 1..* Qualifizierendes Attribut 0..1 Position Position Niedrigere Kardinalität * * 1 1 Produkt Produkt Produktnr Name Produktnr Name Hans-Jürgen Steffens Systemanalyse SS 04
Abgeleitete Assoziationen • Abgeleitete Assoziationen lassen sich aus anderen Assoziationen berechnen (sind insofern redundant) • Werden mit Präfix / gekennzeichnet Abgeleitete Assoziation Hans-Jürgen Steffens Systemanalyse SS 04
Aggregation • Gerichtete Beziehung im Sinne von „ist Teil von“ • Drückt eine Rangordnung aus Aggregat Komponente Hans-Jürgen Steffens Systemanalyse SS 04
Eigenschaften von Aggregationen Es gelte: Daraus folgt Zyklen sind verboten: (Transitivität): (Azyklischer Gerichteter Graph) x x x Hans-Jürgen Steffens Systemanalyse SS 04
Shared Aggregation (Weak Ownership) • Mehrfache Zuordnung ist bei Aggregations i.d.R. erlaubt • Komponente kann auch ohne das Aggregat existieren (keine Existenzabhängigkeit) Hans-Jürgen Steffens Systemanalyse SS 04
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 Kardinalität braucht nicht angegeben werden, ist immer 1 * Auftragsposition Hans-Jürgen Steffens Systemanalyse SS 04
Aggregationen und Komposition Dokument * * * * * Kapitel Bemerkung Abbildung Hans-Jürgen Steffens Systemanalyse SS 04
Mehrwertige Assoziationen • Mehrwertige Assoziationen können keine Kompositionen oder Aggregationen bilden Ergebnis AnzahlTore Verein Fußball-Spieler * * * Jahr Hans-Jürgen Steffens Systemanalyse SS 04
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 Hans-Jürgen Steffens Systemanalyse SS 04
Ü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? Hans-Jürgen Steffens Systemanalyse SS 04