Ein integriertes Methoden- und Werkzeugsystem anstelle vieler einzelner Generatoren:Eine Methode ist nur so gut wie das Werkzeug

24.04.1981

Im ersten Teil dieser Serie wurde in Aussicht gestellt Im folgenden Kapitel einen Bericht über den Einsatz eines Methodenwerkzeugs zu geben, das eine umfassende Unterstützung des gesamten Software-Entwicklungsprozesses anbietet. Mit dem in diesem System verfügbaren NP-Generator steht eine Renaissance der Normierten Programmierung bevor. Beschrieben wird, wie diese Normierungsmethode als Leitfaden für die Programmentwicklung im Hamburger Jahreszeiten-Verlag eingesetzt wird.

II. Teil

Beginnen wir mit der Beschreibung eines (vermeintlichen?) Software-Paradieses:

- Ein und dieselbe Programmablaufstruktur in allen Batchprogrammen.

- Kein einziger manuell geschriebener Befehl zur Ablaufsteuerung, sondern maschinelle Erzeugung dieser Befehle durch einen Generator.

- Ein und derselbe Name für Bausteine mit gleichen Funktionen in verschiedenen Programmen.

- Damit: kein immerwährend neues Erfinden von Programmablaufstrukturen (es gibt nur eine Ablaufstruktur für alle Batchprogramme).

- Damit eine Sprache für alle EDV Mitarbeiter.

- Einsatz von Entscheidungstabellen und deren Generierung in den Programmbausteinen.

- Nutzung von File- und Satzbeschreibungs-/Reportgeneratoren .

- Dieses alles unterstützt von einem Generator (und nicht von diversen nacheinander ablaufenden Generatoren mit möglicherweise unterschiedlicher Syntax).

Die Paradiesbeschreibung soll hier unterbrochen werden; sie ist sicherlich noch nicht vollständig (sie wäre zumindest um die Hilfen und Werkzeuge zu ergänzen, die bei der Systementwicklung notwendig sind).

Für viele EDV-Abteilungen existiert das Paradies bereits; auf jeden Fall für die, die "Delta"* eingesetzt haben. Um Mißverständnissen vorzubeugender Autor ist weder Marketingmann

der GMO noch Provisionsvertreter dieser Firma, sondern einer, der nach Sammlung reichhaltiger Erfahrung mit diversen "lnselgeneratoren" ein System gefunden hat, das aus einem Guß alle benötigten Werkzeuge anbietet.

Aber auch ein umfassendes Methoden- und Generatorsystem wird ein Inseldasein führen, wenn es nicht im Systementwicklungsprozeß eingebettet ist und frühzeitig Unterstützung anbietet. Das Delta-System gewährt diese Hilfe: Bild 1 zeigt einerseits die Phasen eines EDV-Projektes und andererseits die dazugehörigen Werkzeuge im Delta-System.

Was können diese Werkzeuge?

1. Mit dem DOC-System steht ein Werkzeug zur Verwaltung von Texten zur Verfügung; dieses Werkzeug benutzt natürlich Text-Editoren oder Source-Code-Editorsysteme der jeweiligen Betriebssysteme. Es arbeitet nach dem Baukastenprinzip und kann Texte hierarchisch (wie in jedem Bericht/ Buch/Abhandlung üblich) verwalten. Es erstellt Handbücher, Inhaltsverzeichnisse, Wiederverwendungsnachweise, Stichwortnachweise etc.. Es ermöglicht, daß zur Erstellung der diversen Dokumentationen (Systemplanungshandbuch, Programmvorgaben, Bedienerhandbücher) die jeweiligen Textbausteine herangezogen werden.

2. Integrierter Bestandteil des, Delta ist der ET-Generator Detab/GT, der bereits als Stand-Alone-Generator allgemein bekannt sein dürfte.

3. Mit Hilfe der Report-Anweisung können Listbild-Beschreibungen einfach formuliert werden (der Generator produziert als "Abfallprodukt" simulierte Listausdrücke).

4. Der Programmskelett- und der NP-Generator stellen sozusagen eine "Schubladenordnung", ein Baukastensystem zur Verfügung, das zunächst nur aus Namen besteht; der Code, der die Ablaufsteuerung wahrnimmt, der also bestimmt, wann die einzelnen Bausteine während der Programmausführung angesprungen werden, wird gleichzeitig generiert. In die Baukästen (im Delta-System nennt man diese Baukästen "Locations") kann der Benutzer seinen problemabhängigen Code-einstellen.

5. Makros: Bekannterweise besitzen Cobol-Compiler keine Makrosprache. Das Delta-System bietet eine sehr kompakte Makrosprache an (die auch selbst wiederum einen Makro-ET-Generator besitzt). Hiermit kann der Benutzer eigene Systeme entwickeln, mit denen Cobol-/PL/1-Source generiert werden kann.

Bei der Entwicklung von Makros durch den Anwender besteht auch die Möglichkeit, eigene Programmskelette zu definieren, ähnlich wie dies durch die Standardprogrammskelett- und NP-Generatoren bereits geschieht. Der Anwender realisiert dies, indem er für von ihm gewünschte Baukästen Namen durch den Befehl ".LOC" festlegt.

Codezuweisung an Programmskelette

Natürlich muß er dann seine eigene Steuerlogik festlegen und den Code zur Ansteuerung der Bausteine selbst schreiben (in der Regel abhängig von Parametern, die der Programmierer beim Aufruf des Makros mitgeben muß). In dieser Methode der Definition von Programmskeletten einerseits und in der Zuordnung von Code zu diesen Skeletten andererseits liegt die große Errungenschaft von Delta.

Durch den Zuweisungsbefehl ".SL" = Store to location werden an anderen Stellen geschriebene Befehle diesen Bausteinen zugeordnet; dieses kann beispielsweise auch wieder durch andere Makros geschehen. Hiermit ist die Möglichkeit geschaffen, kompakte, häufig wiederverwendbare Programmoduln zu schaffen; hier wird das Prinzip der "lokalen Programmierung" verwirklicht.

6. File-Generator: Anweisungen an diesen Generator verursachen nicht nur das Generieren von Dateidefinitionsbefehlen, sondern auch von Befehlen für das eigentliche l/O-Geschäft.

7. SPSGEN: Strukturgenerator für Bildschirme / MAGEN: Maskengenerator.

Mit diesen beiden vom Autor selbst mit Hilfe der Makrosprache entwickelten Generatoren können Bildschirmprogramme zu einem großen Teil maschinell generiert werden (dieses System wird im letzten Teil dieser Serie behandelt werden).

Alle aufgeführten Werkzeuge werden von einem Generator unterstützt kommen sozusagen aus einem ... Anweisungen an sie alle können in einem Programm in beliebiger (natürlich in problemabhängiger logischer) Reihenfolge gegeben werden. Die Sprachregeln sind für alle Werkzeuge die gleichen.

Für alle Phasen des SystementwickIungsprozesses stehen somit die entsprechenden Werkzeuge zur Verfügung. Man kann dem Slogan eines Software-Hauses nur zustimmen "Be cool, take cool". Cool kann man bleiben, wenn man den immer kostenintensiver werdenden Prozeß der Software-Produktion mit solchen Werkzeugen organisiert hat.

* Klaus D.Ahrens ist Org./DV-Bereichsleiter im Jahreszeiten-Verlag, Hamburg.