Von problemunabhängigen Datenstrukturen kann keine Prograsmmstruktur abgeleitet werden

Jackson trennt Entwurf und Implementierung

30.04.1981

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

Eine problemspezifische JSP-Datenstruktur gibt eine bestimmte Sicht, ein bestimmtes Verständnis der zu lösenden Aufgabe wieder. Mit Hilfe einer derartigen Darstellung können Aufgabensteller und Entwerfer sich abstimmen, können fundierte Fragen zur Aufgabenstellung gestellt werden.

Aufgrund der JSP-Datenstuktur "Kreditkunde" in Bild 3 könnten Fragen geklärt werden wie: "Erzielen mit unseren Kunden immer eine Übereinkunft?" Antwort: "Ja, wir verlieren nie einen Kunden." Dies kann aus dem Strukturdiagramm anhand der Sequenz "Kreditkunde" abgeleitet werden. Deren Teile werden von links nach rechts je einmal durchlaufen also auch der Teil "Übereinkunft". "Kann ein Kunde jeweils nur einen Kredit zu einem Zeitpunkt haben?"

Antwort: "Ja, ein neuer Kredit kann erst dann vergeben werden, wenn der alte völlig zurückgezahlt ist." "Kredittel" ist eine Iteration von "Kredit" en. Es können also insgesamt mehrere Kredite vergeben werden, einer nach dem anderen Da zu einem "Kredit" "Kreditbeginn", Kreditrumpf" mit "Rückzahlungen" und "Kreditende" gehören, kann jedoch ein neuer "Kredit" erst dann beginnen, wenn bei dem vorigen Kredit das "Kreditende" und damit der Abschluß der "Rückzahlungen" gemeldet worden ist. Die Diskussion derartiger Fragestellungen läßt sich hervorragend anhand der grafischen Datenstruktur-Darstellung führen. Dadurch wird die Aufgabenstellung zu einem sehr frühen Zeitpunkt in der Systementwicklung präzisiert, so daß Entwurfsfehler in dieser Phase (es sind diejenigen, die die höchsten Folgekosten verursachen würden) weitgehend vermieden werden.

Wie wird die Programmstruktur von den JSP-Datenstrukturen abgeleitet?

Der Entwurf eines Programms nach JSP erfolgt in vier Schritten. Der erste, der sogenannte Datenschritt besteht in der problemspezifischen Analyse der seriellen Eingabe und Ausgabedatenströme eines Programms und deren Beschreibung in Strukturdiagrammen, wie wir es kennengelernt haben.

Das Ableiten der Programmstruktur von diesen JSP-Datenstrukturen ist der zweite Schritt beim JSP-Entwurf. Dieser Programmschritt besteht aus zwei Arbeitsgängen: einem ersten, der die Aufgabenstellung weiter präzisiert, und einem zweiten sehr formalen.

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

Ein Programm muß seine Eingabedatenströme in die gewünschten Ausgabedatenströme transformieren. Grundlegend für eine Programmstruktur sind die Beziehungen zwischen den Komponenten der problemspezifischen Datenstrukturen,

die diese Datenströme beschreiben. Besonders wichtig ist dabei das Erkennen und Beschreiben der sogenannten 1:1-Entsprechungen.

Eine 1:1 -Entsprechung zwischen zwei Komponenten zweier Datenstrukturen liegt vor, wenn diese in der gleichen Anzahl und in der gleiche Reihenfolge auftreten und wenn eine der folgenden Bedingungen erfüllt ist:

a) beide sind Komponenten von Eingabedatenströmen, und sie werden paarweise verarbeitet

b) beide sind Komponenten von Ausgabedatenströmen, und sie werden paarweise erstellt

c) die eine ist Komponente eines Eingabedatenstromes, die andere eines Ausgabedatenstromes, und die Ausgabekomponente wird aus der Eingabekomponente hergeleitet.

Ergänzen wir unsere Aufgabenstellung von vorhin um eine Saldendatei, in die für die Bewegungen einer Teile-Nr. ein Saldensatz geschrieben wird, erhalten wir die in Bild 4 dargestellten Datenstrukturen und 1:1-Entsprechungen.

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

Die Programmstruktur muß ein Modell der zu lösenden Aufgabe sein, das den JSP-Datenstrukturen alIer zu verarbeitenden und zu erstellenden Datenströme gerecht wird. Deshalb muß für jede Datenkomponente eine entsprechende Programmkomponente bereitgestellt werden. Besteht zwischen zwei oder mehreren Datenkomponenten eine 1:1 Entsprechung, wird diese Gruppe sich entsprechender Datenkomponenten jedoch in einer einzigen Programmkomponente bearbeitet. Damit ist sichergestellt, daß durch die Programmstruktur die für 1:1-Entsprechungen genannten Voraussetzungen berücksichtigt werden.

Andere Beziehungen zwischen Datenkomponenten (Sequenz, Iteration, Selektion) bleiben zwischen den diesen Datenkomponenten entsprechenden Programmkomponenten bestehen. Aus Gründen einer durchgänigen Dokumentation sollten die Datenkomponentennamen in den Programmkomponentennamen zitiert werden. Wir stellen Namen von Eingabedatenkomponenten ein "K-" ("Konsumiere") und solchen von Ausgabedatenkomponenten ein "P-" ("Produziere") voran.

*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 Datenastrukturbegriffe?

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

- Der Datenstrukturbegriff in der "Datenbankwelt".

- In der JSP und 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 Regelm.