36
1 OOM Paul Weishaupt Akademie für Lehrerfortbildung und Personalführung, Dillingen Dillingen, 28.09.04 ellen: Freiberger, Wiedemann, Heidrich Objektorientierte Modellierung

OOM

  • Upload
    martha

  • View
    33

  • Download
    1

Embed Size (px)

DESCRIPTION

OOM. Objektorientierte Modellierung. Paul Weishaupt Akademie für Lehrerfortbildung und Personalführung, Dillingen. Dillingen, 28.09.04. Quellen: Freiberger, Wiedemann, Heidrich. Grundlagen Vom Problem zur Lösung - Objektorientierung Struktur Assoziation-Kardinalität-Vererbung - PowerPoint PPT Presentation

Citation preview

Page 1: OOM

1

OOM

Paul WeishauptAkademie für Lehrerfortbildung und Personalführung, Dillingen

Dillingen, 28.09.04Quellen: Freiberger, Wiedemann, Heidrich

Objektorientierte Modellierung

Page 2: OOM

2

Überblick

• Grundlagen– Vom Problem zur Lösung - Objektorientierung

• Struktur– Assoziation-Kardinalität-Vererbung

• Interaktion– Kapselung-Botschaft-Sequenzdiagramm

• Zusammenfassung

Page 3: OOM

3

Ziele

• Grundlagen– Modellbegriff– Modellierung– Systemanalyse– Abstraktes Modell– Reales Modell– Objekt– Klasse

Page 4: OOM

4

Original - Modell

Original Modell

Subjekt

Quelle: Stachowiak 1974 Allgemeine Modelltheorie (AMT)

Was ist relevant?

Zu welchem Zweck?

Wer braucht das Modell und wann?

Page 5: OOM

5

Original - Modell

relevant relevant

Subjekt

Quelle: Stachowiak 1974 Allgemeine Modelltheorie (AMT)

Was ist relevant?

Zu welchem Zweck?

Wer braucht das Modell und wann?

Nicht relevant

Original Modell

Zusätze

Page 6: OOM

6

Modellierung- Modellierung: Abbildung eines realen

oder geplanten Systems auf ein Modell.

- Modell: Abstrahierte Beschreibung eines Systems, das die für eine bestimmte Zielsetzung wesentlichen Eigenschaften des Systems enthält.

- Ziel: Leichtere formale Beschreibung und größere Anschaulichkeit als das reale System.

Struktur, Verhalten und Interaktionen

Page 7: OOM

7

reales System

abstraktes Modell

reales ModellRepräsentation

Systemanalyse

Modellbildung

AbgrenzungAbstraktionIdealisierungAggregationStrukturanalyse

Basiskonzepteder Informatik

Weg zum Modell

Page 8: OOM

8

Beispiel: SportvereinEin ländlicher Sportverein, bei dem die Mitglieder aus vielen umliegenden Gemeinden kommen, benötigt eine Computerprogramm, mit dem sich Verwaltungsvorgänge einfach und schnell durchführen lassen.

Z. B. Listen erstellen, Adressen ausdrucken, Beiträge einfordern, Informationen an Mitglieder schnell weitergeben, usf. 

reales System

abstraktes Modell

AbgrenzungAbstraktionIdealisierungAggregationStrukturanalyse

reales ModellRepräsentation

Basiskonzepteder Informatik

Page 9: OOM

9

143

Vorname = AnitaNachname = KlaubGeburtsdatum = 1.6.80Geschlecht = wGröße = 1,67

34

Vorname = Inge Nachname = SchmidtGeburtsdatum = 3.8.87Geschlecht = w

1201

Vorname = Klaus Nachname = MaierGeburtsdatum = 22.2.82Geschlecht = mBeruf = Arzt

1203

Vorname = Hans Nachname = HuberGeburtsdatum = 12.3.81Geschlecht = mFahrzeug = Fahrrad

2

SportName = Schwimmen Beitrag = 45

4

SportName = Fußball Beitrag = 35

12

SportName = Turnen Beitrag = 55

