Perfektion ist "Fourth Generation"-Software noch fremd:

Harte Produktprüfung vermeidet späteren Einsatzfrust

16.11.1984

Erneut gerät die Software der vierten Generation derzeit unter Beschuß: sprachen, Anwendungs-Entwicklungssysteme und SW-Produktionsumgebungen als "enfant terrible" der Branche. Nachdem viele Anwender und professionelle Programm-Gurus nach anfänglichem Begeisterungstaumel nun feststellen, daß es mit den Werbesprüchen einiger Anbieter über die Leistungsfähigkeit ihrer Produkte "nicht weit her Ist", stehen die Benutzer der vielgeprisenen Zauberformel "Fourth Generation" zunehmend skeptischer gegenüber. Klaus Amann General Manager der Cincom Systems, Düsseldorf, und Peter Page, Vorstandsmitglied der Darmstädter Software AG, geben Tips, welche Forderungen der User an Produkte dieser Art stellen solle. Eingehende Vergleiche und Prüfungen können hier weitgehend schätzen.

Klaus Amann

Die heutige Datenverarbeitung braucht ein echtes Anwendungs-Entwicklungssystem (AES) der vierten Generation, mit der die notwendigen Verbesserungen sowohl in der Produktivität als auch im Rechner-Aufwand erreichbar sind.

- Die Sprache muß sowohl umfassend genug sein, um die Bedürfnisse des professionellen Softwareentwicklers zu befriedigen, als auch für Nicht-Programmierer geeignet und leicht erlernter sein. Es ist sehr wichtig, daß eine möglichst große Anzahl von Endbenutzern in der Lage ist, die Sprache bei den verschiedensten Anwendungs-Entwicklungen einzusetzen. Zusätzlich sollte -eine derartige Sprache von Mikrocomputern übernommen werden können, um beispielsweise ein billiges, stets verfügbares Terminal zu haben - eingesetzt als persönlicher Computer oder zur Programmierung direkt am Arbeitsplatz.

- Um die volle Breite aller Anwendungen abzudecken, von einfachen bis zu komplexen oder von kommerziellen bis zu wissenschaftlichen, braucht ein Anwendungssystem die Mächtigkeit einer prozeduralen Sprache. Eine entsprechende Vollkommenheit und Flexibilität des Befehlsvorrats waren nur bei Sprachen wie Cobol, APL oder PL-1 vorhanden.

- Wenn die Sprache verbreitet eingesetzt werden soll, braucht die Verarbeitungsleistung nicht größer zu sein als 2:1 im Vergleich mit Cobol. Auch wenn heutige Computerleistungen wesentlich billiger sind als in der Vergangenheit, wäre eine Sprache, die über große Programmstrecken hinweg vier- bis fünfmal mehr Hardware benötigt wie heute üblich, viel zu teuer. Außerdem würde dies im Online-Betrieb zu unannehmbar langen Antwortzeiten führen.

- Da neue Anwendungen vorzugsweise auf der Basis moderner Datenbanken und Datenstrukturierungs Techniken aufgebaut werden, muß die Sprache eines Anwendungs-Entwicklungssystems von in diese neuen Technologien integrierbar sein, und zwar auf einer möglichst hohen logischen Ebene. Der Benutzer muß grundsätzlich in die Lage versetzt werden, neue Technologien von ihrer Verfügbarkeit einzusetzen, ohne die vorhandenen Systeme größeren Konvertierungen unterziehen zu müssen. Die Unterstützung von Standard VSAM und DBMS ist notwendig. Es ist schlichtweg unzumutbar für den Anwender, daß zum Beispiel gleichzeitig mit dem Tool auch die Datenbank des Anbieters mitgekauft werden muß.

- Eine grundsätzliche Forderung ist eine von interpretierende Sprache, so daß Befehle ohne vorherige Kompilation ausgeführt werden können, Dabei ist zu berücksichtigen, daß diese interpretativen Fähigkeiten erreicht werden müssen bei gleichzeitiger Wahrung der 2:1 Relation in der Leistung, im Vergleich zu kompiliertem Cobol. Wenn ein derartiges Leistungsniveau erzielt werden kann, dann wird der Bedarf an Rechnerkapazität insgesamt nicht notwendigerweise ansteigen, weil die aufwendige und zeitraubende Kompilerphase bei Cobol durch das interpretative System entfällt.

Ideal wäre es, wenn nachfolgende Kannkriterien, die aber bald zu Mußkriterien werden können, ebenfalls erfüllt wären.

- Vom Benutzer wird die Komplexität des Daten-Zugriffs ferngehalten, da nur die vier Befehle GET, INSERT, UPDATE und DELETE benutzt werden. Die Programme sind völlig unabhängig von Veränderungen in der physischen Umgebung, weil für alle der verschiedenen Zugriffsmethoden eine logische Sicht zur Verfügung steht, das heißt der Programmierer benötigt keinerlei Kenntnisse zum Beispiel von CICS, VSAM oder DL/ 1.

- Alle Leistungen eines AES, wie Bildschirm-, Datei-, Zugriffs- oder Antwort-Generator, sind über ein leistungsstarkes "Central Directory" integriert, um auch eine von integrierte Anwendungsentwicklung zu ermöglichen. Aus operationaler Sicht können neue Applikationen zu bereits vorhandenen Anwendungen hinzugefügt werden, die nicht mit dem AES erstellt wurden.

