Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren...
Embed Size (px)
Transcript of Öffne das BlueJ-Projekt „Ampel Vorlage“ und öffne die ... · Informatik 10 –4. Modellieren...

Informatik10– 4.ModellierenundDiagrammarten
ÖffnedasBlueJ-Projekt„Ampel_Vorlage“undöffnedieKlasseAMPEL.a)ErzeugeeinObjektvonAMPELundmachdichmithilfedesObjektinspektorsunddemQuelltextüberdieFunktionsweisekundig.b)BeschreibeinWorten,welcheObjektebeimAusführenderMethodeausschalten()beteiligtsindundwiesiemiteinanderkommunizieren.
DasaktuelleObjektderKlasseAMPELgibtandieObjektegruen,gelbundrotderKlasseLAMPEdieBotschaft,dieMethodeaus()aufzurufen.
1
Übung1– Ampel

Informatik10– 4.ModellierenundDiagrammarten
c)ImplementierediefehlendenMethoden,sodasseineeinfacheSimulationeinerAmpelschaltungentsteht.Überlege,wiedudieFunktionsweisederMethodenbeschreibenkönntestDieMethodengruenSetzen(),gelbSetzen(),rotSetzen()undrotGelbSetzen()arbeitenähnlichwiedieMethodeausschalten().ZurBeschreibungeignetsichjeweilseinSequenzdiagramm,damehrereObjektemiteinanderkommunizieren.
BeiderMethodeweiterschalten()findetkeineKommunikationzwischenverschiedenenObjektenstatt.ZurBeschreibungeignetsicheinStruktogrammodereinZustandsdiagramm.
2
Übung1– Ampel

Informatik10– 4.ModellierenundDiagrammarten
ErstelleeinSequenzdiagrammfürdieMethoderotSetzen().
3
Übung2– Ampel

Informatik10– 4.ModellierenundDiagrammarten
SequenzdiagrammfürdieMethoderotSetzen().
4
Übung2– AmpelLösung

Informatik10– 4.ModellierenundDiagrammarten
SequenzdiagrammfürdieMethoderotSetzen().
erstelltmitwebsequencediagrams.com
Quelltext:
5
Übung2– AmpelLösung
title rotSetzen()user->+ampel1 : rotSetzen()ampel1->+gruen: aus()gruen-->-ampel1:ampel1->+gelb: aus()gelb-->-ampel1:ampel1->+rot: an()rot-->-ampel1:ampel1-->-user:

Informatik10– 4.ModellierenundDiagrammarten
DieKlasseSpielautomaterzeugt(ähnlichwiedieKlasseAmpel)dreiLampen
lampe1(links),lampe2(Mitte)undlampe3(rechts)derKlasseLAMPE.
DiePositiondesSpielautomatenistfestgelegtdurchdiePositionvonlampe1.
DiePositioneinereinzelnenLampeistfestgelegtdurchdieKoordinatenderlinken
oberenEcke.InderZeichnungistalsodiePositiongleich(0,0).
(x-Achsenachrechts,y-Achsenachunten)
6
Ü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 7
Übung3– SpielautomatLösung
a)ZeichneeinSequenzdiagrammvons1.neuePosition(2,1).(s1isteinObjektderKlasseSpielautomat)

Informatik10– 4.ModellierenundDiagrammarten 8
Übung3– Spielautomat
b)DieKlasseSpielhalleenthältzweiReferenzattributespA1undspA2derKlasseSpielautomat.ImKonstruktorderKlassewerdenzweiSpielautomaten(Farbmusterrot-blau-gelb)wieinderZeichnungerzeugt.IneinerMethodewerdendieLampenallerSpielautomatenaufdieFarbeschwarzgesetzt.SchreibedenQuelltextderKlasseSpielhalle.

Informatik10– 4.ModellierenundDiagrammarten 9
Übung3– SpielautomatLösung
b)public class Spielhalle {
Spielautomat spA1, spA2;public Spielhalle(){spA1 = new Spielautomat();spA1.neuePosition(1,1);
spA2 = new Spielautomat();spA2. neuePosition (-4,-2);
}
public void reset(){spA1.farbmusterSetzen("schwarz", "schwarz","schwarz");spA2.farbmusterSetzen("schwarz", "schwarz","schwarz");
}}

