04 Modellieren Diagrammarten - wvsg.schulen2.regensburg.de · Informatik 10 –4. Modellieren und...

27
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

Transcript of 04 Modellieren Diagrammarten - wvsg.schulen2.regensburg.de · Informatik 10 –4. Modellieren und...

ZurEntwicklungeinerSoftwareisteinestrukturiertePlanungnotwendig.ErstaufderGrundlageeinesModells(z.B.geeigneteKlassendiagramme)kanneineImplementierung(Programmierung)sinnvollerfolgen.WährendderImplementierungsphasekanndasModellauchangepasstwerden.

4.ModellierenundDiagrammarten

Informatik10– 4.ModellierenundDiagrammarten 1

Informatik10– 4.ModellierenundDiagrammarten 2

ModellierenundImplementieren

Informatik10– 4.ModellierenundDiagrammarten 3

EinfachesKlassendiagramm

Informatik10– 4.ModellierenundDiagrammarten 4

ErweitertesKlassendiagramm

Informatik10– 4.ModellierenundDiagrammarten 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 durcheine sog. Klassen-Karte veranschaulicht. Eine Klassen-Karte ist ein Rechteck, das von oben nach unten aus dreiBereichen 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-Karteveranschaulicht. 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.1996name = '' Susanne ''groesse = 1.63schlaeft = Nein...

Objektkartetina :MENSCH

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

Hinweis:EineObjektkarteistauchohneabgerundeteEckenmöglich.IndiesemFallmüssenderObjektnameunddieKlassedesObjektsunterstrichenwerden.

Informatik10– 4.ModellierenundDiagrammarten 6

BeschreibungvonMethoden-Struktogramm

Informatik10– 4.ModellierenundDiagrammarten

ÖffnedasBlueJ-Projekt„Ampel_Vorlage“undöffnedieKlasseAMPEL.

a)ErzeugeeinObjektvonAMPELundmachdichmithilfedesObjektinspektorsunddemQuelltextüberdieFunktionsweisekundig.

b)BeschreibeinWorten,welcheObjektebeimAusführenderMethodeausschalten()beteiligtsindundwiesiemiteinanderkommunizieren.

7

Übung1– Ampel

Informatik10– 4.ModellierenundDiagrammarten

c)ImplementierediefehlendenMethoden,sodasseineeinfacheSimulationeinerAmpelschaltungentsteht.Überlege,wiedudieFunktionsweisederMethodenbeschreibenkönntest

8

Übung1– Ampel

Informatik10– 4.ModellierenundDiagrammarten 9

BeschreibungvonMethoden- Sequenzdiagramm

EinSequenzdiagrammveranschaulichtdiezeitlicheAbfolgederKommunikationzwischenObjekten.

Informatik10– 4.ModellierenundDiagrammarten 10

Sequenzdiagramm

Informatik10– 4.ModellierenundDiagrammarten 11

SequenzdiagrammBezeichnungen

Aktivitätsbalken

Botschaft Rückmeldung

beteiligteObjekte

Informatik10– 4.ModellierenundDiagrammarten 12

ZeichnenvonSequenzdiagrammen

online

www.websequencediagrams.com

Informatik10– 4.ModellierenundDiagrammarten

ErstelleeinSequenzdiagrammfürdieMethoderotSetzen().

13

Übung2– Ampel

Informatik10– 4.ModellierenundDiagrammarten

DieKlasseSpielautomaterzeugt(ähnlichwiedieKlasseAmpel)dreiLampen

lampe1(links),lampe2(Mitte)undlampe3(rechts)derKlasseLAMPE.

DiePositiondesSpielautomatenistfestgelegtdurchdiePositionvonlampe1.

DiePositioneinereinzelnenLampeistfestgelegtdurchdieKoordinatenderlinken

oberenEcke.InderZeichnungistalsodiePositiongleich(0,0).

(x-Achsenachrechts,y-Achsenachunten)

14

Übung3– 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);

} }

Informatik10– 4.ModellierenundDiagrammarten 15

Übung3– 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)ZeichneeinSequenzdiagrammvons1.neuePosition(2,1).(s1isteinObjektderKlasseSpielautomat)

Informatik10– 4.ModellierenundDiagrammarten 16

Übung3– Spielautomat

b)DieKlasseSpielhalleenthältzweiReferenzattributespA1undspA2derKlasseSpielautomat.ImKonstruktorderKlassewerdenzweiSpielautomaten(Farbmusterrot-blau-gelb)wieinderZeichnungerzeugt.IneinerMethodewerdendieLampenallerSpielautomatenaufdieFarbeschwarzgesetzt.SchreibedenQuelltextderKlasseSpielhalle.

Informatik10– 4.ModellierenundDiagrammarten 17

BeschreibungvonMethoden- Zustandsdiagramm

EinZustandsdiagrammbeschreibtdieÜbergängevonZuständenwährenddesAblaufseinesProgramms.DabeikönnenauchmehrereMethodenbeteiligtsein.EinZustand(z.B.Ampelphase)kanndurchdenWerteinesAttributsbeschriebenwerden.

Informatik10– 4.ModellierenundDiagrammarten 18

ZustandsdiagrammAmpel

Informatik10– 4.ModellierenundDiagrammarten 19

ZustandsdiagrammAmpel

Startzustand

auslösendeAktion

Informatik10– 4.ModellierenundDiagrammarten

