1 / 36

OOM

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

martha
Download Presentation

OOM

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. OOM Objektorientierte Modellierung Paul WeishauptAkademie für Lehrerfortbildung und Personalführung, Dillingen Dillingen, 28.09.04 Quellen: Freiberger, Wiedemann, Heidrich

  2. Grundlagen Vom Problem zur Lösung - Objektorientierung Struktur Assoziation-Kardinalität-Vererbung Interaktion Kapselung-Botschaft-Sequenzdiagramm Zusammenfassung Überblick

  3. Grundlagen Modellbegriff Modellierung Systemanalyse Abstraktes Modell Reales Modell Objekt Klasse Ziele

  4. Original - Modell Original Modell Wer braucht das Modell und wann? Subjekt Was ist relevant? Zu welchem Zweck? Quelle: Stachowiak 1974 Allgemeine Modelltheorie (AMT)

  5. Original - Modell Original Modell relevant relevant Nicht relevant Zusätze Wer braucht das Modell und wann? Subjekt Was ist relevant? Zu welchem Zweck? Quelle: Stachowiak 1974 Allgemeine Modelltheorie (AMT)

  6. Modellierung Struktur, Verhalten und Interaktionen - 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.

  7. Weg zum Modell reales System AbgrenzungAbstraktionIdealisierungAggregationStrukturanalyse Systemanalyse abstraktes Modell Basiskonzepteder Informatik Modellbildung reales ModellRepräsentation

  8. reales System AbgrenzungAbstraktionIdealisierungAggregationStrukturanalyse abstraktes Modell Basiskonzepteder Informatik reales ModellRepräsentation Beispiel: Sportverein Ein 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.

  9. Objektorientierte Modellierung 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 400 Fahrzeug = Golf Baujahr = 2002 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 Abgrenzung Bezeichner Attribute, Attributwerte

  10. Objektorientierte Modellierung 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 1203 ...Fahrzeug = Fahrrad Abstraktion Idealisierung Was ist gleich? Was ist verschieden?Was lässt sich vereinfachen?

  11. Objektorientierte Modellierung 2: SportName = Tennis Beitrag = 45 12 SportName = Turnen Beitrag = 55 2: 7: 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... Reduktion der Komplexität Objekte -> Abstraktion -> Klassen

  12. Klassenbildung MITGLIED SPORTART ORT Vorname : Text Nachname : Text Geburtsdatum : Datum Geschlecht : Zeichen SportName : Text Beitrag : Zahl OName : Text PLZ : Text Reduktion der Komplexität Klasse, Attribut, Wertebereich

  13. 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 Klassifizierung von Grafikobjekten

  14. Beispiel: Patient PATIENT PATIENT HERZ HERZ KNOCHEN Vorname : Text Nachname : Text Geburtsdatum : Datum Geschlecht : Zeichen Vorname : Text Nachname : Text Geburtsdatum : Datum Geschlecht : Zeichen Volumen: Zahl Zustand : Text Volumen: Zahl Zustand : Text Name: Text Zustand : Text schlage()zeigeZustand() gibName() gibAlter() Beispiel: Ein Patient soll mit seinen Körperfunktionen simuliert werden Verhalten Patient hat Vorname, Nachname.., Herz und Knochen. Das Herz kann schlagen und seinen Zustand zeigen.

  15. Objekte und Klassen MITARBEITER Name Kleidung Abteilung NameNennen () AbteilungMerken (Abt) AbteilungNennen () KleidungNennen () m1:MITARBEITER m2:MITARBEITER Name = Huber Kleidung = Sakko Abteilung = Verwaltung Name = Müller Kleidung = Pullover Abteilung = Service NameNennen () AbteilungMerken (Abt) AbteilungNennen () KleidungNennen () NameNennen () AbteilungMerken (Abt) AbteilungNennen () KleidungNennen () Klasse Objekt erzeugen Objekte (Exemplare) - alle Objekte einer Klasse besitzen dieselben Attribute, jedoch i. A. unterschiedliche Attributwerte - alle Objekte einer Klasse verwenden dieselben Methoden

  16. Objekt 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. Identität (ist was) Statisch (hat was) Dynamisch (kann was)

  17. Klasse KLASSENBEZ Attribut1 Attribut2 : 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.

  18. Struktur Aggregation Assoziation Kardinalität Aggregation, Komposition Vererbung Ziele

  19. Beispiel: Patient PATIENT HERZ KNOCHEN Vorname : Text Nachname : Text Geburtsdatum : Datum Geschlecht : Zeichen Volumen: Zahl Zustand : Text Name: Text Zustand : Text schlage()zeigeZustand() gibName() gibAlter() Jedes Objekt der Klasse PATIENT enthält ein Objekt der Klasse HERZ und mehrere Objekte der Klasse KNOCHEN. Diese Zusammenfassung heißt Aggregation. Sie verringert die Komplexität des Modells.

  20. Aggregation PATIENT HERZ KNOCHEN KLEIDUNG Vorname : Text Nachname : Text Geburtsdatum : Datum Geschlecht : Zeichen Volumen: Zahl Zustand : Text Name: Text Zustand : Text Name: Text Farbe : Text schlage()zeigeZustand() gibName() gibAlter() In dem Modell enthält jeder Patient mehrere Knochen und ein Herz. * 1 enthält

  21. Beziehungsbündel Attribute Attribute Beziehungs-bündel Methoden Methoden ? Aufgabenstellung ? Objekt1 Objekt2 Objekt3 Objekt4 Objekt5 Objekt6 Objekt7 Objekt8 Objekt9 Objekt10 Objekt11 Objekt12 Klasse1 Klasse2 Klasse3

  22. Assoziation Objekte der KLASSE1 Objekte der KLASSE2 Die Abhängigkeiten zwischen Objekten werden durch Objekt-beziehungen beschrie-ben. o4 o5 o6 o7 o8 o9 o1 o2 o3 OBeziehung > unterrichtet > o1 o4 Huber Max OBeziehung > unterrichtet > o2 OBeziehung > o5 Meier unterrichtet > Inge Objektdiagramm

  23. Assoziation Beziehung > KLASSE1 KLASSE2 Objekte der KLASSE1 Objekte der KLASSE2 Die Abhängigkeiten zwischen Objekten werden durch Objekt-beziehungen beschrie-ben. o4 o5 o6 o7 o8 o9 o1 o2 o3 Die Menge aller gleich-artigen Beziehungen zwischen Objekten ist eine Assoziation(Beziehungsmenge, Klassenbeziehung, Beziehung). Klassendiagramm

  24. Kardinalität Beziehung > * KLASSE1 KLASSE2 Die Kardinalität gibt an, mit wie vielen anderen Objekten ein Objekt einer bestimmten Klasse in einer konkreten Beziehung steht. 1 genau eines 0..1 keines oder eines * eines oder mehrere 0..* keines oder eines oder mehrere

  25. Assoziation - Beispiel 1 < wird gelehrt In einer Schulklasse : unterrichtet in > * LEHRER FACH

  26. Assoziation - Beispiel ist in > ist in > enthält > enthält > * n * n m * 1 1 < hat < hat < ist Teil von < ist Teil von In der Schule : LEHRER SCHULKLASSE SCHÜLER oder LEHRER SCHULKLASSE SCHÜLER

  27. Assoziation - Beispiel wird benutzt > AUTO MITARBEITER 0..1 Name Abteilung Führerschein Hersteller Baujahr Fahrstrecke Tankinhalt 0..1 NameNennen () BaujahrNennen () Tanken (AnzLiter) Fahren (AnzKM) VerbrauchBerechnen () enthält > REIFEN 5 Größe Profilart Profiltiefe 0..1 0..1 GrößeNennen () MOTOR enthält > 1 Bauart Hubraum Leistung HubraumNennen ()

  28. Vererbung Oberklasse Unterklasse1 Unterklasse2 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).

  29. Vererbung - Beispiel ARBEITER PERSON Abteilung Arbeitszeit Stundenlohn Name Geschlecht Geburtsdatum AbteilungNennen () LohnBerechnen () GeburtsdatumNennen () AlterBerechnen () LohnBerechnen () VERTRETER Grundgehalt Kunden Umsatz UmsatzNennen () LohnBerechnen ()

  30. Interaktion Kapselung Botschaft Sequenzdiagramm Ziele

  31. Datenkapselung Methoden Daten Die Attributwerte (Daten) eines Objekts können nur über Methoden gelesen und verändert werden. Kto201345 Kto201345.BetragAbbuchen(10000,00) Z. B. können so Sicherheitsaspekte von der Methode berücksichtigt werden. BetragAbbuchen(Betrag) Botschaft

  32. Botschaft 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.

  33. Datenaustausch Methoden Methoden Daten Daten Botschaft Botschaft

  34. Sequenzdiagram Schlangenlinien fahren anhalten anhalten:ok Personalien prüfen Personalien prüfen:ok Fahrzeugpapiere prüfen Fahrzeugpapiere prüfen:ok sd Polizeikontrolle :Fahrer :Polizist :Alkomat :Auto par

  35. Grundlagen Vom Problem zur Lösung - Objektorientierung Struktur Objekt-Klasse-Assoziation-Kapselung Interaktion Kapselung-Botschaft-Sequenzdiagramm Zusammenfassung Zusammenfassung

  36. Ende Objektorientierte Modellierung

More Related