Struktogramm
Zwar ist die Verlockung groß, die Codezeilen aus dem Kopf heraus direkt in den Editor einzutippen, jedoch ist es von Vorteil, alle zu bewältigenden Programmierprobleme zu Beginn theoretisch zu durchdenken.
Struktogramme in der Programmierung
Struktogramme sind für genau diesen Zweck ein hilfreiches Werkzeug. Sie werden auch als Nassi-Shneiderman-Diagramme bezeichnet, da dieser Diagrammtyp ursprünglich von Isaac Nassi und Ben Shneidermann entwickelt wurde.
Das Ziel eines Struktogramms ist, ein komplexes Ausgangsproblem Ebene für Ebene in kleinere Teilprobleme zu zerlegen, die dann leichter zu bewältigen sind. Dabei wird von einem Top-Down-Prinzip gesprochen, bei dem das große Ganze in kleinste Details zerlegt wird.
Im Bereich der Programmierung ist das insofern hilfreich, da die einzelnen Aufgaben leicht an viele verschiedene Personen verteilt werden können. Sind einzelne Teilprobleme gelöst, werden diese Schritt für Schritt wieder nach oben zusammengesetzt, bis eine Lösung für das Ausgangsproblem entsteht.
Laut wissenschaftlichen Untersuchungen lassen sich ausnahmslos alle Algorithmen ohne Sprungbefehle mit Hilfe eines Struktogramms darstellen, was sie zu einem nützlichen Werkzeug macht.
Vorteile von Struktogrammen in der Softwareentwicklung
Ein großer Vorteil von Struktogrammen ist, dass sie Logikfehler schon im Voraus zeigen können. Programmierer sind gezwungen, ihre Algorithmen vor der eigentlichen Programmierung zu durchdenken und ein großer Teil der Fehler lässt sich zu diesem Zeitpunkt bereits vermeiden.
Das erspart Frust bei der Fehlersuche. Darüber hinaus sind Struktogramme unabhängig von der Programmiersprache und somit leicht zu lesen und zu verstehen, was die spätere Umsetzung deutlich vereinfacht und erlaubt, dass die Aufgaben an andere beteiligte Personen abgegeben werden können.
Struktogramme in der Praxis
Besonders für Anfänger im Bereich der Programmierung können Struktogramme aber helfen, den Ablauf von Algorithmen zu verstehen und selbst welche zu entwerfen. Deswegen sind sie auch üblicherweise ein Bestandteil des Lernstoffs in Schulen und Universitäten.