Marktschreierischer Etikettenschwindel zum Schaden der 4GL

Vielen Anwendern wird schwindlig vom Begriffskarussell der Software-Entwicklung

19.01.1990

In der DV tauchen immer neue Begriffe auf, die schnell zu Modeworten werden. Ihre Verwendung ist - nicht zuletzt aus Marketinggründen - beliebig, da es an verbindlichen

Definitionen fehlt. Deshalb sollen nachfolgend einige Begriffe aus dem Umfeld der Anwendungsentwicklung praktikabel und handfest definiert werden.

- CASE (Computer Aided Software Engineering)

Zusammenfassender Begriff für die Software-Unterstützung im Rahmen der Entwicklung von Anwendungssystemen. Die Unterstützung sollte die Phasen Analyse, Design und Realisierung sowie die Wartung einschließen. Die deutsche Bezeichnung ist: rechnergestützte Software-Entwicklung.

- CASE-Tool

Software-Produkt, das alle Werkzeugkomponenten beinhaltet, um den gesamten Anwendungsentwicklungsprozeß zu unterstützen (im Gegensatz zu einer Vielzahl isolierter Tools).

Ein CASE-Tool sollte vier Funktionskomponenten integrieren:

- Entwurfsunterstützung

- Dokumentationsverwaltung

- Arbeitsleitsystem

- Software-Generierung und -Test

Damit benötigt ein CASE-Tool neben Software-Komponenten auf dem PC oder Zentralrechner ein Ablagesystem für die erstellten Objekte und Arbeitspläne, das als Entwicklungs-Datenbank, Enzyklopädie, Data Dictionary oder Repository bezeichnet wird. Als Beispiele für weitgehend umfassende CASE-Tools können IEW und lEF genannt werden.

Da nicht alle CASE-Tools den gesamten Entwicklungsprozeß unterstützen, unterscheidet man zwischen "Upper CASE" und "Lower CASE" (siehe Abbildung).

- Upper-CASE

Rechnerunterstützung für den Entwurf des Fachkonzeptes (Analyse-Phase) und auch Teile des DV-Konzeptes (Design-Phase) wie Datenbankentwurf.

Tools für Upper-CASE sind Entwurfswerkzeuge wie Automate +, ER-Modeller oder Predict-CASE.

- Lower CASE

Rechnerunterstützung für Programmerstellung und -test (Realisierungs-Phase) sowie für Teile des DV-Konzeptes (Design-Phase). Letzteres umfaßt auf jeden Fall den Entwurf der Benutzeroberfläche. Das sind die Masken, der Dialogablauf und die Benutzerführung. Durch Tools kann die Entwicklung der Benutzeroberfläche im Prototyping-Verfahren - also Entwurf, Ausprobieren, Korrigieren und so weiter - rentabel durchgeführt werden.

Tools für Lower-CASE sind sowohl Sprachen der vierten Generation als auch Programmgeneratoren.

Sprachen der vierten Generation (4GL)

Unter diesem Begriff wurden in den letzten Jahren alle Produkte subsummiert, die in irgendeiner Form besser als Sprachen der dritten Generation - also Cobol, PL/1 oder Fortran - sind.

Man kann diese Produkte in zwei grundlegende Kategorien einteilen:

1. Auswertungssysteme für dispositive Aufgaben und individuelle Datenverarbeitung. Hierunter fallen Abfragesprachen, Reportgeneratoren und umfassende Endbenutzersysteme. Zu den letzten gehören AS, Focus, Nomad, SAS, System W und viele PC-Systeme.

2. Werkzeuge für die Entwicklung von DV-Systemen durch Programmierer. Bekannte Vertreter dieser Gattung sind Natural, Mantis, CSP, Ideal, Drive, Sapiens und Powerhouse, aber auch an Datenbanksysteme gekoppelte Sprachen wie SQL-Forms, Ingres-Tools; Informix-4GL oder dBase IV.

Hieraus ergeben sich andere Funktionen und Eigenschaften für jede der beiden Produktkategorien, wie sie in Abbildung 1 dargestellt sind.

4GL für die Anwendungsentwicklung

Hochsprache mit mächtigen und weitgehend nicht-prozeduralen Sprachelementen. DB- und DC-Anweisungen sind integrierter Bestandteil der Sprache. Möglichst viele Komponenten - also Datendefinitionen, Editiermasken, Prüfregeln, Fehlertexte, Hilfetexte - sollten außerhalb des Programmes einmalig definierbar sein. Damit wird ein Directory oder Data Dictionary erforderlich.

Zur interaktiven Entwicklung verfügt eine 4GL über eine Vielzahl integrierter Tools wie Editoren, Screen-Painter, Bibliotheksverwaltung, Testhilfen und andere, so daß man von einem vollständigen Anwendungsentwicklungssystem sprechen muß.

Die Ausführung der Programme erfolgt ohne Kompilierung weitgehend interpretativ unter Kontrolle eines Runtime-Systems der 4GL. Dadurch sind Änderungen im Rahmen von Prototyping oder für Programmtests sofort und interaktiv möglich.

Programmgenerator

Ein Programmgenerator kann im Prinzip die gleiche sprachliche Mächtigkeit und interaktive Entwicklungskomponente enthalten wie eine 4GL. Im Unterschied zu einer 4GL werden aber Anweisungen in einer Programmiersprache erzeugt, so daß Umwandlung, Vorbereitung zur Ausführung und Programmtest nach herkömmlicher Manier erfolgen. Für Dialoganwendungen müssen zusätzlich die Maskendefinitionen für den TP-Monitor generiert und -umgewandelt und für Programme und Masken entsprechende Eintragungen in den Tabellen des TP-Monitors vorgenommen werden. Programmänderungen erfordern damit einen neuen Generierungslauf.

Bekannte Vertreter von Programmgeneratoren sind Delta, Telon und Mark V.

Anwendungsentwicklungssystem

Software-Produkt, das alle Werkzeugkomponenten für die Programmentwicklung unter einer einheitlichen Benutzeroberfläche umfaßt. Hierzu können gehören: Editoren, Screen-Painter, Entscheidungstabellengeneratoren, Bibliotheksverwaltung, Dokumentations-Werkzeug, Testhilfen, Strukturgeneratoren, Data Dictionaries und andere. Die Benutzeroberfläche muß der Zielgruppe angepaßt sein. Sowohl 4GL für die Anwendungsentwicklung als auch Programmgeneratoren fallen unter diese Kategorie.

Endbenutzersystem

Software-Produkt mit Funktionen primär für Informationsauswertung und individuelle Datenverarbeitung. Hierzu gehören: Abfragefunktion, Reportgenerator, grafische Aufbereitung, statistische Funktionen, Planungsmodell und Prozedursprache. Zusätzliche Funktionen können sein: Dokumentenerstellung, Maskenerstellung und eigene Datenverwaltung.

Entsprechend der Zielgruppe muß die Benutzeroberfläche stark führend gestaltet sein (Menüs, Prompting). Endbenutzersysteme gehören zu den Sprachen der vierten Generation.

Zusammengestellt von Michael Bauer, Geschäftsführer der Informatik Training in Radolfzell