4. Modellieren und Diagrammarten

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Definition von Klassen in Java
Kapselung , toString , equals , Java API
Sequenzdiagramm.
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Ein Beispiel in Java.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Delphi II - OOP IFB Fortbildung
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
1.3 Klassen und Beziehungen
1.3 Klassen und Beziehungen
Informatik Zustandsorientiertes Modellieren und Programmieren 2.4 Datenkapselung 2.4 Datenkapselung Objekte können miteinander kommunizieren, indem.
2. Zustandsorientiertes Modellieren 2.4 Datenkapselung
Objektorientiertes Konstruieren
Starten der Entwicklungsumgebung (IDE)
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
A Workshop About this chapter General description Units Time Schedule
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Objektorientierte Programmierung (OOP)
Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Objektorientiertes Modellieren und Programmieren mit Java
Einführung DI Harald Sander.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
Venusspiegel und Marsschild
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Die Klasse Geist.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Die Klasse Vielfrass in Java
Klassen selbst programmieren
Informatik 10 – 3. Bedingte Anweisungen
Ein schematischer Kirschbaum in Java
Die Struktur einer Java-Klasse
Grundkurs Informatik 11-13
November 18 Informatik Kurse
6. Wiederholungen und Zählschleifen
Informatik 10 – 3. Bedingte Anweisungen
7. Arrays Gelegentlich braucht man für ein Programm mehrere Attribute desselben Datentyps oder derselben Klasse. Beispiel: In der Highscore-Liste eines.
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
Objektorientiertes Modellieren und Programmieren mit Java
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
2. Vererbung und Kapselung
«Delegierter» Methoden Schablone Funktionszeiger
1. Die rekursive Datenstruktur Liste 1
Datenstrukturen und Softwareentwicklung
9. Vererbung und Polymorphie
Implementieren von Klassen
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
Grundkurs Informatik 11-13
Informatik Softwareentwicklung – 4.2 Diagramme
2. Die rekursive Datenstruktur Baum 2.3 Baum und Kompositum
Startampel Projekt INGOLSTADT.
 Präsentation transkript:

4. Modellieren und Diagrammarten 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. Informatik 10 – 4. Modellieren und Diagrammarten

Modellieren und Implementieren Informatik 10 – 4. Modellieren und Diagrammarten

Einfaches Klassendiagramm Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Erweitertes Klassendiagramm Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Klassenkarte 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

Beschreibung von Methoden - Struktogramm Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 1 – Ampel Ö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. Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 1 – Ampel c) Implementiere die fehlenden Methoden, sodass eine einfache Simulation einer Ampelschaltung entsteht. Überlege, wie du die Funktionsweise der Methoden beschreiben könntest Informatik 10 – 4. Modellieren und Diagrammarten

Beschreibung von Methoden - Sequenzdiagramm Ein Sequenzdiagramm veranschaulicht die zeitliche Abfolge der Kommunikation zwischen Objekten. Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Sequenzdiagramm Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Sequenzdiagramm Bezeichnungen beteiligte Objekte Aktivitätsbalken Botschaft Rückmeldung Informatik 10 – 4. Modellieren und Diagrammarten

Zeichnen von Sequenzdiagrammen www.websequencediagrams.com Zeichnen von Sequenzdiagrammen online Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 2 – Ampel Erstelle ein Sequenzdiagramm für die Methode rotSetzen(). Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 3 – Spielautomat 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) 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