2

OName = Brugschlag PLZ = 85368

7

OName = Attenkirchen PLZ = 85358

4

OName = Nandlstadt PLZ = 85364

Abgrenzung

400

Fahrzeug = Golf Baujahr = 2002

BezeichnerAttribute, Attributwerte

Objektorientierte Modellierung

Page 10: OOM

10

Abstraktion 2

SportName = Schwimmen Beitrag = 45

4

SportName = Fußball Beitrag = 35

12

SportName = Turnen Beitrag = 55

2

OName = Brugschlag PLZ = 85368

7

OName = Attenkirchen PLZ = 85358

4

OName = Nandlstadt PLZ = 85364

143: Vorname = AnitaNachname = KlaubGeburtsdatum = 1.6.80Geschlecht = w

34:

Vorname = Inge Nachname = SchmidtGeburtsdatum = 3.8.87Geschlecht = w

1201: Vorname = Klaus Nachname = MaierGeburtsdatum = 22.2.82Geschlecht = m

1203

Vorname = Hans Nachname = HuberGeburtsdatum = 12.3.81Geschlecht = m

Was ist gleich? Was ist verschieden?Was lässt sich vereinfachen?

1203

...Fahrzeug = Fahrrad

Idealisierung

Objektorientierte Modellierung

Page 11: OOM

11

Objekte -> Abstraktion -> Klassen

143: Vorname = AnitaNachname = KlaubGeburtsdatum = 1.6.80Geschlecht = w

34:

Vorname = Inge Nachname = SchmidtGeburtsdatum = 3.8.87Geschlecht = w

1201: Vorname = Klaus Nachname = MaierGeburtsdatum = 22.2.82Geschlecht = m

1203

Vorname = Hans Nachname = HuberGeburtsdatum = 12.3.81Geschlecht = m...

2: SportName = Tennis Beitrag = 45

12

SportName = Turnen Beitrag = 55

2: 7:

4

OName = Nandlstadt PLZ = 85364

Reduktion der Komplexität

Objektorientierte Modellierung

Page 12: OOM

12

MITGLIED

Vorname : TextNachname : TextGeburtsdatum : DatumGeschlecht : Zeichen

Klasse, Attribut, Wertebereich

SPORTART

SportName : TextBeitrag : Zahl

ORT

OName : TextPLZ : Text

Reduktion der Komplexität

Klassenbildung

Page 13: OOM

13

Klassifizierung von Grafikobjekten

G y m n a s i u m

Klasse Objekte typische Attribute

RECHTECK Gymnasium, Turnhalle

Breite, Länge

KREIS Baum1, Baum2, Baum3

Radius, Mittelpunkt

LINIENZUG Pausenhof, Straße Liniendicke, Linienfarbe

TEXTFELD Gymnasium-Text, Realschule-Text

Text, Schriftart, Größe

Page 14: OOM

14

Patient hat Vorname, Nachname.., Herz und Knochen. Das Herz kann schlagen und seinen Zustand zeigen.

Beispiel: Ein Patient soll mit seinen Körperfunktionen simuliert werden

Beispiel: Patient

PATIENT

Vorname : TextNachname : TextGeburtsdatum : DatumGeschlecht : Zeichen

HERZ

Volumen: ZahlZustand : Text

KNOCHEN

Name: TextZustand : Text

PATIENT

Vorname : TextNachname : TextGeburtsdatum : DatumGeschlecht : Zeichen

gibName()gibAlter()

HERZ

Volumen: ZahlZustand : Text

schlage()zeigeZustand()Verhalten

Page 15: OOM

15

MITARBEITERNameKleidungAbteilungNameNennen ()AbteilungMerken (Abt)AbteilungNennen ()KleidungNennen ()

m1:MITARBEITERName = HuberKleidung = SakkoAbteilung = VerwaltungNameNennen ()AbteilungMerken (Abt)AbteilungNennen ()KleidungNennen ()

Objekterzeugen

Klasse

