PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Struktogramme



axeljaeger
06-12-2003, 19:35
Ich besuche in der Schule einen Informatikkurs, das kann man bei uns anstelle einer zweiten Naturwissenschaft machen. Ich habe auch vor, in diesem Fach Abiturprüfung zu machen. Das Niveau ist nicht besonders hoch, nach einem halben Jahr kommen jetzt so Aufgabestellungen auf uns zu, wie aus einem Array die größte Zahl raussuchen. Ich schreibe da immer gern den Quelltext direkt, mein Informatiklehrer meint aber, ich soll doch, wie das in der Industrie üblich wäre, zuerst ein Struktogramm anfertigen und das anschließend in Java übersetzen. Ich mag irgendwie nicht recht glauben, das irgendjemand in der Industrie für ein Programm mit mehr als hundert Zeilen und nicht zu Lehrzwecken ein Struktogramm anfertigt. Kann irgendjemand, der beruflich Software programmiert, mal dazu Stellung nehmen? Ich hab das jetzt schon an zwei Schulen gesehen, das die Lehrer so richtig auf diese "Nassi Schneidermann Diagramme" abfahren. Ich hab sowas noch nie für ein privates Projekt gemacht, geschweige denn gebraucht. OK, Klassenbeziehungen habe ich auch schon mal auf ein Papier gemalt, aber doch nicht jede IF-Abfrage in ein Kästchen mit Dreieck unten drann und dann in Kästen unten drunter was im Ja- und was im Neinfall geschehen soll. Gibt es diese Struktogramme in der Industrie, oder sind sie nur der verzweifelte Versuch, Schülern die Programmierung beizubringen? Mittlerweile finden sogar die Mädchen im Kurs diese Struktogramme mehr hinderlich als hilfreich und schreiben lieber erstmal den Java-Code und müssen dann halt hinterher, damit der Leher zufrieden ist, nochmal zu Papier und Bleistift greifen.

peschmae
06-12-2003, 21:46
Konnte mir ein Grinsen nicht verkneifen. :)
Bei uns hat uns gar nie einer Vorgemacht, dass die einfachen Dinger, die wir in der Schule angepackt haben irgend etwas mit "praktischen Anwendungen in der Industrie" zu tun habe. Tut es auch nicht wirklich.

Die Idee vom zuerst Denken und dann Coden ist sicher nicht schlecht. Aber (ohne Industrie -Erfahrung) halte ich das für soo einfache Sachen für Blödsinn.

MfG Peschmä

axeljaeger
07-12-2003, 12:08
Vor allem, wie immer die Vorteile von diesen Dingern angepriesen werden: "Wenn ihr Java schreibt, kann man das nur für Java benutzen, aber so ein Struktogramm kann man in jede Programmiersprache auf der Welt übersetzen" Das ist das eine, was in der Industrie angeblich gemacht wird. Das zweite ist unsere tolle IDE (CodeWarrior): Wir sollen für jedes kleine Applet ein eigenes Projekt anlegen, wo der CodeWarrior dann zwei Dateien einbaut: TrivalApplet.html und TrivialApplet.java, mit denen da wie folgt verfahren werden soll:

File -> new Textfile

Dann TrivialApplet.java aufmachen

Edit -> Select All
Edit -> Copy

Dann ins neue Textfile

Edit -> Paste
File -> Save as

Dann TrivialApplet.java aus dem Projekt rauswerfen. Das ist gar nicht so einfach, beim Mac gibt's ja keine rechte Maustaste, also muss man mehrere Sekunden mit dieser Krüppelmaus auf dem Eintrag verweilen, bis mal ein Menü kommt. Dann aber ja nicht die Maustaste loslassen, sonst ist das Menü wieder weg.
Dann mit der neuen Datei:

Project -> add to Project

Das gleiche mit der HTML-Datei und entsprechende Anpassungen (Klassennahme etc.) vornehmen. In 99% der Fälle startet CodeWarrior dann trotzdem noch TrivialApplet, was nur durch einen Neustart der IDE zu beheben ist. Ich hab jetzt den JavaEditor vom Bildungsserver Hessen empfohlen, aber der sei ja keine Standardsoftware, dafür wäre aber der CodeWarrior in der Industrie sehr verbreitet. Jetzt weis ich auch, warum es in der Softwareindustrie nicht vorran geht.

Edit: Shortcuts werden natürlich nicht verraten, man soll ganz Mac-Like und Coder-UnLike alles mit der Maus machen. Symbolleisten gibt es auch wenig, eher viel in den Menüs

Badsteve
07-12-2003, 12:15
Wir haben das letztes Jahr in unserem Imformatikkurs, den es jetzt nicht mehr gibt, eigentlich nicht gemacht. Ein oder zwei Stunden mal, um Leuten, die noch nie Programmiert haben zu zeigen, wie das im Grunde abläuft.
Dann haben wir später unsere Zettel bekommen auf denen alles erklärt war, z.B. die Syntax ... und verschiedene Aufgaben, die wir dann im Kurs aufgeteilt haben. Die Aufgaben haben wir dann immer an Ende besprochen.

Dafür, dass wir sowas nicht gemacht haben, haben wir uns aber später durch ER-Diagramme gequält. *kotz* :p

Steve

axeljaeger
07-12-2003, 12:17
Was ist denn ein ER-Diagramm?

tuxipuxi
07-12-2003, 12:18
entity-relationsship, viel gebraucht bei datenbankplanungen.

anda_skoa
07-12-2003, 15:08
Original geschrieben von axeljaeger
Ich mag irgendwie nicht recht glauben, das irgendjemand in der Industrie für ein Programm mit mehr als hundert Zeilen und nicht zu Lehrzwecken ein Struktogramm anfertigt. Kann irgendjemand, der beruflich Software programmiert, mal dazu Stellung nehmen?

Das hängt sehr stark vom Industriezweig ab und von der Größeder Firma und des Entwicklungsteams.

Generell ist es schon eine gute Idee, sowas zu machen, vorallem, es zu üben.

Ein Diagramm ist wirklich universeller als direkter Code, weswegen auch in den letzten Jahren große Benühungen in Richtung einheitlicher Notationen gemacht wurden (Stichwort UML).

Im Moment is Softwareentwicklung an der Übergangsstelle von Handwerk auf Ingenieursarbeit.
Je größer das Projekt ist, desto mehr bewährte Verfahrensweisung und Teilösungen sollten verwendet werden (Stichwort Entwurfsmuster), weil sonst ein fertiges Einzelstück entsteht, das nur schwer wartbar und nur sehr schwer erweiterbar ist.

Ich hab letztes Semester an der Uni einen Kurs gemacht, in dem eine Ampelsteuerung mehr oder weniger durch Diagramme beschreiben war, inklusive eines Sequenzdiagramms, dass en Ablauf beschreibt.
Sowas kann dann direkt von einem Tool in fertigen Code umgewandelt werden.
Natürlich stehen so komplette Toolchains erst am Anfang, aber bei Entwicklung großer Sachen oder bei weit verteilten Entwicklergruppen, ist es sicher gut investierter Zeit vor der Implementation, wenn man zumindest Teilaspekte davon benutzt.

Macht natürlich weniger Spaß als direkt drau los coden, aber dafür hat man ja seine Freizeit :D

Ciao,
_