• Keine Ergebnisse gefunden

Assoziationen | informatikZentrale

N/A
N/A
Protected

Academic year: 2022

Aktie "Assoziationen | informatikZentrale"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Objektorientierte Analyse / Objektorientiertes Design:

Assoziationen

(= Beziehungen zw. Objekten/Klassen, auch:

"kennt"-Beziehung)

(2)

Ziel:

Wir modellieren die Beziehungen zwischen Klassen, um sie anschließend sinnvoll programmieren zu können.

1) Multiplizitäten – Mengenverhältnisse zwischen Klassen (0..1, 1, 1..*, *) 2) Navigierbarkeit – Wer kann auf wen zugreifen? (Pfeilspitze vs. X)

3) Rollen – Welche Rolle spielt eine Klasse für die andere?

(3)

1) Multiplizitäten

(4)

Jeder Direktor hat keinen, einen oder mehrere Lehrer (er könnte in einer winzigen Landschule arbeiten, wo er der einzige Lehrer ist).

Jeder Lehrer hat genau einen Direktor (ohne

Direktor kann die Schule nicht existieren)

Multiplizitäten wie bei ER-Diagrammen

(5)

Multiplizitäten wie bei ER-Diagrammen

Multiplizität Bedeutung Beispiel

0..1 dem Objekt ist immer kein oder

ein anderes Objekt zugeordnet Ein Artikel befindet sich in keinem Einkaufswagen (= noch im Regal) oder in maximal einem.

1 dem Objekt ist immer genau ein

anderes Objekt zugeordnet Jede Laus sitzt immer auf genau einem Hund (ohne Hund kann sie nicht leben)

* dem Objekt ist kein, ein oder mehrere andere Objekte zugeordnet

Auf jedem Hund sitzt keine, eine oder mehrere Läuse.

1..* dem Objekt ist ein oder mehrere

andere Objekte zugeordnet Auf jeder Rechnung steht ein oder mehrere Artikel (eine Rechnung ohne Artikel ist sinnlos).

(6)

* Jeder Direktor hat keine, eine oder mehrere Sekretärinnen.

1 Jede Sekretärin hat genau einen Direktor (niemals: keinen oder mehrere).

0...1 Jeder Lehrer arbeitet mit keinem oder einem Schulsozialarbeiter zugeordnet.

(7)

Übung Multiplizitäten

Wir bilden unsere Schule in einer Software ab. Wir wollen wissen, welche Klassen aufeinander zugreifen können müssen etc.

(8)

Übung Multiplizitäten

Tragen Sie die korrekten Multiplizitäten ein.

(9)

Übung Multiplizitäten

Tragen Sie die korrekten Multiplizitäten ein. LÖSUNGSVORSCHLAG

(10)

Muss der Schüler die Sekretärin "kennen"/auf diese Klasse Zugriff haben?

(z.B. ihr Gehalt ändern, sie zum Postamt schicken ...)

Muss der Hausmeister die Schüler "kennen"/auf diese Klasse Zugriff haben?

(z.B. ihren Namen, ihren Geburtsort, ihre Klasse...?)

Frage der "Navigierbarkeit"

(11)

2) Navigierbarkeit

(12)

Navigierbarkeit, Beispiel 1

Pfeilspitze: Andere Klasse kann auf die Klasse zugreifen

X: Andere Klasse kann nicht auf die Klasse zugreifen (nichts:) Keine Beziehung angegeben

(13)

Die Sekretärin kennt die Schüler, oder:

Die Sekretärin kann die Telefonnummer eines Schülers herausfinden, oder:

Die Sekretärin kann Schülerdaten verändern, z.B.

Telefonnummer ändern usw. ...

Der Schüler weiß nichts über die Sekretärin, oder:

Es ist nicht notwendig, dass ein Schüler auf die Sekretärin zugreift (z.B. ihre Telefonnummer, ihre Bankverbindung sieht, verändert, sie zum Postamt schickt ...)

Navigierbarkeit, Beispiel 1

(14)

Die Rechnung "kennt" ihre Artikel; sie "weiß", welche Artikel draufstehen, oder:

Wenn ich eine Rechnung anschaue, sehe ich, welche Artikel sie enthält, oder:

Ich möchte die Rechnung verändern können, indem ich Artikel hinzufüge, entferne ...

Wenn ich einen Artikel anschaue, sehe ich nicht, auf welcher Rechnung er sich befindet, oder:

Es ist nicht notwendig, dass ich den Zustand Navigierbarkeit, Beispiel 2

(15)

Navigierbarkeit, Beispiel 3

Die Navigierbarkeit hängt davon ab, welche Funktionalitäten man realisieren will.

Beispiel:

Angestellter/Abteilung kann unterschiedlich navigierbar sein

(16)

Die Abteilung muss auf die Angestellten zugreifen, um die Gehaltsliste drucken zu können (dazu braucht sie bspw. den Namen der Angestellten)

Der Angestellte greift nicht auf die Abteilung zu, da er für korrektes Funktionieren keine Informationen braucht.

(Welcher Angestellte wo arbeitet, kann man ja über die Abteilung herausbekommen)

Navigierbarkeit, Beispiel 3 – Version 1

(17)

Wenn der Angestellte einen Ausweis drucken können muss, dann muss er wissen, in welcher Abteilung er arbeitet, wie die Abteilung heißt usw.

Deshalb muss die Assozation nun auch in die andere Richtung navigierbar sein!

