Ein Taschenrechner mit Java in der 10. Klasse (2) – Sequenzdiagramme

(Fortsetzung von gestern.)

Wie Objekte genau zusammenarbeiten und miteinander kommunizieren, zeigt man beim objektorientierten Programmieren mit Sequenzdiagrammen. So stellt man zum Beispiel dar, wie GUI, Steuerung und Calculator miteinander arbeiten, wenn der Benutzer auf die Taste mit der 1 klickt. Das GUI weist seine Steuerung an, eine “1″ zu empfangen, und die Steuerung wiederum sagt dem GUI, dass es “1″ ausgeben soll:

taschenrechner_seq_1

Wenn danach der Benutzer auf die Taste 2 klickt, passiert ein bisschen etwas anderes, weil die Steuerung sich gemerkt hat, dass der Benutzer gerade dabei ist. Das GUI weist seine Steuerung an, eine “2″ zu empfangen, und die Steuerung wiederum sagt dem GUI, dass es “12″ ausgeben soll:

taschenrechner_seq_2

Und so ähnlich, wenn danach die Tasten *, 3, 1 und = gedrückt werden. Insgesamt tippt der Benutzer also 12 * 31 ein und will dann mit = wissen, was das Ergebnis ist. Jetzt ist auch der verbundene Rechner an den Vorgängen beteiligt:

taschenrechner_seq_3

Der gesamte Vorgang (“1 2 * 3 1 =”) sieht so aus, diesmal nicht animiert. Denn normalerweise sind Sequenzdiagramme ja statisch:

taschenrechner_seq

Erstellt habe ich die Diagramme – von der Animation und der Farbe abgesehen, die sind nachbearbeitet – mit der Webseite www.websequencediagrams.com. Dort kann man ganz ohne Anmeldung mit speziellem, sehr einfachem Code solche Sequenzdiagramme erstellen und speichern und verlinken. Der Code sieht so aus:

benutzer -> +gui: tasteEinsDruecken()
gui -> +steuerung: empfangen("1")
steuerung -> +gui: ausgeben("1")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer:

Der Code ist so einfach, dass auch Schüler damit arbeiten und Grafiken exportieren können.

Man kann den Code auch unmittelbar in WordPress eintippen und mit einer verlinkten Javascript-Datei auf der Webseite wird daraus die Grafik gezaubert, wobei man noch unter verschiedenen Designs auswählen kann:


title Mein kleiner Taschenrechner

benutzer -> +gui: tasteEinsDruecken()
gui -> +steuerung: empfangen("1")
steuerung -> +gui: ausgeben("1")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer:

benutzer -> +gui: tasteZweiDruecken()
gui -> +steuerung: empfangen("2")
steuerung -> +gui: ausgeben("12")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

benutzer -> +gui: tasteMalDruecken()
gui -> +steuerung: empfangen("*")
steuerung -> +gui: ausgeben("*")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

benutzer -> +gui: tasteDreiDruecken()
gui -> +steuerung: empfangen("3")
steuerung -> +gui: ausgeben("3")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

benutzer -> +gui: tasteEinsDruecken()
gui -> +steuerung: empfangen("1")
steuerung -> +gui: ausgeben("31")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 


benutzer -> +gui: tasteGleichDruecken()
gui -> +steuerung: empfangen("=")
steuerung ->+calculator: multiplizieren(12,31)
calculator -> -steuerung: 372
steuerung -> +gui: ausgeben("372")
gui --> -steuerung: 
steuerung --> -gui: 
gui-->-benutzer: 

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Manchmal sollte man anderen das letzte Wort lassen, selbst wenn sie eine andere Meinung haben als man selber.

Post Navigation