DieMethodeausschalten()solldieAmpelnurausderAmpelphase„gelb“indenZustand„aus“überführen.NurausdemZustand„aus“solldieMethodeeinschalten()dieAmpelwiederindenZustand„ein“überführen.

ErgänzedasZustandsdiagrammunddieImplementierung.

20

Übung4– AmpelZustandsdiagramm

Informatik10– 4.ModellierenundDiagrammarten 21

BeschreibungvonMethoden- Zustandsdiagramm

BeidenZustandsübergängenkönnenzusätzlicheBedingungenundausgelösteAktionenbeteiligtsein:

Informatik10– 4.ModellierenundDiagrammarten 22

BeschreibungvonMethoden- Zustandsdiagramm

Beispiel

EineinfacherKaffeeautomatsollimZustandBereitnachDruckenderTaste"Start"eineTasseKaffeeausgeben.FurdenFall,dasskeinKaffeeeingefulltist,erscheinteineFehlermeldung,derAutomatwartetaufdieEingabevonKaffeeundbefindetsichimZustandFehler.IstindiesemZustandderKaffeeeingefüllt,wirddieTasseKaffeeausgegebenundderZustandaufBereitgewechselt.

Informatik10– 4.ModellierenundDiagrammarten 23

BeschreibungvonMethoden- Zustandsdiagramm

Beispiel

EineinfacherKaffeeautomatsollimZustandBereitnachDruckenderTaste"Start"eineTasseKaffeeausgeben.FurdenFall,dasskeinKaffeeeingefulltist,erscheinteineFehlermeldung,derAutomatwartetaufdieEingabevonKaffeeundbefindetsichimZustandFehler.IstindiesemZustandderKaffeeeingefüllt,wirddieTasseKaffeeausgegebenundderZustandaufBereitgewechselt.

Informatik10– 4.ModellierenundDiagrammarten 24

Übung5 – Zustandsdiagramm,Stoppuhr

ZumModelliereneinerStoppuhrverwendetmaneinZustandsdiagrammmitdenZuständen„Bereit“,„Zeitmessungläuft“und„Zeitangehalten“.DrücktmanimStartzustand„Bereit“dieTaste„StartStopp“,startetdieZeitmessungunddieAnzeigewirdaktualisiert.DrücktmanimZustand„Zeitmessungläuft“dieTaste„StartStopp“,wirddieZeitmessungangehaltenunddieAnzeigeaktualisiert.DrücktmandieTaste„StartStopp“erneut,läuftdieZeitmessungweiterunddieAnzeigewirdaktualisiert.DieTaste„Reset“löstaufderUhrdieAnzeige„reset“ausundsetztsieindenStartzustand.WährendderZeitmessungkannmanauchdieTaste„Zwischenzeit“betätigen.DiesaktualisiertdieAnzeige.

ZeichnedasZustandsdiagramm.

Informatik10– 4.ModellierenundDiagrammarten 25

Übung6 – Zustandsdiagramm,SpülmaschineDieSpülmaschineistzuBeginnimZustand"StandBy".

NachWähleneinesProgrammsistsieimZustand"Programmgewählt".

DurchDrückenderTasteStartwechseltsienurdannindenZustand"InBetrieb",wenndie

Türgeschlossenist.IndiesemFallwirdderWasserzulaufgeöffnetunddasProgramm

gestartet.

ÖffnetmanwährenddeslaufendenProgrammsdieTür,wirdderWasserzulaufgestoppt

unddasProgrammangehalten.DieMaschineistdannimZustand"Pause" unddurch

DrückenderTaste"Abbrechen"gelangtmanindenZustand"StandBy".

DasAbbrechenistauchvomZustand"Programmgewählt"möglich.

SchließtmanimZustand"Pause"wiederdieTür,wirddasProgrammfortgesetzt.

ÖffnetmandieTürnachBeendendesProgramms,wechseltdieMaschineindenZustand

"StandBy".

ZeichneeinZustandsdiagramm.

Informatik10– 4.ModellierenundDiagrammarten 26

Übung7 – Zustandsdiagramm,Kühlschrank

EineinfacherKuhlschrankbesitzteinenEin-Aus-Schalter,derjederzeitbetatigtwerden

kann.ImeingeschaltetenZustandkanneraufdieKuhlstufen1,2oder3eingestellt

werden.DafurgibtesdieTasten▲zumHochschaltenund▼zumHerunterschaltender

Kuhlstufe.NachdemEinschaltenbefindetsichderKuhlschrankimmeraufKuhlstufe2.

a)ModellieredenbeschriebenenKühlschrankmithilfeeinesZustandsdiagramms.

b)ErstelleeineZustandsübergangstabelle:

Zustand\ auslösendeAktion einschalten hochschalten herunterschalten

aus

1

2

3

Informatik10– 4.ModellierenundDiagrammarten 27

Übung7 – Zustandsdiagramm,Kühlschrank(*)

c)

ImplementieredenKuhlschrankdurchDefinitioneinergeeignetenKlasse,wobeidie

moglichenZustandedesKuhlschranksdurchdieAttributestufeundeingeschaltetunddie

auslosendenAktionendurchdieMethodenhochschalten(),herunterschalten()und

einausschalten()realisiertwerdensollen.

TestedeineImplementierung,indemdudieZustandsubergangenachunterschiedlichen

MethodenaufrufenmitdemZustandsdiagrammvergleichst.DefinieredazueineMethode

zustandAusgeben(),diedenZustanddesKuhlschranksaufdemBildschirmausgibt.