Skip to main content
main-content

Inhaltsverzeichnis

Frontmatter

1. Einführung

Zusammenfassung
JSP steht als Abkürzung für “Jackson-Structured-Programming”, aber es paßt auch die entsprechende deutsche Bezeichnung “Jackson-Strukturierte-Programmierung”. Man findet auch andere Namen z.B. die “Jackson-Methode” oder einfach nur “Entwurf nach Jackson”. Die beiden letzten Begriffe sind nicht eindeutig, da es von Michael A. Jackson auch noch die Methode JSD gibt, mit der ganze Systeme entworfen werden.
Klaus Kilberth

2. Grundlagen des JSP-Entwurfs

Zusammenfassung
Der Entwurf nach JSP erfolgt in vier Schritten. Das grundlegende Vorgehen bei diesen Entwurfsschritten ist Inhalt dieses Kapitels. Es wird gezeigt, wie die einzelnen Schritte systematisch aufeinander aufbauen und welche Prüfmöglichkeiten — lange vor dem ersten Compilerlauf — beim Übergang zwischen diesen Schritten einen korrekten Entwurf sicherstellen.
Klaus Kilberth

3. Gruppenwechselprobleme

Zusammenfassung
Die Behandlung von Gruppenwechsel wird erforderlich, wenn in einem seriellen Datenstrom “Gruppen” von aufeinanderfolgenden Sätzen gemeinsam verarbeitet werden sollen. Derartige Situationen treten häufig in einer kommerziellen Anwendungsumgebung auf, z.B. Verarbeitung aller Sätze zu einer Kundennummer. Doch auch in vielen anderen Bereichen werden intensiv Gruppenwechselprobleme gelöst, manchmal auch ohne sich einer Gruppenstruktur bewußt zu sein. So können z.B. bei der Multiplikation von Matrizen die Zeilen und Spalten als Gruppen von Matrixelementen aufgefaßt werden (“Gruppe” ist hier nicht algebraisch gemeint).
Klaus Kilberth

4. Fehlerbehandlung

Zusammenfassung
Beim Entwurf und der Implementierung eines Programms kann man im allg. nicht davon ausgehen, daß die zugehörigen Eingabedaten korrekt vorliegen. Es ist vielmehr notwendig, ein Programm so zu gestalten, daß es auf fehlerhafte Eingabedaten in geeigneter Form reagiert. Es ist ein wesentlicher Qualitätsaspekt der Software-Entwicklung, Programme so zu entwerfen, daß sie “robust” sind, d.h. daß sie auch bei unerwarteter, nicht vorgesehener Eingabe ein (möglichst) sinnvolles Verhalten zeigen, insbesondere nicht kommentarlos abbrechen.
Klaus Kilberth

5. Mischen und Abgleichen

Zusammenfassung
Eine typische Anwendung in der kommerziellen Datenverarbeitung ist das Zusammenführen von mehreren Dateien zu einer einzigen Datei, z.B. um Information zu aktualisieren bzw. zu kombinieren. Je nach Art der Behandlung der Eingabesätze können wir zwei unterschiedliche Verarbeitungsformen systematisch erörtern: das Mischen und das Abgleichen. Der wesentliche Unterschied besteht darin, daß beim Mischen alle Eingabesätze in ihrer ursprünglichen Form erhalten bleiben, und nur die Reihenfolge ihrer Ausgabe festgelegt wird, wogegen beim Abgleichen neue Ausgabesätze entstehen und vorhandene gelöscht werden können.
Klaus Kilberth

6. Erkennungsprobleme

Zusammenfassung
Bei der Vorbereitung für die Implementierung kann es vorkommen, daß die im Entwurf zunächst nur formal angegebenen Bedingungen nicht realisiert werden können. Wenn alle Versuche, diese Bedingungen mit den vorhandenen Informationen zu präzisieren, nicht zum Ziele führen, und auch Entwurfsfehler ausgeschlossen werden können, handelt es sich um ein “Erkennungsproblem”. Die Schwierigkeiten bei der Präzisierung von Bedingungen hängen aber nicht primär von der Entwurfsmethode ab, sondern sind typisch bei der Lösung bestimmter Probleme. Daß “Erkennungsprobleme” bei der Anwendung von JSP vielleicht häufiger auftreten als bei anderen Methoden, ist durchaus verständlich, da beim Entwurf nach JSP die Datenstrukturen bewußt ohne Beachtung von Bedingungen und deren Realisierung erstellt werden. Erst im letzten Schritt der Methode, dem Textschritt, werden die Bedingungen eingetragen und erst bei der Implementierung müssen die Bedingungen präzise formuliert werden.
Klaus Kilberth

7. Strukturkonflikte

Zusammenfassung
Wie wir bereits bei der Darstellung der 1:1-Entsprechungen (vgl. Abschnitt 2.2.2) gesehen haben, gelingt es nicht immer, ein gegebenes Problem in Form eines einzigen simple program nach JSP mit den vier Entwurfsschritten zu lösen. Wenn falsche DSDs ausgeschlossen werden können, wenn es sich nicht um ein Abgleichproblem handelt und wenn das zu lösende Problem auch nicht gänzlich unstrukturiert ist, dann liegt im allg. ein “Strukturkonflikt” vor. Ein Strukturkonflikt muß unabhängig von der gewählten Methode gelöst werden und ist nicht JSP-spezifisch. Wegen der Konsequenz der Methode werden Strukturkonflikte aber durch JSP vielfach überhaupt erst erkannt. Vielleicht behaupten ja deshalb böse Zungen, mit JSP würden Techniken zur Lösung von Problemen bereitgestellt, die man sonst erst garnicht hätte. Wie wahr!
Klaus Kilberth

8. Implementierung von Programmsystemen

Zusammenfassung
Während des Entwurfs wurden Implementierungsaspekte bewußt außerachtgelassen. Die einzelnen Programm-Komponenten eines Systems sind als simple program entworfen und sollen nun als lauffähiges System implementiert werden. Jetzt muß über die Aufrufhierarchie der einzelnen System-Komponenten entschieden werden. Ebenso ist zu klären, welche Datenströme als physische Datei und welche als logische Verknüpfung realisiert werden sollen. Für diese Aspekte verwenden wir die “System-Implementierungs-Diagramme” als Beschreibungsmittel.
Klaus Kilberth

9. Werkzeuge für JSP

Zusammenfassung
Zur Unterstützung der Methode JSP sind eine ganze Reihe von Werkzeugen auf dem Markt. In einer Studie (vgl. [25]) werden zwölf Werkzeuge genannt, die JSP direkt unterstützen. Es würde sicher zuweit führen, alle verfügbaren Werkzeuge im einzelnen hier vorzustellen, aber zumindest sollen einige Namen (ohne Anspruch auf Vollständigkeit) aufgelistet werden:
1
JSP-TOOL PDF
 
2
DIPROTOR JSP-COBOL
 
3
CASE CISS-BAUM MOSES SOURCEMANAGER
 
4
DELTA SOFTORG
 
Klaus Kilberth

Backmatter

Weitere Informationen