Informatik 10 – 4. Modellieren und Diagrammarten Übung 3 – Spielautomat a) Zeichne ein Sequenzdiagramm von s1.neuePosition(2,1) . (s1 ist ein Objekt der Klasse 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

Informatik 10 – 4. Modellieren und Diagrammarten Ü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

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

Zustandsdiagramm Ampel Informatik 10 – 4. Modellieren und Diagrammarten

Zustandsdiagramm Ampel Startzustand auslösende Aktion Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 4 – Ampel Zustandsdiagramm 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“ Ergänze das Zustandsdiagramm und die Implementierung. Informatik 10 – 4. Modellieren und Diagrammarten

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

Beschreibung von Methoden - Zustandsdiagramm Beispiel Beschreibung von Methoden - Zustandsdiagramm 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

Beschreibung von Methoden - Zustandsdiagramm Beispiel Beschreibung von Methoden - Zustandsdiagramm 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

Informatik 10 – 4. Modellieren und Diagrammarten Übung 5 – Zustandsdiagramm, Stoppuhr Zum Modellieren einer Stoppuhr verwendet man ein Zustandsdiagramm mit den Zuständen „Bereit“, „Zeitmessung läuft“ und „Zeit angehalten“. Drückt man im Startzustand „Bereit“ die Taste „StartStopp“, startet die Zeitmessung und die Anzeige wird aktualisiert. Drückt man im Zustand „Zeitmessung läuft“ die Taste „StartStopp“, wird die Zeitmessung angehalten und die Anzeige aktualisiert. Drückt man die Taste „StartStopp“ erneut, läuft die Zeitmessung weiter und die Anzeige wird aktualisiert. Die Taste „Reset“ löst auf der Uhr die Anzeige „reset“ aus und setzt sie in den Startzustand. Während der Zeitmessung kann man auch die Taste „Zwischenzeit“ betätigen. Dies aktualisiert die Anzeige. Zeichne das Zustandsdiagramm. Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 6 – Zustandsdiagramm, Spülmaschine Die Spülmaschine ist zu Beginn im Zustand "Stand By". Nach Wählen eines Programms ist sie im Zustand "Programm gewählt". Durch Drücken der Taste Start wechselt sie nur dann in den Zustand "In Betrieb", wenn die Tür geschlossen ist. In diesem Fall wird der Wasserzulauf geöffnet und das Programm gestartet. Öffnet man während des laufenden Programms die Tür, wird der Wasserzulauf gestoppt und das Programm angehalten. Die Maschine ist dann im Zustand "Pause" und durch Drücken der Taste "Abbrechen" gelangt man in den Zustand "Stand By". Das Abbrechen ist auch vom Zustand "Programm gewählt" möglich. Schließt man im Zustand "Pause" wieder die Tür, wird das Programm fortgesetzt. Öffnet man die Tür nach Beenden des Programms, wechselt die Maschine in den Zustand "Stand By". Zeichne ein Zustandsdiagramm. Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 7 – Zustandsdiagramm, Kühlschrank Ein einfacher Kühlschrank besitzt einen Ein-Aus-Schalter, der jederzeit betätigt werden kann. Im eingeschalteten Zustand kann er auf die Kühlstufen 1, 2 oder 3 eingestellt werden. Dafür gibt es die Tasten ▲ zum Hochschalten und ▼ zum Herunterschalten der Kühlstufe. Nach dem Einschalten befindet sich der Kühlschrank immer auf Kühlstufe 2. a) Modelliere den beschriebenen Kühlschrank mithilfe eines Zustandsdiagramms. b) Erstelle eine Zustandsübergangstabelle : Zustand \ auslösende Aktion einschalten hochschalten herunterschalten aus 1 2 3 Informatik 10 – 4. Modellieren und Diagrammarten

Informatik 10 – 4. Modellieren und Diagrammarten Übung 7 – Zustandsdiagramm, Kühlschrank (*) c) Implementiere den Kühlschrank durch Definition einer geeigneten Klasse, wobei die möglichen Zustände des Kühlschranks durch die Attribute stufe und eingeschaltet und die auslösenden Aktionen durch die Methoden hochschalten(), herunterschalten() und einausschalten() realisiert werden sollen. Teste deine Implementierung, indem du die Zustandsübergänge nach unterschiedlichen Methodenaufrufen mit dem Zustandsdiagramm vergleichst. Definiere dazu eine Methode zustandAusgeben(), die den Zustand des Kühlschranks auf dem Bildschirm ausgibt. Informatik 10 – 4. Modellieren und Diagrammarten