04 Modellieren Diagrammarten - wvsg. Informatik 10 –4. Modellieren und Diagrammarten 5...

download 04 Modellieren Diagrammarten - wvsg. Informatik 10 –4. Modellieren und Diagrammarten 5 Klassenkarte

of 27

  • date post

    17-Oct-2019
  • Category

    Documents

  • view

    5
  • download

    0

Embed Size (px)

Transcript of 04 Modellieren Diagrammarten - wvsg. Informatik 10 –4. Modellieren und Diagrammarten 5...

  • Zur Entwicklung einer Software ist eine strukturierte Planung notwendig. Erst auf der Grundlage eines Modells (z.B. geeignete Klassendiagramme) kann eine Implementierung (Programmierung) sinnvoll erfolgen. Während der Implementierungsphase kann das Modell auch angepasst werden.

    4. Modellieren und Diagrammarten

    Informatik 10 – 4. Modellieren und Diagrammarten 1

  • Informatik 10 – 4. Modellieren und Diagrammarten 2

    Modellieren und Implementieren

  • Informatik 10 – 4. Modellieren und Diagrammarten 3

    Einfaches Klassendiagramm

  • Informatik 10 – 4. Modellieren und Diagrammarten 4

    Erweitertes Klassendiagramm

  • Informatik 10 – 4. Modellieren und Diagrammarten 5

    Klassenkarte

    Inf-10 NTG O O M / O O P – J A V A - G r u n d l a g e n O S t R M i c h a e l G a n s h o r n 1

    Wiederholung

    In der heutigen Betrachtungsweise der Informatik besteht die Welt aus Objekten. Jedem Objekt liegt ein Bauplan zugrunde, nach dem es erstellt wurde.

    • Diesen Bauplan nennt man Klasse. Eine Klasse legt fest, welche Attribute (Farbe, Breite, Höhe, ...) und welche Methoden (speichern(), setzeFarbe(...) ...) solche Objekte haben sollen.

    Der logische Aufbau einer Klasse wird in der Regel durch eine sog. Klassen-Karte veranschaulicht. Eine Klassen- Karte ist ein Rechteck, das von oben nach unten aus drei Bereichen besteht:

    Oben: Name der Klasse

    Mitte: Attribute und Daten-Typen

    Unten: Methoden

    • Hat man nun mehrere Objekte einer Klasse erzeugt, so können sich diese durch ihre Attribut-Werte (Farbe: ''rot'', Radius: 3cm, …) unterscheiden.

    Objekte werden durch eine Objekt-Karte veranschaulicht. Objekt-Karten haben im Vergleich zu Klassen-Karten abgerundete Ecken. Jede Objekt-Karte besteht aus zwei Bereichen:

    Oben: Name und Klasse des Objekts

    Unten: Attribute und deren Werte

    Objekte spricht man immer in Punktnotation an: susi.laecheln()

    susi.schlafen(7 Stdunden)

    allgemein: Objektname.Methodenaufruf

    • Verändernde Methoden bringen das Objekt in einen anderen Zustand:

    setzeSchriftgroesse(12)

    • Sondierende Methoden geben eine Antwort auf eine Frage

    nenneDeinenNamen()

    • Übergabe-Parameter kommen in die runden Klammern:

    schlafen(7 Stunden)

    • Methoden ohne Übergabe-Parameter erkennt man an den leeren Klammern:

    laecheln()

    M E N S C H

    geburtsdatum

    name

    groesse

    schlaeft …

    laecheln()

    schlafen( dauer )

    trinken( was , menge )

    ...

    s u s i : M E N S C H

    geburtsdatum = 27.04.1996 name = '' Susanne '' groesse = 1.63 schlaeft = Nein ...

    Objektkarte tina : MENSCH

    geburtsdatum = 29.02.1984 name = “Tina“ groesse = 1.65 schlaeft = nein ...

    Hinweis: Eine Objektkarte ist auch ohne abgerundete Ecken möglich. In diesem Fall müssen der Objektname und die Klasse des Objekts unterstrichen werden.

  • Informatik 10 – 4. Modellieren und Diagrammarten 6

    Beschreibung von Methoden - Struktogramm

  • Informatik 10 – 4. Modellieren und Diagrammarten

    Öffne das BlueJ-Projekt „Ampel_Vorlage“ und öffne die Klasse AMPEL .

    a) Erzeuge ein Objekt von AMPEL und mach dich mithilfe des Objektinspektors und dem Quelltext über die Funktionsweise kundig.

    b) Beschreibe in Worten, welche Objekte beim Ausführen der Methode ausschalten() beteiligt sind und wie sie miteinander kommunizieren.

    7

    Übung 1 – Ampel

  • Informatik 10 – 4. Modellieren und Diagrammarten

    c) Implementiere die fehlenden Methoden, sodass eine einfache Simulation einer Ampelschaltung entsteht. Überlege, wie du die Funktionsweise der Methoden beschreiben könntest

    8

    Übung 1 – Ampel

  • Informatik 10 – 4. Modellieren und Diagrammarten 9

    Beschreibung von Methoden - Sequenzdiagramm

    Ein Sequenzdiagramm veranschaulicht die zeitliche Abfolge der Kommunikation zwischen Objekten.

  • Informatik 10 – 4. Modellieren und Diagrammarten 10

    Sequenzdiagramm

  • Informatik 10 – 4. Modellieren und Diagrammarten 11

    Sequenzdiagramm Bezeichnungen

    Aktivitätsbalken

    Botschaft Rückmeldung

    beteiligte Objekte

  • Informatik 10 – 4. Modellieren und Diagrammarten 12

    Zeichnen von Sequenzdiagrammen

    online

    www.websequencediagrams.com

  • Informatik 10 – 4. Modellieren und Diagrammarten

    Erstelle ein Sequenzdiagramm für die Methode rotSetzen().

    13

    Übung 2 – Ampel

  • Informatik 10 – 4. Modellieren und Diagrammarten

    Die Klasse Spielautomat erzeugt (ähnlich wie die Klasse Ampel) drei Lampen

    lampe1 (links), lampe2 (Mitte) und lampe3 (rechts) der Klasse LAMPE.

    Die Position des Spielautomaten ist festgelegt durch die Position von lampe1.

    Die Position einer einzelnen Lampe ist festgelegt durch die Koordinaten der linken

    oberen Ecke. In der Zeichnung ist also die Position gleich (0,0).

    (x-Achse nach rechts, y-Achse nach unten)

    14

    Übung 3 – Spielautomat

    public class Spielautomat { int positionX, positionY; LAMPE lampe1, lampe2, lampe3;

    public Spielautomat(){ lampe1= new LAMPE(); lampe2 = new LAMPE(); lampe3 = new LAMPE();

    farbmusterSetzen("rot","blau","gelb"); neuePosition(0,0);

    }

    public void farbmusterSetzen(String farbe1, String farbe2, String farbe3){

    lampe1.FarbeSetzen(farbe1); lampe2.FarbeSetzen(farbe2); lampe3.FarbeSetzen(farbe3);

    }

    public void neuePosition( int xNeu, int yNeu){ positionX = xNeu; positionY = yNeu; lampe1.PositionSetzen(positionX,positionY); lampe2.PositionSetzen(positionX+1,positionY); lampe3.PositionSetzen(positionX+2,positionY);

    } }

  • Informatik 10 – 4. Modellieren und Diagrammarten 15

    Übung 3 – Spielautomat

    public class Spielautomat { int positionX, positionY; LAMPE lampe1, lampe2, lampe3;

    public Spielautomat(){ lampe1= new LAMPE(); lampe2 = new LAMPE(); lampe3 = new LAMPE();

    farbmusterSetzen("rot","blau","gelb"); neuePosition(0,0);

    }

    public void farbmusterSetzen(String farbe1, String farbe2, String farbe3){

    lampe1.FarbeSetzen(farbe1); lampe2.FarbeSetzen(farbe2); lampe3.FarbeSetzen(farbe3);

    }

    public void neuePosition( int xNeu, int yNeu){ positionX = xNeu; positionY = yNeu; lampe1.PositionSetzen(positionX,positionY); lampe2.PositionSetzen(positionX+1,positionY); lampe3.PositionSetzen(positionX+2,positionY);

    } }

    a) Zeichne ein Sequenzdiagramm von s1.neuePosition(2,1) . (s1 ist ein Objekt der Klasse Spielautomat)

  • Informatik 10 – 4. Modellieren und Diagrammarten 16

    Übung 3 – Spielautomat

    b) Die Klasse Spielhalle enthält zwei Referenzattribute spA1 und spA2 der Klasse Spielautomat. Im Konstruktor der Klasse werden zwei Spielautomaten (Farbmuster rot-blau-gelb) wie in der Zeichnung erzeugt. In einer Methode werden die Lampen aller Spielautomaten auf die Farbe schwarz gesetzt. Schreibe den Quelltext der Klasse Spielhalle.

  • Informatik 10 – 4. Modellieren und Diagrammarten 17

    Beschreibung von Methoden - Zustandsdiagramm

    Ein Zustandsdiagramm beschreibt die Übergänge von Zuständen während des Ablaufs eines Programms. Dabei können auch mehrere Methoden beteiligt sein. Ein Zustand (z.B. Ampelphase) kann durch den Wert eines Attributs beschrieben werden.

  • Informatik 10 – 4. Modellieren und Diagrammarten 18

    Zustandsdiagramm Ampel

  • Informatik 10 – 4. Modellieren und Diagrammarten 19

    Zustandsdiagramm Ampel

    Startzustand

    auslösende Aktion

  • Informatik 10 – 4. Modellieren und Diagrammarten

    Die Methode ausschalten() soll die Ampel nur aus der Ampelphase „gelb“ in den Zustand „aus“ überführen. Nur aus dem Zustand „aus“ soll die Methode einschalten() die Ampel wieder in den Zustand „ein“ überführen.

    Ergänze das Zustandsdiagramm und die Implementierung.

    20

    Übung 4 – Ampel Zustandsdiagramm

  • Informatik 10 – 4. Modellieren und Diagrammarten 21

    Beschreibung von Methoden - Zustandsdiagramm

    Bei den Zustandsübergängen können zusätzliche Bedingungen und ausgelöste Aktionen beteiligt sein:

  • Informatik 10 – 4. Modellieren und Diagrammarten 22

    Beschreibung von Methoden - Zustandsdiagramm

    Beispiel

    Ein einfacher Kaffeeautomat soll im Zustand Bereit nach Drücken der Taste "Start" eine Tasse Kaffee ausgeben. Für den Fall, dass kein Kaffee eingefüllt ist, erscheint eine Fehlermeldung, der Automat wartet auf die Eingabe von Kaffee und befindet sich im Zustand Fehler. Ist in diesem Zustand der Kaffee eingefüllt, wird die Tasse Kaffee ausgegeben und der Zustand auf Bereit gewechselt.

  • Informatik 10 – 4. Modellieren und Diagrammarten 23

    Beschreibung von Methoden - Zustandsdiagramm

    Beispiel

    Ein einfacher Kaffeeautomat soll im Zustand Bereit nach Drücken der Taste "Start" eine Tasse Kaffee ausgeben. Für den Fall, dass kein Kaffee e