- Anwendungen, die mit dem AES konzipiert wurden, sind völlig unabhängig vom Betriebssystem oder vom TP-Monitor und können von diesen Systemprogrammen ohne Änderungen übernommen werden. Diese Leistung ergibt eine sehr große Flexibilität in Organisationen mit verschiedener Software-Umgebung. Bei einer langfristigen Planung ist dies entscheidend, wenn der Benutzer wenig Einfluß auf die Betriebssysteme oder die TP-Monitor-Technik hat.

Pater Page

Ein interaktives Anwendungsentwicklungssystem der vierten Generation besteht nicht nur aus einer höheren Programmiersprache, sondern kann nur auf der Basis mehrerer integrierter Komponenten betrieben werden.

- Programme werden bei der Eingabe in einem Schritt direkt in ausführbaren Maschinencode übersetzt. Fehler im Quellprogramm werden direkt angezeigt und dem Benutzer die fehlerhafte Programmanweisung zur interaktiven Korrektur angezeigt. Systeme der vierten Generation können diese interaktive Arbeitsweise bei geringer Belastung für den Rechner parallel für mehrere Benutzer anbieten.

- Programme können sofort im interaktiven Testmodus zur Ausführung gebracht werden, wobei auf Anweisungsanfängen angehalten werden kann. Inhalte von Variablen können symbolisch angezeigt und verändert werden. Das gilt auch für die gerade ausgeführten Quellanweisungen zur Verfolgung des Ablaufs.

- In einer Anwendungsentwicklungsumgebung der vierten Generation nimmt das aktive Diktionär eine zentrale Stellung ein und unterstützt den Benutzer bei der Erstellung von Programmen statt ihn zu belasten.

- Das Maskenbild wird direkt auf dem Bildschirm entworfen und kann während der Definition jederzeit interaktiv erprobt werden. Die Definition der Datenelementnamen geschieht als Teil des Maskendefinitionsprozesses, wobei auch hier wieder das Diktionär die Information über Format, Länge und eventuell existierende Verifikationsregeln liefert. Durch die Definition der Maske wird damit ein Stück des Anwendungsprogrammes erzeugt, das dann im Programmrahmen nur noch referenziert werden muß.

- Eine Bibliotheksverwaltung für Quell- und Objektmodule ist integraler Bestandteil des Systems, so daß auch hier die Bibliotheken zur interaktiven Informationsgewinnung genutzt werden können. Das Bibliothekssystem kann verschiedene Versionen von Programmen verfügbar halten und jeweils auch alte Versionen wieder aktivieren.

- Bei der Editierung von Programmen werden Programmstrukturen

hervorgehoben, so daß Funktionsblöcke leichter erkannt werden können. Durch "Split Screen"-Funktionen können Quellprogramme und Diktionärinformation gleichzeitig auf demselben Schirm angezeigt beziehungsweise manipuliert werden.

- Der Zugriff zu Daten aus der Datenbank beziehungsweise konventionellen Dateien wird transparent vom System abgewickelt, wobei alle Datenelemente durch einfaches Benennen des Elementnamens ohne Definition des Satzaufbaus im Programm selektiert werden können. Die integrierte Datenverwaltung ist dabei in der Lage, auch auf Daten zuzugreifen, die nicht lokal auf demselben Rechner gespeichert sind, sondern über eine Kommunikationsprozedur aus einem anderen Rechnerknoten des Daten-Netzwerks abgerufen werden müssen. Damit ergibt sich für die Erstellung des Anwenderprogrammes eine völlige Datenunabhängigkeit, das heißt Datenelemente können aus einer physischen Datei beziehungsweise - einem Speicherort an eine andere Stelle transferiert werden, ohne daß dies eine Auswirkung auf das Anwendungsquellprogramm hätte.

- In einem Anwendungsentwicklungssystem der vierten Generation können die dem einzelnen Benutzer zur Verfügung stehenden Systemfunktionen individuell konfiguriert werden:

- Auswahl der Systemkommandos, um zum Beispiel für einzelne Benutzer das Abspeichern neuer Programme beziehungsweise das Verändern von Programmen zu verbieten.

- Definition des zur Verfügung(...) henden Sprachumfangs, so- daß zum Beispiel komplexe Anweisungen oder Datenänderungsanweisungen für einzelne Benutzer gesperrt werden können.

- Definition der dem einzelnen Benutzer zur Verfügung stehenden Datenumgebung, das heißt, jedem Benutzer können selektiv aus dem verfügbaren Gesamtbestand nur einzelne Datenelemente beziehungsweise diese nur unter bestimmten Bedingungen (Wertinhalten) zur. Bearbeitung zur Verfügung gestellt werden. Das integrierte Schutzsystem stellt sicher, daß ein Benutzer nicht die ihm gesteckten Grenzen überschreitet.

- Neben der Erstellung komplexen Anwendungssysteme durch die DV-Abteilung sollte ein Anwendungsentwicklungssystem der vierten Generation in der Lage sein, auch der Fachabteilung die direkte Arbeit mit dem Rechner zu ermöglichen. Dazu ist es nötig, daß das System dem Endbenutzer eine menügeführte nichtprozedurale Kommunikationsoberfläche bietet, die für ihn verdeckt, daß er durch seine Spezifikationen effektiv ein Programm erstellt. Die Technik der Menüführung hat sich in der Kommunikation mit dem Endbenutzer als vorteilhaft erwiesen, so daß der Rechner jederzeit präsentiert, welche Funktionen zur Verfügung stehen und diese vom User im wesentlichen -nur durch Ankreuzen ausgewählt werden können.