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
1
OOM
Paul WeishauptAkademie für Lehrerfortbildung und Personalführung, Dillingen
Dillingen, 28.09.04Quellen: Freiberger, Wiedemann, Heidrich
Objektorientierte Modellierung
2
Überblick
• Grundlagen– Vom Problem zur Lösung - Objektorientierung
• Struktur– Assoziation-Kardinalität-Vererbung
• Interaktion– Kapselung-Botschaft-Sequenzdiagramm
• Zusammenfassung
3
Ziele
• Grundlagen– Modellbegriff– Modellierung– Systemanalyse– Abstraktes Modell– Reales Modell– Objekt– Klasse
4
Original - Modell
Original Modell
Subjekt
Quelle: Stachowiak 1974 Allgemeine Modelltheorie (AMT)
Was ist relevant?
Zu welchem Zweck?
Wer braucht das Modell und wann?
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
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
7
reales System
abstraktes Modell
reales ModellRepräsentation
Systemanalyse
Modellbildung
AbgrenzungAbstraktionIdealisierungAggregationStrukturanalyse
Basiskonzepteder Informatik
Weg zum Modell
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
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
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
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
12
MITGLIED
Vorname : TextNachname : TextGeburtsdatum : DatumGeschlecht : Zeichen
Klasse, Attribut, Wertebereich
SPORTART
SportName : TextBeitrag : Zahl
ORT
OName : TextPLZ : Text
Reduktion der Komplexität
Klassenbildung
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
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
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
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)
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
18
Ziele
• Struktur– Aggregation– Assoziation– Kardinalität– Aggregation, Komposition– Vererbung
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()
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
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
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
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
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
25
LEHRER FACHunterrichtet in > *
In einer Schulklasse :
< wird gelehrt1
Assoziation - Beispiel
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
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
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
29
PERSONNameGeschlechtGeburtsdatum
GeburtsdatumNennen ()AlterBerechnen ()LohnBerechnen ()
VERTRETERGrundgehaltKundenUmsatz
UmsatzNennen ()LohnBerechnen ()
ARBEITERAbteilungArbeitszeitStundenlohn
AbteilungNennen ()LohnBerechnen ()
Vererbung - Beispiel
30
Ziele
• Interaktion– Kapselung – Botschaft– Sequenzdiagramm
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.
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
33
Botschaft
Botschaft
Daten
Daten
Datenaustausch
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
35
Zusammenfassung
• Grundlagen– Vom Problem zur Lösung - Objektorientierung
• Struktur– Objekt-Klasse-Assoziation-Kapselung
• Interaktion– Kapselung-Botschaft-Sequenzdiagramm
• Zusammenfassung
36
Objektorientierte Modellierung
Ende