{"id":4021,"date":"2013-01-13T07:53:36","date_gmt":"2013-01-13T06:53:36","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=4021"},"modified":"2023-05-24T21:49:33","modified_gmt":"2023-05-24T19:49:33","slug":"ein-taschenrechner-mit-java-in-der-10-klasse-2-sequenzdiagramme","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2013\/01\/ein-taschenrechner-mit-java-in-der-10-klasse-2-sequenzdiagramme.htm","title":{"rendered":"Ein Taschenrechner mit Java in der 10. Klasse (2) &#8211; Sequenzdiagramme"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.herr-rau.de\/wordpress\/2013\/01\/ein-taschenrechner-mit-java-in-der-10-klasse-1.htm\">(Fortsetzung von gestern.)<\/a><\/p>\n\n\n\n<p>Wie Objekte genau zusammenarbeiten und miteinander kommunizieren, zeigt man beim objektorientierten Programmieren mit <strong>Sequenzdiagrammen.<\/strong> 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 &#8222;1&#8220; zu empfangen, und die Steuerung wiederum sagt dem GUI, dass es &#8222;1&#8220; ausgeben soll:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"323\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq_1.gif\" alt=\"taschenrechner_seq_1\" class=\"wp-image-4024\"\/><\/figure>\n\n\n\n<p>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 &#8222;2&#8220; zu empfangen, und die Steuerung wiederum sagt dem GUI, dass es &#8222;12&#8220; ausgeben soll:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"320\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq_2.gif\" alt=\"taschenrechner_seq_2\" class=\"wp-image-4025\"\/><\/figure>\n\n\n\n<p>Und so \u00e4hnlich, wenn danach die Tasten *, 3, 1 und = gedr\u00fcckt 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\u00e4ngen beteiligt:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"399\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq_3.gif\" alt=\"taschenrechner_seq_3\" class=\"wp-image-4026\"\/><\/figure>\n\n\n\n<p>Der gesamte Vorgang (&#8222;1 2 * 3 1 =&#8220;) sieht so aus, diesmal nicht animiert. Denn normalerweise sind Sequenzdiagramme ja statisch:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"556\" height=\"1565\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq.png\" alt=\"taschenrechner_seq\" class=\"wp-image-4012\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq.png 556w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq-53x150.png 53w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq-195x550.png 195w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/figure>\n\n\n\n<p>Erstellt habe ich die Diagramme &#8211; von der Animation und der Farbe abgesehen, die sind nachbearbeitet &#8211; mit der Webseite <a href=\"http:\/\/www.websequencediagrams.com\/\">www.websequencediagrams.com<\/a>. Dort kann man ganz ohne Anmeldung mit speziellem, sehr einfachem Code solche Sequenzdiagramme erstellen und speichern und verlinken. Der Code sieht so aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>benutzer -&gt; +gui: tasteEinsDruecken()\ngui -&gt; +steuerung: empfangen(\"1\")\nsteuerung -&gt; +gui: ausgeben(\"1\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer:<\/code><\/pre>\n\n\n\n<p>Der Code ist so einfach, dass auch Sch\u00fcler damit arbeiten und Grafiken exportieren k\u00f6nnen.<\/p>\n\n\n\n<p>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\u00e4hlen kann <em>(Nachtrag: geht nicht mehr):<\/em><\/p>\n<div class=\"wsd\">\n<pre>title Mein kleiner Taschenrechner\n\nbenutzer -&gt; +gui: tasteEinsDruecken()\ngui -&gt; +steuerung: empfangen(\"1\")\nsteuerung -&gt; +gui: ausgeben(\"1\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer:\n\nbenutzer -&gt; +gui: tasteZweiDruecken()\ngui -&gt; +steuerung: empfangen(\"2\")\nsteuerung -&gt; +gui: ausgeben(\"12\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer: \n\nbenutzer -&gt; +gui: tasteMalDruecken()\ngui -&gt; +steuerung: empfangen(\"*\")\nsteuerung -&gt; +gui: ausgeben(\"*\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer: \n\nbenutzer -&gt; +gui: tasteDreiDruecken()\ngui -&gt; +steuerung: empfangen(\"3\")\nsteuerung -&gt; +gui: ausgeben(\"3\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer: \n\nbenutzer -&gt; +gui: tasteEinsDruecken()\ngui -&gt; +steuerung: empfangen(\"1\")\nsteuerung -&gt; +gui: ausgeben(\"31\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer: \n\n\nbenutzer -&gt; +gui: tasteGleichDruecken()\ngui -&gt; +steuerung: empfangen(\"=\")\nsteuerung -&gt;+calculator: multiplizieren(12,31)\ncalculator -&gt; -steuerung: 372\nsteuerung -&gt; +gui: ausgeben(\"372\")\ngui --&gt; -steuerung: \nsteuerung --&gt; -gui: \ngui--&gt;-benutzer: \n\n<\/pre>\n<\/div>\n<p><script type=\"text\/javascript\" xsrc=\"http:\/\/www.websequencediagrams.com\/service.js\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(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 &#8222;1&#8220; zu empfangen, und die Steuerung wiederum sagt [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4024,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[25],"tags":[227],"class_list":["post-4021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatik","tag-informatik"],"jetpack_featured_media_url":"https:\/\/www.herr-rau.de\/wordpress\/archiv\/taschenrechner_seq_1.gif","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/4021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=4021"}],"version-history":[{"count":3,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/4021\/revisions"}],"predecessor-version":[{"id":58069,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/4021\/revisions\/58069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media\/4024"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=4021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=4021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=4021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}