Es muß immer kantendeckend gearbeitet werden:

Mit Struktogrammen hundertprozentiger Test

07.11.1980

In der CW-Ausgabe Nr. 41, Seite 9, sind zwei Struktogramme abgebildet. Die Version von Junger ist an einer Stelle falsch. Der Übergang von "Senden der Erfassungsmaske" zu "Lesen Erfessungsmaske" weist Fehler auf, die durch eine Strukturierung nicht mehr vorkommen sollten.

Die einzelnen Moduln eines Strukturblockes haben ebenso nur einen Eingang und Ausgang wie der Block selbst. Das heißt: Es muß immer kantendeckend gearbeitet werden. Aus dem zweiten Block gibt es einen Ausgang in die Wiederholung und einen Ausgang in "Lesen der Erfassungsmaske". Das ist in jedem Fall falsch, da nur wiederholt werden kann, was einmal vorher abgearbeitet wurde. In dem Struktogramm von Junger gibt es keine Möglichkeit, nach dem ordnungsgemäßen Löschen der Erfassungsmaske eine neue auszugeben.

Die Ansicht Jungers, daß Struktogramme und Ablaufdiagramme nur unterschiedliche Darstellungsformen sind, ist unrichtig. Ein Ablaufdiagramm mit mehreren Anschlußpunkten und Verzweigungen kann nicht hundertprozentig getestet werden. Ein Struktogramm dagegen läßt die einwandfreie Kontrolle der Programmlogik zu. Wenn nun die Codierung in der gleichen Weise bis ins Detail strukturiert ist, kann ein Programm auch maschinell getestet werden. Auf Logik und (!) Ergebnis.

Sinn der Strukturierung ist nicht eine übersichtliche Darstellungsform, sondern eine Gliederung der Funktionen über mehrere Ebenen bis in die Codierung. Damit wird ein hochmodulares, leicht änderbares und wartungsfreundliches Programm erstellt. Die Dokumentation muß auch nach längerer Zeit noch verwendet werden können, da bei Änderungen eines Programmes seine Struktur nicht verändert werden darf.

Der Zustand eines Programmes wird nur dann einwandfrei sein, wenn alle Änderungen am Programm selbst so erfolgen, daß in jedem Fall eine Überarbeitung der entsprechenden Dokumentation vorangegangen ist. Leider wird von den Verantwortlichen nicht darauf geachtet, daß bei nachträglichen Arbeiten an der Software ebenso sorgfältig verfahren wird wie bei einem Neuentwurf.

Auch der Programmierer muß sich den Regeln der Strukturierung unterwerfen. Sonst ist die Mühe beim Entwurf umsonst gewesen. Der Mehraufwand wird in jedem Falle durch verkürzte Testzeit und (!) Betriebssicherheit kompensiert.

Der Erfolg von Programmiersprachen wie Pascal basiert unter anderem darauf, daß bei der Codierung Statements verwendet werden, die eine gute Strukturierung unterstützen.

Ein so codiertes Programm entspricht auch dem Struktogramm, wobei schon hier ersichtlich wird, daß eine strukturierte Codierung leicht möglich ist und eine Änderung eines Moduls so lange erfolgen kann, wie die vorgegebene Struktur nicht verändert wird.

Sofern jedoch neue Anforderungen eine Änderung des Programms erzwingen, muß auch die Dokumentation neu überarbeitet werden und für diesen Teil ein neues Struktogramm erstellt werden. Wenn sich alle Beteiligten eines Projektes an die Spielregeln halten würden, wäre die Kriese im Softwarebereich nicht so groß.

*Ulrich-Christian Desbarats ist Inhaber des UCD-Rechenzentrums in 7802 Merzhausen.