m2:MITARBEITERName = MüllerKleidung = PulloverAbteilung = ServiceNameNennen ()AbteilungMerken (Abt)AbteilungNennen ()KleidungNennen ()

Objekte (Exemplare)- alle Objekte einer Klasse besitzen dieselben Attribute, jedoch i. A. unterschiedliche Attributwerte

- alle Objekte einer Klasse verwenden dieselben Methoden

Objekte und Klassen

Page 16: OOM

16

ObjektBez : KLASSENBEZ

Attribut = Wert

Methode()

Ein Objekt ist ein individuelles und identifizierbares Exemplar von Dingen, Personen oder Begriffen der realen Welt oder der Vorstellungswelt.

Es besitzt festgelegte Eigenschaften und reagiert mit einem definierten Verhalten auf seine Umwelt.

Die Eigenschaften werden durch seine Attributwerte, das Verhalten durch seine Methoden (Operationen) festgelegt.

Objekt

Statisch (hat was)

Dynamisch (kann was)

Identität (ist was)

Page 17: OOM

17

KLASSENBEZ

Attribut1Attribut2 :AttributN

Methode1 ()Methode2 () :MethodeM ()

Eine Klasse beschreibt die Gemein-samkeiten einer Menge von Objekten mit denselben Eigenschaften und demselben Verhalten.

Attribute beschreiben die Eigen-schaften. Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch i.a. unterschiedliche Attributwerte.

Alle Objekte einer Klasse verwenden dieselben Methoden (Operationen).

Es gibt einen Mechanismus zum Erzeugen von Objekten.

Klasse

Page 18: OOM

18

Ziele

• Struktur– Aggregation– Assoziation– Kardinalität– Aggregation, Komposition– Vererbung

Page 19: OOM

19 Diese Zusammenfassung heißt Aggregation. Sie verringert die Komplexität des Modells.

KNOCHEN

Name: TextZustand : Text

Jedes Objekt der Klasse PATIENT enthält ein Objekt der Klasse HERZ und mehrere Objekte der Klasse KNOCHEN.

Beispiel: Patient

HERZ

Volumen: ZahlZustand : Text

schlage()zeigeZustand()

PATIENT

Vorname : TextNachname : TextGeburtsdatum : DatumGeschlecht : Zeichen

gibName()gibAlter()

Page 20: OOM

20

KNOCHEN

Name: TextZustand : Text

In dem Modell enthält jeder Patient mehrere Knochen und ein Herz.

Aggregation

HERZ

Volumen: ZahlZustand : Text

schlage()zeigeZustand()

PATIENT

Vorname : TextNachname : TextGeburtsdatum : DatumGeschlecht : Zeichen

gibName()gibAlter()

*

1

enthält KLEIDUNG

Name: TextFarbe : Text

Page 21: OOM

21

? Aufgabenstellung ?

Objekt1 Objekt2 Objekt3 Objekt4 Objekt5 Objekt6

Objekt7 Objekt8 Objekt9 Objekt10 Objekt11 Objekt12

Beziehungsbündel

Klasse1 Klasse2 Klasse3

Attribute

Methoden

Attribute

MethodenBeziehungs-bündel

Page 22: OOM

22

Die Abhängigkeiten zwischen Objekten werden durch Objekt-beziehungen beschrie-ben.

o1

o2

o3

o4o5o6o7o8o9

Objekte der

KLASSE1

o4OBeziehung >

o1

o5o2OBeziehung >

OBeziehung >

Objektdiagramm

Maxunterrichtet >

Huber

IngeMeierunterrichtet >

unterrichtet >

Objekte der

KLASSE2

Assoziation

Page 23: OOM

23

KLASSE1 KLASSE2Beziehung >

Klassendiagramm

Die Menge aller gleich-artigen Beziehungen zwischen Objekten ist eine Assoziation (Beziehungsmenge, Klassenbeziehung, Beziehung).

AssoziationDie Abhängigkeiten zwischen Objekten werden durch Objekt-beziehungen beschrie-ben.

o1

o2

o3

o4o5o6o7o8o9

Objekte der

KLASSE1Objekte der

