Standardablaufstruktur nach Delta-NP anstelle einer Jackson-Ablaufstruktur:

Eine Methode ist nur so gut wie das Werkzeug

30.04.1981

Methoden und Werkzeuge, die in der Phase des System- und Programmdesigns eingesetzt werden, sind das Thema der folgenden Abschnitte. Dabei soll insbesondere dargestellt werden, wie die neuen Gedankenansätze von Jackson (Ableitung der Programmstruktur aus der Datenstruktur) beim Delta*-NP-Generator in Einklang mit der Normierten Programmierung gebracht wurden.

III. Teil (a)

Der Autor will, dies betont er ausdrücklich, nicht theoretisieren; er beschreibt anhand der Verfahren und Techniken, die er in seinem Hause mit seiner Methodenmannschaft eingeführt hat, wie neueste Formen der Programmstrukturierung praxisnah eingesetzt werden können. Sein engagiertes Bekenntnis zu dieser Methode wird zu einem Plädoyer für die Normierte Programmierung:

Eingebettet im Delta-Werkzeugbündel wird die Normierte Programmierung zu einem vielseitigen, flexiblen, sich anpassenden Werkzeug für alle Batchprogramme.

Wie im letzten Kapitel dargestellt, werden im Rahmen des Systemdesigns die wesentlichen Funktionen des Programmes skizziert, natürlich in verbaler Form, aber auch bereits mit Hilfe von Delta-Befehlen. Im Programmdesign wird das Programm umfassend konzipiert, gleichfalls verbal und mit Hilfe von Delta-Anweisungen. Anhand der Checkliste für das Erstellen einer Programmvorgabe, die damit zum Deckblatt und zum Inhaltsverzeichnis der Vorgabe wird, soll der Weg der Programmentwicklung beschrieben werden (siehe Bild 1):

Register 1:

Der Weg beginnt damit, daß "dem Kind ein Name" gegeben und der Erzeuger benannt wird, und zwar durch ".PROG = P1234, Autor = Meier".

Diesem Delta-Befehl folgt in Form von Kommentarzeilen die Kurzbeschreibung des Programms. Der zutreffende Ausschnitt aus dem grafischen Gesamtablaufplan- bereits erstellt im Systemdesign - wird entweder fotokopiert oder per Hand angefertigt und im Register 1 abgelegt.

Register 2:

Das Dateien-/DB-Design wurde im Rahmen des Systemdesigns abgeschlossen. Hier besteht nun die Aufgabe, die Datenstruktur der ("steuernden " ) sequentiellen Eingabedatei für das Programm grafisch nach der Jackson-Methode darzustellen. Diese Methode bietet den Vorteil, daß die Zugriffsschlüssel der einzelnen Satzarten und ihre Abhängigkeiten untereinander dargestellt werden (siehe Bild 2).

Obenliegender Wurzelpunkt

Gleichgültig, ob sich hinter einer solchen Datenstruktur eine Datenbank oder andere Datenspeicherungsformen befinden; diese Darstellungsform ist gleichermaßen für alle Datenorganisationsformen geeignet.

Am oberen Ende befindet sich sozusagen der Wurzelpunkt: Es ist "die Gesamtheit aller Sätze", also die "logische Datei". Darunter befinden sich die Schlüssel; in der Regel werden mit "*" gekennzeichnet; nach Jackson bedeutet dies eine "lteration", also eine Wiederholung; das heißt die darunter befindlichen Elemente wiederholen sich so oft, wie es beispielsweise Kunden gibt.

Das Gebilde gliedert sich nach unten wie eine Stücklistenstruktur: Es ist eine hierarchisch gegliederte Baumstruktur mit nur einem Wurzelpunkt. Auch bei der Verarbeitung von Daten aus komplexen Datennetzen, abgespeichert in Datenbanken, wird man die in einem Batch-Programm zu verarbeitenden Daten immer in einer solchen Baumstruktur darstellen können.

Die unteren Enden der Baumstruktur bestehen aus logischen Datensätzen. Dies können physische Datensätze sein; wenn Datenbanksysteme eingesetzt werden, könnten es logische Datensätze sein, also problembezogene Zusammenfassungen von Feldern aus verschiedenen physischen Datenbanksätzen. Eine komplexe Baumstruktur (wie in unserem Bild 2 dargestellt) kann jedoch nicht nach der Normierten Programmierung abgearbeitet werden.

An dieser Stelle könnte die reine Jackson-Methode angewendet werden: Man würde dieser Eingabe-Datenstruktur die Ausgabe-Datenstruktur gegenüberstellen und hieraus die Programmstruktur ableiten. Das wollen wir jedoch nicht; der Programmierer müßte dann nämlich für diese Anwendung eine eigene Ablaufstruktur entwickeln. Einfacher ist es für ihn, eine gegebene Standardablaufstruktur anzuwenden.

Die von allen NP-Generatoren vorgegebene Standardablaufstruktur setzt eine nicht komplexe Datenstruktur voraus. Baumartige Strukturen können also nicht ohne weiteres verarbeitet werden. Sie müssen erst in einfache Strukturen umgewandelt werden, - wir sprechen von einer Umwandlung in einen "Schachtehalm" (siehe Bild 3: Dieser Halm beginnt oben mit der Gesamtheit aller Sätze, also der logischen Datei; er setzt sich fort in den einzelnen Schlüsseln und endet unten in den Datensätzen).

Die Umwandlung der Baumstruktur in einen Schachtelhalm ist der Kern des Programmdesigns, hierdurch wird die gesamte Programmstruktur festgelegt (dies ist im übrigen nichts anderes als das Festlegen der bisherigen Gruppenwechselbegriffe und der Sortierfolge der Eingabedatei(en)).

Bei der Umwandlung der komplexen Struktur in eine einfache Struktur muß erkannt werden,

- Welche Schlüsselbegriffe sind für den Verarbeitungsprozeß relevant? Welche dieser Schlüssel existieren in den verschiedenen Datensätzen? Wo existieren sie nicht? Welche ihrer nicht vorhandenen Schlüssel muß man nach dem Einlesen der Datensätze beim Füllen der Gruppenwechselbegriffe auf 0 oder Space oder andere Default-Werte setzen (damit alle Datensätze mit unterschiedlichen Satzschlüsselstrukturen in einem gemeinsamen Gruppenwechselprozeß verarbeitet werden können)?