Von problemunabhängigen Datenstrukturen kann keine Programmstruktur abgeleitet werden:

Jackson trennt Entwurf und Implementierung.

15.05.1981

Teil 5.

Es fällt bei Bild 7 auf, daß die read-Anweisung mehrfach der Programmstruktur zugeordnet ist. Dies resultiert aus der Anwendung der "Vorauslesetechnik", die fordert, daß der erste Satz einer Datei unmittelbar nach dem Eröffnen der Datei und ein weiterer Satz am Ende jeder Programmkomponente gelesen wird, in der ein Satz verarbeitet wird.

Um Mißverständnissen vorzubeugen: Natürlich kann dort, wo die read-Anweisung zugeordnet ist, eine Lese-Routine aufgerufen werden, so daß die alte Forderung, nur an einer Stelle zu lesen, nicht verletzt werden muß. Die Formulierung der Bedingungen ist ein selbständiger Teilschritt des JSP-Entwurfs.

Der Entwurf wird vervollständigt, indem für Selektionen und Iterationskomponenten die erforderlichen Bedingungen formuliert werden. Es hat sich in der Praxis bewährt, diese Bedingungen wie die Elementaranweisungen in einer Liste aufzuführen und in der Programmstruktur die Stellen zu kennzeichnen, zu denen die einzelnen Bedingungen gehören. Dies ist in Bild 7 durch Angabe der Ordnungsnummer der Bedingungen in Klammern geschehen.

1. until BDatei-eof

2. until BDatei-eof or GW not= Teile-Nr

3. Bew-Art = "E"

4. Bew-Art = "A"

Bild 8: Liste der Bedingungen

Mit Strukturtext - einem Pseudocode - wird der Entwurf dokumentiert.

Der eigentliche Programmentwurf ist nun, nach dem Anweisungsschritt, abgeschlossen. Man könnte auf der Basis der Programmstruktur mit zugeordneten Elementaranweisungen und Bedingungen (Bild 7) und der Listen der Elementaranweisungen und Bedingungen (Bilder 6 und 8) den Code des gewünschten Programms erstellen. Bei größeren Programmen empfiehlt es sich jedoch, zusätzlich zur grafischen Darstellung der Programmstruktur das Entwurfsergebnis in Textform zu dokumentieren.

Dieser sogenannte Strukturtext der nach festen Regeln aus den oben genannten Unterlagen erstellt werden kann, faßt Programmstruktur Elementaranweisungen und Bedingungen in einer Dokumentationsunterlage zusammen. Seine Schlüsselwörter bezeichnen den jeweiligen Typ einer Programmkomponente. Die Namen der Programmkomponenten werden gleichfalls in den Strukturtext übernommen, so daß eine durchgängige Dokumentation gewährleistet ist.

Strukturtext als Schritt zwischen grafischer Darstellung der Programmstruktur und eigentlichem Code scheint auf den ersten Blick überflüssig zu sein. Neben der willkommenen Redundanz, die zusätzliche Sicherheit durch alternative Darstellung eines

identischen Sachverhalts bietet, und der Textform, die weniger visuell orientierten Entwerfern entgegenkommt, bietet Strukturtext eine Reihe weiterer Vorteile:

- Strukturtext ist weitgehend programmiersprachenunabhängig: Bei der erforderlichen Neucodierung in einer anderen Programmiersprache kann hier erneut aufgesetzt werden;

- Strukturtext ist implementierungsunabhängig: Bis zum Strukturtext ist noch nicht festgelegt, ob eine Komponente später als Haupt- oder Unterprogramm implementiert werden soll, ob sie eine Koroutine ist, ob sie ein Teil einer verteilten DV-Lösung werden soll, ob sie unter einem TP-Monitor laufen muß und ob im letzten Fall die Implementierung task- oder transaktionsorientiert erfolgen soll;

- Strukturtext kann leicht maschinell gespeichert werden.

Wolfgang George ist Gruppenleiter Methodenberatung bei der mbp (Mathematischer Beratungs- und Programmierungsdienst) GmbH, Dortmund.

Fortsetzung folgt

Was steckt wirklich hinter der Jackson Methode?

Übersicht über die von Wolfgang George gewählten Themenpunkte

Einführung

Was unterscheidet die verschiedenen in Theorie und Praxis bekannten Datenstrukturbegriffe?

- Mit dem Datenstrukturbegriff werden grundlegende Konzepte der Datendarstellung und des Datengebrauchs verbunden.

- Der Datenstrukturbegriff in der "Datenbankwelt".

- In der JSP sind Datenstrukturen der Ausgangspunkt des Programmentwurfs.

- Als Problembeschreibungssprache unterstützen JSP-Strukturdiagramme die Kommunikation zwischen Datenverarbeitungspartnern.

Wie wird die Programmstruktur von den JSP-Datenstrukturen abgeleitet?

- 1:1-Entsprechungen stellen die Verbindung zwischen mehreren Datenstrukturen eines Programms her.

- Die Ableitung der Programmstruktur erfolgt auf der Basis der 1:1-Entsprechungen nach festen Regeln.

- Die Korrektheit einer Programmstruktur bezüglich ihrer Datenstrukturen kann formal überprüft werden.

Wie wird dem Modell (Programmstruktur) eine Funktion zugeordnet?

- Elemtaranweisungen spezifizieren Teilfunktionen.

- Elemantaranweisungen können Bezug auf bottom-up entwickelte, im Rahmen eines Arbeitsgebietes allgemein verwendbare Unterprogramme nehmen.

- Elementaranweisungen werden der Programmstruktur zugeordnet.

- Die Formulierung der Bedingungen ist ein selbständiger Teilschritt des JSP-Entwurfs.

Mit Strukturtext - einem Pseudocode - wird der Entwurf dokumentiert.