ebook img

Einführung in die Methode des Jackson Structured Programming (JSP) PDF

327 Pages·1988·14.692 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Einführung in die Methode des Jackson Structured Programming (JSP)

Klaus Kil berth Einfiihrung in die Methode des Jackson Structured Programming (JSP) ------Programmiersprachen ----------- Einflihrung in ALGOL 68, von H. Feldmann Einflihrung in die Programmiersprache Pascal, von K.-H. Becker und G. Lamprecht T echnisch-na turwissenschaftlicher Pascal-Trainer, von H. Kohler Einflihrung in die Programmiersprache Ada, von Manfred Nagl Einflihrung in die Programmiersprache FORTRAN 77, von G. Lamprecht FORTRAN-Trainer, von H. Kohler EinfUhrung in die Programmiersprache SIMULA, von G. Lamprecht Einflihrung in die Programmiersprache BASIC, von W.-D. Schwill und R. Weibezahn Einflihrung in die Programmiersprache COBOL, von W.-M. Kahler Einfiihrung in die Methode des Jackson Structured Programming (JSP), von K. Kilberth PEARL, Process and Experiment Automation Realtime Language, von W. Werum und H. Windauer Einflihrung in das Datenanalysesystem SPSS und SPSSx, von W.-M. Kahler SAS fUr Anfanger, von W.-M. Kahler und W. Schulte SPSSx fur Anfanger, von W.-M. Kahler VIeweg--------------------------------~ Klaus Kilberth Einfiihnmg in die Methode des Jackson Structured Programming (JSP) Mit einem Geleitwort von Michael Jackson Friedr. Vieweg & Sohn Braunschweig / Wiesbaden CIP-Titelaufnahme der Deutschen Bibliothek Kilberth, Klaus: Einflihrung in die Methode des Jackson structured programming (JSP) / Klaus Kilberth. Mit e. Geleitw. von Michael Jackson. - Braunschweig; Wiesbaden: Vieweg, 1988 ISBN-13: 978-3-528-04576-0 e-ISBN-13: 978-3-322-83795-0 DOl: 10.1007/978-3-322-83795-0 Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend einer Art verbunden. Der Autor und der Verlag iibernehmen infolgedessen keine Verantwortung und werden keine daraus folgende oder sonstige Haftung iibernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann. Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig 1988 Das Werk einschliel1lich aller seiner Teile ist urheberrechtlich geschiitzt. Jede Verwertung aul1erhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzuliissig und strafbar. Das gilt insbesondere flir Vervielfiiltigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. ISBN-13: 978-3-528-04576-0 fur Lisa VI Preface It is a great pleasure to me to have the opportunity of writing a preface to Klaus Kilberth's book on JSP. He has been an enthusiastic and expert practitioner of JSP for several years, and he is also an experienced teacher of the method. So I was expecting his book to contain a careful exposition of JSP, including some of its newer aspects, and that expectation has been amply fulfilled. It is also good to see that he has included many exercises, along with their solutions, and that he has maintained the excellent JSP tradition of explanation by story-telling: in future I shall drink my German wine with increased pleasure, thinking of the admirable career of Gustav and how useful his instinctive understanding of process communication proved to be in the wine trade. I hope that you, the reader, will enjoy this book, and that you will benefit from its insights into the task of composing correct programs. Michael Jackson VII Vorwort Was kann einen dazu bewegen, heute, wo alles von Sprachen der vierten oder sogar n-ten Generation, von logischer Datenmodellierung, von nicht-prozeduraler Programmierung, von Kunstlicher Intelligenz und vielen anderen zukunftstrachtigen Ansatzen spricht, weit mehr als ein Jahrzehnt nach dem Erscheinen von Michael A. Jacksons Monographie "Principles of Programm Design" (vgl. [10]) ein Buch uber JSP zu schreiben? Die Griinde dafUr sind vielfaltig. Zunachst sind da einige .AuBerlichkeiten. Die Methode JSP hat sich im Laufe der Jahre zwar nicht in ihren Grundsatzen, aber doch in ihrer Darstellung gewandelt. Besonders die VerfUgbarkeit von leistungsfahigen Werkzeugen fUr JSP hat einen gewissen EinfluB auf die Notation. Vieles ist praziser geworden, neue Anwendungsbereiche, z.B. Datenbanken und Dialogprogrammierung traten mehr in den Vordergrund. Viele mit JSP erfolgreich abgeschlossene Projekte erbrachten eine Fulle von Erfahrungen und Erkenntnissen. Das allgemeine MethodenbewuBtsein hat erfreulich zugenommen und damit auch die Bereitschaft, sich mit diesen Dingen uberhaupt auseinanderzusetzen. Aus eigener praktischer Erfahrung ist die Uberzeugung gewachsen, daB JSP als Entwurfsmethode einen konkreten, nachweisbaren (im allg. aber nur schwer meBbaren) Nutzen bewirkt. Ein weiterer Grund ist der offenkundige Bedarf, der in immer wieder gestellten Fragen von Studenten, Seminar teilnehmern oder Mitarbeitern von Projekten nach einer verstandlichen und ausfUhrlichen Beschreibung von JSP zum Ausdruck kam. Neben Grunden gibt es auch Anlasse. Hier war der AnIaB, daB wir im Rahmen eines Projektes die Unterlagen fUr die JSP-Seminare des mbp von Grund auf neu entwickelt haben. Diese Unterlagen bilden die Basis fur den Inhalt des vorliegenden Buches. Und der mbp Software & Systems GmbH sei herzlich gedankt, daB die Verwendung der Unterlagen groBzugig genehmigt wurde. Das Buch ist nicht als theoretische Abhandlung uber Software-Engineering konzipiert, sondern es soli als Leitfaden und Handbuch zum Gebrauch von JSP bei praktischen Anwendungen dienen. Es wird bewuBt darauf verzichtet, die Methode JSP mit anderen Ansatzen eingehend zu vergleichen. Erstens wiirde ein ernsthafter Vergleich den Rahmen dieses Buches bei weitem ubersteigen, auBerdem miiBten dafUr auch vergleichbare eigene Erfahrungen mit diesen Methoden vorliegen. Das Buch ist gedacht fUr aile, die die Methode JSP lernen und anwenden wollen, also Studierende mit DV-Interesse, Auszubildende im Bereich Informations-Technologie, alte Hasen mit dem Wunsch, etwas Neues kennenzulernen, aber auch fUr diejenigen, die sich nur einen Eindruck von Strukturierter Programmierung nach Jackson verschaffen wollen. Spezielle Vorkenntnisse, abgesehen von etwas Grundwissen in Datenverarbeitung, werden nicht erwartet. DV-Einsteiger waren eigentlich die idealen Leser, da diese im allg. noch keine "Ablaufbrille" tragen, die man den anderen erst muhsam abnehmen muB. Es liegt im Wesen der Methode JSP, daB sie uberwiegend in einem kommerziellen Umfeld einge setzt wird. Entsprechend sind auch die Fallstudien und Beispiele gewahlt. Wenn Bezuge auf eine konkrete Programmiersprache notig sind, wird das stets COBOL sein. Es gibt aber auch eine Reihe erfolgreicher Einsatze in der ProzeBdatenverarbeitung in Verbindung mit der Sprache C. "Algorithmiker" werden kaum eine ihrer vertrauten Anwendungen finden, aber vielleicht eine Menge von Ideen und Anregungen zum Strukturieren und Aufbereiten ihrer Probleme. Das Buch besteht aus drei Teilen: dem Textteil, der LOsung der Ubungen und Fallstudien sowie einem Anhang. Der Textteil umfaBt im wesentlichen zwei Bereiche. Zunachst werden das Umfeld und die Grundlagen von JSP erlautert. Das geschieht in den ersten beiden Kapiteln. Der zweite Bereich, von Kapitel3 bis Kapitel 8, enthaIt die Anwendung von JSP auf Standard-Probleme und beschreibt, wie diese mit den Mitteln von JSP formalisiert und systematisch gelOst werden konnen. 1m Kapitel9 werden Werkzeuge fiir JSP kurz vorgestellt. Aile wichtigen Begriffe und Notationen sind im Anhang noch einmal zusammengefaBt. Die Methode wird im Textteil des Buches ausfUhr lich besprochen und an hand von vielen Fallbeispielen veranschaulicht. Fur ein tieferes Verstandnis VlII ist das LOsen der Ubungen und Fallstudien dringend zu empfehlen. Die LOsungen finden Sie geschlossen hinter dem Textteil. Bei den Fallstudien werden drei Bereiche behandelt: klassische Batchverarbeitung, Dialog anwendung und Textverarbeitung. Es gibt flir jedes der drei Gebiete eine Aufgabenstellung, die nach und nach erweitert wird, urn den jeweils behandelten Stoff zu vertiefen und typische Problemstellungen aus diesen Bereichen exemplarisch zu lOsen. Durch die Beschrankung auf diese drei Aufgaben ist der Leser nicht bei jeder Fallstudie gezwungen, sich auf immer wied~! neue Anwendungssituationen einzustellen. AuBerdem wird dadurch das flir die Praxis wichtige Andern und Erweitern bestehender Entwiirfe urn zusatzliche Anforderungen geiibt. DaB das vielleicht auch mal etwas eintonig wirkt, wird zugunsten der besagten Vorteile in Kauf genommen. Datenbank Anwendungen werden nicht getrennt betrachtet, sondern in Verbindung mit den drei Bereichen behandelt. An diesem Buch haben viele, mehr oder weniger direkt, mitgewirkt. Die Teilnehmer der JSP Seminare und die Horer meiner Vorlesungen haben durch viele Fragen und Anregungen einen wichtigen Beitrag zu Inhalt und Darstellung dieses Buches geleistet. Meine Kolleginnen und Kollegen beim mbp haben teils durch konkrete Mitarbeit an den Seminarunterlagen, teils mit Kritik, Ideen und Bemerkungen geholfen, den Stoff des Buches entsprechend aufzubereiten. Besonders intensiv haben sich Erwin Bude, Klaus Hasbron-Blume und Karl-Heinz Sylla mit der Rohfassung des Textes auseinandergesetzt und eine Reihe von Verbesserungen vorgeschlagen. Das miihsame Korrekturlesen hat Lisa Contzen auf sich genommen. Sieglinde Wachs und Karlheinz Sosenheimer von der Deutschen Lufthansa AG in Frankfurt haben mir Unterlagen zur Implemen tierung bei Stiicklisten zur Verfligung gestellt. Corinna und Hugo Ullrich haben die kniffelige Ansteuerung des Laserdruckers vorbereitet. Ihnen allen gilt mein ganz besonderer Dank. Allein biitte ich es wohl kaum geschafft. KOln, Marz 1988 Klaus Kilberth IX Inhaltsverzeichnis 1 Einfiihrung ..................................................................................................................................................... 1 1.1 JSP, was es leistet und was nicht .................................................................................................... 1 1.2 JSP-Programme verarbeiten Datenstrome ................................................................................. 2 1.3 Die Verkniipfung von Datenstromen und Programmen .......................................................... 4 1.4 Die Notation von JSP ...................................................................................................................... 6 1.5 JSP und Strukturierte Programmierung ..................................................................................... 12 1.6 Die Methode JSP ........................................................................................................................... 13 1.7 JSP und JSD .................................................................................................................................... 15 1.8 JSP in konkreten Projekten .......................................................................................................... 16 2 Grundlagen des JSP-Entwurfs ................................................................................................................. 18 2.1 Aufgabenstellung, SND und Beispiele ....................................................................................... 18 2.2 Datenschritt .................................................................................................................................... 20 2.2.1 Ableiten der Daten-Strukturdiagramme ......................................................................... 20 2.2.2 Eintragen der l:l-Entsprechungen .................................................................................. 41 2.3 Programmschritt ............................................................................................................................. 53 2.3.1 Ableiten des Programm-Srukturdiagramms ................................................................... 53 2.3.2 Konsistenzpriifung .............................................................................................................. 58 2.4 Anweisungsschritt .......................................................................................................................... 62 2.4.1 Ermitteln der Elementaranweisungen ............................................................................ 62 2.4.2 Zuordnung der Elementaranweisungen .......................................................................... 64 2.5 Textschritt ........................................................................................................................................ 69 2.5.1 Errnitteln der Bedingungen ............................................................................................... 70 2.5.2 Ableiten des Strukturtextes ............................................................................................... 72 2.6 Implementierung ............................................................................................................................ 75 2.6.1 Logischer/physischer Zugriff ............................................................................................ 75 2.6.2 Kodierung ............................................................................................................................. 78 2.6.3 Optimierung ......................................................................................................................... 82 2.6.4 JSP-Vorgehensmodell ........................................................................................................ 83 2.7 Fallstudien ....................................................................................................................................... 84 3 Gruppenwechselprobleme ........................................................................................................................ 86 3.1 Verschiedene Formen von Gruppenwechselproblemen ......................................................... 86 3.2 Effiziente Gruppensteuerung mit Gruppierwort ...................................................................... 91 3.3 Fallstudien ....................................................................................................................................... 96 4 Fehlerbehandlung ...................................................................................................................................... 99 4.1 Verschiedene Formen fehlerhafter Daten ................................................................................ 99 4.2 Fehlerbehandlung bei den drei Strukturkomponenten ........................................................ 102 4.3 Fallstudien .................................................................................................................................... 107 5 Mischen und Abgleichen ........................................................................................................................ 108 5.1 Mehrere Eingabe-Datenstrome ................................................................................................ 108 5.2 Mischen von Datenstromen ....................................................................................................... 108 5.3 Abgleichen von Datenstromen ................................................................................................. 111 5.3.1 Abgleichen von zwei Eingabe-Datenstromen ............................................................. 111 5.3.2 Abgleichen von mehreren Eingabe-Datenstromen .................................................... 119 5.3.3 Abgleichen auf mehreren Ebenen ................................................................................. 123 5.4 Fallstudien .................................................................................................................................... 124 x 6 Erkennungsprobleme .............................................................................................................................. 126 6.1 Verschieden Formen von Erkennungsproblemen ................................................................. 126 6.2 Technik des mehrfachen Vorauslesens ................................................................................... 128 6.3 Vorpramm-Technik .................................................................................................................... 131 6.4 Backtracking-Technik ................................................................................................................ 132 6.4.1 Prinzip des Backtracking ................................................................................................. 132 6.4.2 Backtracking in Selektionen ........................................................................................... 133 6.4.3 Backtracking in Iterationen ............................................................................................. 138 6.4.4 Behandlung von unzulassigen Nebenwirkungen .......................................................... 142 6.4.5 posit-switch ......................................................................................................................... 145 6.5 Erkennungsprobleme auf mehreren Ebenen ......................................................................... 147 6.6 Fallstudien .................................................................................................................................... 147 7 Strukturkonflikte ...................................................................................................................................... 150 7.1 Typische Situationen fUr Strukturkonflikte ............................................................................ 150 7.2 Abgrenzungskonflikt ................................................................................................................... 151 7.3 Reihenfolgekonflikt .................................................................................................................... 155 7.4 Verflechtungskonflikt ................................................................................................................. 158 7.5 Fallstudien .................................................................................................................................... 161 8 Implementierung von Programmsystemen .......................................................................................... 162 8.1 Darstellung der Implementierung ............................................................................................ 162 8.1.1 System-Implementierungs-Diagramme ......................................................................... 162 8.1.2 Umformung von SNDs ..................................................................................................... 164 8.2 Kommunikation zwischen Programmen ................................................................................. 169 8.3 Programminversion .................................................................................................................... 172 8.3.1 Technik der Programminversion .................................................................................... 172 8.3.2 Standard-Programminversion ......................................................................................... 177 8.3.3 Programminversion bzgl. mehrerer Datenstrome ...................................................... 178 8.3.4 JSP-Unterprogramme ...................................................................................................... 180 8.3.5 Varianten der Implementierung ..................................................................................... 181 8.3.6 Implementierung bei Strukturkonflikten ...................................................................... 186 8.4 Implementierung von Online-Programmen ........................................................................... 188 8.4.1 Task oder Transaktion ..................................................................................................... 188 8.4.2 Programminversion bei Online-Programmen .............................................................. 190 8.4.3 ZerJegung von Online-Programmen .............................................................................. 191 8.5 Fallstudien .................................................................................................................................... 194 9 Werkzeuge fUr JSP ................................................................................................................................... 196 LOsungen der Obungen und Fallstudien .................................................................................................. 199 Anhang .......................................................................................................................................................... 305 Veneichnis der Abldinungen DSD Daten-Struktur-Diagramm EGW Erweitertes Gruppier-Wort EOF End of File GW Gruppier-Wort JSD Jackson-System-Development JSP Jackson-Strukturierte-Programmierung PSD Programm-Struktur-Diagramm SID System-Irnplementierungs-Diagramm SND System-Netzwerk-Diagramm

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.