KLASSE2

Page 24: OOM

24

KLASSE1 KLASSE2Beziehung > *

Die Kardinalität gibt an, mit wie vielen anderen Objekten ein Objekt einer bestimmten Klasse in einer konkreten Beziehung steht.

1 genau eines0..1 keines oder eines* eines oder mehrere0..* keines oder eines oder mehrere

Kardinalität

Page 25: OOM

25

LEHRER FACHunterrichtet in > *

In einer Schulklasse :

< wird gelehrt1

Assoziation - Beispiel

Page 26: OOM

26

LEHRER SCHULKLASSEist in > n

In der Schule :

SCHÜLER< hatm

enthält > n

< ist Teilvon

1

Assoziation - Beispiel

LEHRER SCHULKLASSEist in > *

SCHÜLER< hat*

enthält > *

< ist Teilvon

1

oder

Page 27: OOM

27

AUTOHerstellerBaujahrFahrstreckeTankinhalt

BaujahrNennen ()Tanken (AnzLiter)Fahren (AnzKM)VerbrauchBerechnen ()

MITARBEITERNameAbteilungFührerschein

NameNennen ()

wird benutzt > 0..1

0..1

REIFENGrößeProfilartProfiltiefe

GrößeNennen ()

enthält > 5

MOTORBauartHubraumLeistung

HubraumNennen ()

enthält > 1

Assoziation - Beispiel

0..1

0..1

Page 28: OOM

28

Oberklasse

Unterklasse3

Die Vererbung ist eine gerichtete Beziehung zwischen Klassen, wobei eine Unterklasse die Attribute und Operationen von einer (oder mehreren) Oberklasse übernimmt („ist ein“).Die Unterklasse definiert im Allgemeinen weitere Attribute und Operationen. Außerdem kann sie geerbte Operationen redefinieren (überdecken).

Unterklasse2Unterklasse1

Vererbung

Page 29: OOM

29

PERSONNameGeschlechtGeburtsdatum

GeburtsdatumNennen ()AlterBerechnen ()LohnBerechnen ()

VERTRETERGrundgehaltKundenUmsatz

UmsatzNennen ()LohnBerechnen ()

ARBEITERAbteilungArbeitszeitStundenlohn

AbteilungNennen ()LohnBerechnen ()

Vererbung - Beispiel

Page 30: OOM

30

Ziele

• Interaktion– Kapselung – Botschaft– Sequenzdiagramm

Page 31: OOM

31

Die Attributwerte (Daten) eines Objekts können nur über Methoden gelesen und verändert werden.

Daten

Botschaft

Datenkapselung

Kto201345.BetragAbbuchen(10000,00)

Kto201345

BetragAbbuchen(Betrag)

Z. B. können so Sicherheitsaspekte von der Methode berücksichtigt werden.

Page 32: OOM

32

Eine Botschaft (Nachricht) ist eine Aufforderung eines Senders (client) an einen Empfänger (server) eine Dienstleistung zu erbringen.

Der Empfänger interpretiert diese Botschaft und führt eine Methode aus.

Die Botschaft besteht in der Regel aus dem Namen der Methode und den Zusatzinformationen (Argumente, Parameter), die diese Aktion benötigt.

Botschaft

Page 33: OOM

33

Botschaft

Botschaft

Daten

Daten

Datenaustausch

Page 34: OOM

34

Sequenzdiagram

:Fahrer :Polizist :Auto:Alkomat

sd Polizeikontrolle

Schlangenlinien fahren

anhalten

anhalten:ok

Personalien prüfen

Fahrzeugpapiere prüfen

Personalien prüfen:ok

Fahrzeugpapiere prüfen:ok

par

Page 35: OOM

35

Zusammenfassung

• Grundlagen– Vom Problem zur Lösung - Objektorientierung

• Struktur– Objekt-Klasse-Assoziation-Kapselung

• Interaktion– Kapselung-Botschaft-Sequenzdiagramm

• Zusammenfassung

Page 36: OOM

36

Objektorientierte Modellierung

Ende