Kennen Sie Struktogramme?

Abschied vom Flußdiagramm

27.11.1974

Es mehren sich die Anzeichen, daß Programmierern ein beliebtes Spielzeug vergällt werden soll: die Zeichenschablone zur Erstellung filigraner Flußdiagramme. Das Münchner Softwarelabor ist sogar dazu übergegangen, seinen Softwareentwicklern die Flowchart-Technik zu untersagen. Softlab hält diese Darstellungsform für antiquiert.

Softlab schwört auf ein neues Verfahren, das die Münchner aus den USA übernahmen und in Deutschland unter der Bezeichnung STRUKTOGRAMM eingeführt haben.

Struktogramme sind die Darstellungsform, die ein Programm-Planer bei der, Strukturierten Programmierung verwendet.

Kontrollflußstrukturen werden dargestellt, indem man sog. Strukturblöcke

- aneinanderreiht

- nebeneinanderstellt oder

- ineinanderschachtelt.

Es kann sich dabei handeln um aufeinanderfolgende Arbeitsschritte, Alternativen für verschiedene Fälle oder auch Einzelaktionen.

Häufig wird von der Strukturierten Programmierung auch als Programmierung ohne Sprungbefehle (GO TO) gesprochen. Dies ist nicht ganz richtig, da sich Sprungbefehle in COBOL, PL1 oder Fortran nicht ganz vermeiden lassen. Ein wesentliches Merkmal der Stukturierten Programmierung ist allerdings in der Tat der äußerst sparsame Umgang mit den GOTOs.

Im Struktogramm sind von vorneherein sogenannte "verbotene" GOTOs nicht darstellbar. Die zum Aufbau von Struktogrammen zugelassenen Strukturblockarten haben folgende Eigenschaften:

- Sie haben einen Eingang (obere Kante) und einen Ausgang (untere Kante).

- Der Kontrollfluß läuft immer von oben nach unten durch das Strukturprogramm.

- Jeder Strukturblock definiert eindeutig ein "Innen" und ein "Außen", ein anderer Strukturblock ist also entweder (vollständig) in ihm enthalten oder befindet sich außerhalb von ihm.

- Jeder Strukturblock ist eine abgeschlossene funktionale Einheit unabhängig von der logischen Ebene des Programmentwurfs.

- Ein Strukturblock korrespondiert ausschließlich mit den direkt an seine obere und untere Kante anschließenden Blöcken, von den Nachbarblöcken rechts und links ist er völlig entkoppelt. Abb. 1 zeigt den Zeichenvorrat aus dem sich Strukturprogramme in der Regel zusammensetzen.

Die Reihung von Strukturblöcken ergibt einen neuen Strukturblock. Seine Funktion ist als das Ergebnis der schrittweisen Ausführung der Einzelbausteine definiert. Die bedingte Verzweigung lenkt den Kontrollfluß abhängig von der Bedingung in den rechten oder den linken inneren Strukturblock. Am Blockende vereinigen sich die beiden Kontrollfluß-Wege wieder.

Die bedingte Wiederholung führt den inneren Strukturblock solange aus, bis eine bestimmte Bedingung erfüllt ist.

Die Fallunterscheidung wählt aus mehr als zwei Verarbeitungsaktionen eine Alternative aus. Grundsätzlich kann eine Fallunterscheidung auch als Hintereinanderreihung mehrerer Verzweigungen realisiert werden. Die Darstellung in einem Strukturblock ist aber übersichtlicher.

In einem Seminar für EDV-Führungskräfte brachte Softlab folgendes Anwendungsbeispiel:

"Eine Firma gewährt ihren Mitarbeitern in bestimmten Fällen persönliche Kredite, die später (durch Gehaltsabzug) ratenweise zurückzuzahlen sind. Ferner übernimmt sie es auf Antrag, Lebensversicherungsbeiträge vom Gehalt einzubehalten und entsprechend zu überweisen. Außerdem können sich Mitarbeiter mit einem Teil ihres Arbeitsentgeltes an einem Aktienkaufplan der Firma beteiligen. Die Mitarbeiter erhalten monatlich neben der Gehaltsabrechnung einen computergeschriebenen Brief mit der Abrechnung für Sondervereinbarungen."

Die Abbildungen 2 und 3 zeigen die Lösung mit Hilfe eines Flußdiagramms und eines Struktogramms.