1 / 24

6. Vorlesung: Statische Konzepte

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.

toan
Download Presentation

6. Vorlesung: Statische Konzepte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Assoziation • Assoziationen modellieren Verbindungen zwischen Objekten einer oder mehrerer Klassen • Im Objekt-Diagramm: Hans-Jürgen Steffens Systemanalyse SS 04

  3. 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

  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 Hans-Jürgen Steffens Systemanalyse SS 04

  5. 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

  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 1 * Kunde Konto 1 1..* Kunde Konto Hans-Jürgen Steffens Systemanalyse SS 04

  7. Reflexive Assoziationen • Assoziationen zwischen Objekten der selben Klasse 0..1 Angestellter Chef Rollen-Namen(bei reflexivenAssoziationenerforderlich) Mitarbeiter * Hans-Jürgen Steffens Systemanalyse SS 04

  8. Reflexive Assoz. – Beispiel für Objektbeziehungen Hans-Jürgen Steffens Systemanalyse SS 04

  9. 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

  10. 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

  11. Mehrere Assoziationen zwischen gleichen Klassen FachlicherVorgesetzter DisziplinarischerVorgesetzter Angestellter 0..1 0..1 * * 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) Kunde Veranstaltung * * Name Nummer Adresse Dauer Buchung Anmeldedatum Abmeldedatum Rechn.datum anmelden() abmelden() Hans-Jürgen Steffens Systemanalyse SS 04

  13. Assoziative Klasse - Beispiel Ehe DatumHochzeit DatumScheidung * * Mann Frau 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. * * B A B A 1 1 * * C C 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 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

  16. 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

  17. Aggregation • Gerichtete Beziehung im Sinne von „ist Teil von“ • Drückt eine Rangordnung aus Aggregat Komponente Hans-Jürgen Steffens Systemanalyse SS 04

  18. 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

  19. 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

  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 Kardinalität braucht nicht angegeben werden, ist immer 1 * Auftragsposition Hans-Jürgen Steffens Systemanalyse SS 04

  21. Aggregationen und Komposition Dokument * * * * * Kapitel Bemerkung Abbildung Hans-Jürgen Steffens Systemanalyse SS 04

  22. 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

  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 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? Hans-Jürgen Steffens Systemanalyse SS 04

More Related