Navigierbarkeit, Beispiel 3 – Version 2

(18)

unidirektional:

nur in eine Richtung navigierbar

bidirektional:

in beide Richtungen navigierbar

unidirektionale und bidirektionale Navigierbarkeit

(19)

Übung Navigierbarkeit 1

Das eclipse-Plugin eUML2 weigert sich, Assoziationen anzulegen, die an beiden Seiten nicht navigierbar sind.

Warum?

(20)

Übung Navigierbarkeit 2

Diskutieren Sie, ob die Navigierbarkeit hier korrekt

angegeben ist:

(21)

Übung Navigierbarkeit 3

Ergänzen Sie die Navigierbarkeit:

Schüler Direktor

Direktor Hausmeister

Sekretärin Hausmeister

(22)

Übung Navigierbarkeit 4

Erstellen Sie zwei uni- und zwei bidirektionale

Assoziationspaare. Das Thema ist Ihnen freigestellt.

(23)

3) Rollen

(24)

Der Direktor hat in Bezug auf den Lehrer die Rolle "Chef"

Der Lehrer hat in

Bezug auf den Direktor die Rolle "Angestellter"

Frage, um zu korrekten Bezeichnungen zu kommen:

(25)

Warum Rollenbezeichnungen wichtig sein können

Szenario 1 - Uns interessiert die Verwaltungsstruktur:

Szenario 2 - Uns interessiert der Ehestand:

Der Direktor teilt den Lehrern Korrekturen zu, die Lehrer bitten den Direktor um Freistellung vom Unterricht etc.

Der Direktor ist mit einem Lehrer verheiratet. Der Lehrer kennt das Gehalt des Direktors (wegen der gemeinsamen Steuererklärung), der Direktor kennt die Geheimzahl der EC-Karte des Lehrers usw.

(26)

Warum Rollenbezeichnungen wichtig sein können

Szenario 1 - Uns interessiert die Verwaltungsstruktur:

Szenario 2 - Uns interessiert der Ehestand:

(27)

Warum Rollenbezeichnungen wichtig sein können

Szenario 1 - Uns interessiert die Verwaltungsstruktur:

Szenario 2 - Uns interessiert der Ehestand:

Lehrer hat Rolle

"Angestellter"

-- Jeder Direktor kann mehrere Lehrer haben

Lehrer hat Rolle

"Ehepartner"

-- Jeder Direktor kann maximal einen Lehrer haben

(28)

Warum Rollenbezeichnungen wichtig sein können

Szenario 1 - Uns interessiert die Verwaltungsstruktur:

Szenario 2 - Uns interessiert der Ehestand:

Lehrer hat Rolle

"Angestellter"

-- Jeder Direktor kann mehrere Lehrer haben

Lehrer hat Rolle

"Ehepartner"

-- Jeder Direktor

Je nach Rolle ändert sich evtl.

Multiplizität + Navigierbarkeit

(29)

-Zugriffsmodifikator ist grundsätzlich private (wie auch das Attribut, durch das die assoziierte Klasse repräsentiert wird – wird später erläutert)

- von eUML2 vorgeschlagene Defaultwerte sind oft in Ordnung - Rollenbezeichnungen sind optional

Allgemeines zu Rollen

(30)

Zusammenfassende Übung

(31)

Übung: Assoziationen / UML

Zeichnen Sie korrekte Assoziationen, Rollen, Multiplizitäten und

Navigierbarkeiten ein.

(32)

Übung: Assoziationen / UML - Lösungs

vorschlag

Zeichnen Sie korrekte Assoziationen, Rollen, Multiplizitäten und

Navigierbarkeiten ein.

(33)

Übung: Assoziationen / UML - Lösungsvorschlag

mit Anzeige der assoziierten Attribute (Achtung: Hier kleinere Fehler, z.B.

Sichtbarkeit des Attributs name bei Person)

Referenzen

ÄHNLICHE DOKUMENTE

Für jeden Umsatz an einen Unternehmer oder eine juristische Person, die nicht Unternehmer ist, muss der Unternehmer, ohne dass dafür ein ausdrückliches Verlangen des

Gut, dass auch für Konsumentinnen und Konsumenten nachhaltig produzierte Lebensmittel wieder wichtiger werden, wie eine Umfrage in der Bevölkerung zeigt?. Weniger positiv ist

Endpunkt eine „virtuelle“ Kante zum Startpunkt eingefügt werden, um einen zyklischen Graph (laut Definition zyklische Zahl) zu erhalten. Zyklomatische Komplexität

Bitte beachte dass die Nutra Effects Radiance Produkte nur einzeln bestellbar sind und nicht im Angebot 3 nach Wahl für 18 EURO.. PREISLISTE & ZUM LETZTEN MAL IN DER

einkassierte Steuern an ev.ref.. einkassierte Steuern

Bitte beachte dass das KLEINE DUFT-WEIHNACHTSSET 5 (Bestell-Nr. 81190) für 20.99 Euro zusätzlich zu den 10 Taschensprays und der Gratis Geschenktasche mit dem Duft FAR AWAY

 eBill wird in Zukunft von SIX für alle Schweizer Banken mit einem einheitlichen Standard betrieben. PostFinance ist ab 1.11.2019 als

Für mich als ein in der Moderne lebendes Ich hat durch den hohen sozialen Status der Vernünftigkeit das reflexive Denken eine verführerische Kraft, die mir vorgaukelt, diese von