Informatik10– 4.ModellierenundDiagrammarten
DieMethodeausschalten()solldieAmpelnurausderAmpelphase„gelb“indenZustand„aus“überführen.NurausdemZustand„aus“solldieMethodeeinschalten()dieAmpelwiederindenZustand„ein“überführen.
ErgänzedasZustandsdiagrammunddieImplementierung.
10
Übung4– AmpelZustandsdiagramm

Informatik10– 4.ModellierenundDiagrammarten 11
Übung4– AmpelZustandsdiagrammLösung

Informatik10– 4.ModellierenundDiagrammarten 12
Ü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 13
Übung5 – Zustandsdiagramm,StoppuhrLösung

Informatik10– 4.ModellierenundDiagrammarten 14
Ü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 15
Übung6– Zustandsdiagramm,SpülmaschineLösung

Informatik10– 4.ModellierenundDiagrammarten 16
Ü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 17
Übung7 – Zustandsdiagramm,KühlschrankLösung
Jahrgangsstufe 10 125
4.2.1.2 Lösungsvorschlag zu Aufgabe 1a)
b)
auslösendeAktion
Zustand
einausschalten hochschalten herunterschalten
aus 2 aus aus
1 aus 2 1
2 aus 3 1
3 aus 3 2
c) public class Kuehlschrank { private int stufe; private boolean eingeschaltet;
public Kuehlschrank() { eingeschaltet = false; }
public void zustandAusgeben() { if (eingeschaltet) { System.out.println("Der Kühlschrank ist eingeschaltet, die eingestellte Kühlstufe ist " + stufe + "."); } else { System.out.println("Der Kühlschrank ist ausgeschaltet."); } }
public void hochschalten() { if (stufe < 3) { stufe = stufe + 1; } }
hoch-/herunterschalten
herunterschalten
hochschalten
aus 2
1
einausschalten
einausschalten
herunterschalten
hochschalteneinausschalten
3
einausschalten hochschalten
herun
terschalten

Informatik10– 4.ModellierenundDiagrammarten 18
Übung7 – Zustandsdiagramm,KühlschrankLösung
Zustand\ auslösendeAktion einschalten hochschalten herunterschalten
aus 2 aus aus
1 aus 2 1
2 aus 3 1
3 aus 3 2
Jahrgangsstufe 10 125
4.2.1.2 Lösungsvorschlag zu Aufgabe 1a)
b)
auslösendeAktion
Zustand
einausschalten hochschalten herunterschalten
aus 2 aus aus
1 aus 2 1
2 aus 3 1
3 aus 3 2
c) public class Kuehlschrank { private int stufe; private boolean eingeschaltet;
public Kuehlschrank() { eingeschaltet = false; }
public void zustandAusgeben() { if (eingeschaltet) { System.out.println("Der Kühlschrank ist eingeschaltet, die eingestellte Kühlstufe ist " + stufe + "."); } else { System.out.println("Der Kühlschrank ist ausgeschaltet."); } }
public void hochschalten() { if (stufe < 3) { stufe = stufe + 1; } }
hoch-/herunterschalten
herunterschalten
hochschalten
aus 2
1
einausschalten
einausschalten
herunterschalten
hochschalteneinausschalten
3
einausschalten hochschalten
herun
terschalten

Informatik10– 4.ModellierenundDiagrammarten 19
Übung7 – Zustandsdiagramm,Kühlschrank(*)
c)
ImplementieredenKuhlschrankdurchDefinitioneinergeeignetenKlasse,wobeidie
moglichenZustandedesKuhlschranksdurchdieAttributestufeundeingeschaltetunddie
auslosendenAktionendurchdieMethodenhochschalten(),herunterschalten()und
einausschalten()realisiertwerdensollen.
TestedeineImplementierung,indemdudieZustandsubergangenachunterschiedlichen
MethodenaufrufenmitdemZustandsdiagrammvergleichst.DefinieredazueineMethode
zustandAusgeben(),diedenZustanddesKuhlschranksaufdemBildschirmausgibt.
Vgl.BlueJProjektkuehlschrank_1c