Ergebnisse des Software-Engineerings gehen in neue Techniken ein:

4GL und Case verschmelzen zu einem Entwicklungsteam

09.06.1989

Die Anforderungen an die Datenverarbeitung werden immer komplexer. Immer weniger Entwickler setzen bei der Lösung dieses Problems auf die Verbindung von herkömmlichen Methoden und Standards. Statt dessen bewähren sich immer mehr die Techniken der vierten Generation.

Anfänglichen Unkenrufen zum Trotz wurde mit dieser neuen Technik die Produktivität in der Anwendungsentwicklung deutlich erhöht. Und auch die Kritik an der mangelnden Performance in der produktiven Umgebung läßt sich nicht mehr halten. Durch den Einsatz von Optimierungsmechanismen während der Compilierung werden durchaus Verarbeitungsgeschwindigkeiten erzielt, wie sie sonst nur von

Cobol bekannt sind.

4GLs erweisen sich häufig als DV-Inseln

Dennoch: Die Gefahr, sich mit einer neuen Sprache auch eine neue Insel innerhalb der DV eines Unternehmens aufzubauen, ist groß. Eine Reihe von 4GLs haben den entscheidenden nächsten Schritt hin zu einer integrierten Entwicklungsumgebung noch nicht getan. Doch nur solche Produkte, die mittlerweile diese Anforderungen erfüllen, konnten sich einen festen Platz als Entwicklungswerkzeug erobern. Neue Anforderungen aus der jüngeren Vergangenheit haben noch einmal für einen Schub in diese Richtung gesorgt. Als Stichworte seien hier nur genannt: Die Unterstützung verschiedener Hardware- und DB/DC-Systeme und im Hinblick auf den Gemeinsamen Markt ab 1992 auch die von verschiedenen Sprachen sei hier ebenso genannt wie die Integration von SQL und die Entwicklung in Richtung verteilter Datenbanken.

Integration heißt das Schlagwort der Zukunft

All diese Punkte haben direkten oder indirekten Einfluß auf die Anwendungsentwicklung. Die daraus resultierende Forderung nach einer Entwicklungsumgebung, die alle Bereiche der modernen Datenverarbeitung abdeckt, kann nur unter Verwendung neuer Technologie erfüllt werden. Belegen wir eine solche Umgebung mit dem Kürzel "4 GT" für Technologie der vierten Generation, und bezeichnen damit ein System, das über eine Sprache der vierten Generation (4GL) hinausgehend eine integrierte und neue technologische Fortschritte einbeziehende Entwicklungsumgebung darstellt.

Was verstehen wir nun im einzelnen unter solch einer Technologie der vierten Generation? Zuerst einmal ist also in negativer Abgrenzung zu sagen, daß eine 4GT eben nicht nur eine Sprache der vierten Generation, also 4GL ist, sondern eine komplette Anwendungsentwicklungsumgebung, die unabhängig ist von der späteren Ausführungsumgebung. Die Sprache der vierten Generation kann nur ein Teil dieses Ganzen sein.. Auch der Sicht des Benutzers ergeben sich vier Hauptmerkmale für die Technik der vierten Generation:

- Anpassungsfähigkeit an die individuelle Organisation etwa über ein Common User Interface.

- Erweiterungsfähigkeit im Hinblick auf neue Technologien, wie Case und Expertensysteme.

- Bereitstellung systemunabhängiger Schnittstellen für eine große Zahl von Funktionen, über ein Common Programming Interface beispielsweise, das den Zugriff auf verschiedene Datenhaltungssysteme ermöglicht.

- Integration anerkannter Industriestandards für Rechnerarchitekturen, Betriebssysteme und Kommunikationsprotokolle .

Hieraus ergeben sich weitere wichtige Kriterien, die als Leistungsmerkmale einer Technologie der vierten Generation gelten können.

Integration: Zum einen bedeutet sie, daß sich die Anwendungsentwicklungsumgebung in die bestehende DV-Organisation einpassen muß. Das System darf kein Fremdkörper sein, sondern sich als Teil eines übergeordneten Ganzen darstellen. Das wird natürlich am besten vor dem Hintergrund einer Softwarearchitektur erreicht, die ihrerseits die verschiedenen Funktionen über klare Schnittstellen und Protokolle integriert. Andererseits muß das System offen und flexibel genug sein, um auf neue Anforderungen reagieren zu können. Neue Lösungswege und neue Technologien müssen also integriert werden können. Um nur einige Integrationsaspekte zu nennen:

- Einbeziehung eines Data Dictionary.

- Verlängerung des 4GT-Ansatzes in die Phasen Projektdefinition und Anforderungsanalyse; also direkte Weiterverarbeitung von Ergebnissen aus dem Case-Ansatz.

- Integration der PC- und Mainframe-Welt.

- Gleichzeitige Bearbeitung von Text und Daten innerhalb einer Anwendung.

- Unterstützung von Grafik-Systemen.

- Berücksichtigung eines Sicherheitskonzepts sowohl für die Entwicklungsumgebung als auch für die Anwendungen.

Die Entwicklung geschieht unabhängig vom Zielsystem

Portabilität: Wirtschaftliche und DV-technische Gründe haben in vielen Unternehmen dazu geführt, unterschiedliche Hardware- und Betriebssystemumgebungen einzuführen. Der Vorteil, auf dieser Seite die bestmöglichen Lösungen einführen zu können, kann jedoch nicht genutzt werden, wenn die Anwendungen nur in einer Untermenge der im Unternehmen eingesetzten Umgebungen ablaufen können. Mit einem 4GT-System müssen also Anwendungen erstellt werden können, die unabhängig von der Zielumgebung und unabhängig von der Entwicklungsumgebung einzusetzen sind. Das ist jedoch nur möglich, wenn die Anwendungslogik konsequent von systemabhängigen Informationen getrennt ist.

Beispiel: Eine Anwendung wurde unter IMS/DC für den Zugriff auf IMS/DB entwickelt und kann nun ohne weiteren Änderungsaufwand auf einen DEC-Rechner portiert werden, wo sie unter VMS mit Zugriff auf RDB läuft. Auf die Anwendung selbst darf die Portierung keine Auswirkung haben.

Portabilität verlangt ein hohes Sprachniveau

Für solch eine Portabilität muß natürlich die Sprache entsprechend ausgerüstet sein, das heißt, die Sprachkonstrukte bewegen sich auf einem wesentlich höheren Niveau. Der Anwendungsentwickler spezifiziert die Anforderung, und das System liefert ihm das Ergebnis. Die Intelligenz für den Zugriff auf verschiedene Datenhaltungssysteme oder die Zusammenarbeit mit verschiedenen TP-Monitoren beinhalten dann aktive Schnittstellen, die wiederum mit der Anwendung "reden". Aktive Schnittstellen dieser Art gewährleisten somit eine beliebige Austauschbarkeit der Umgebung. Der Anwender zieht daraus den Nutzen der Entscheidungsfreiheit zwischen verschiedenen Anbietern von Hard- und Software. (Siehe Abbildung).

Und schließlich bedeutet Portabilität nicht nur Austauschbarkeit der Umgebung, sondern auch Austauschbarkeit der Verarbeitungsart. So darf es selbstverständlich keine Rolle bei der Anwendungsentwicklung spielen, ob eine Anwendung im Batch-Betrieb oder online ausgeführt wird. Das Ausgabemedium kann also ohne vorherigen Eingriff in die Anwendung geändert werden.

Interaktive Entwicklungsumgebung: Dahinter verbirgt sich der Anspruch, daß die komplette Anwendungsentwicklung online aus der Systemumgebung heraus ausgeführt werden kann. Der Programmierer darf nicht gezwungen werden, irgendwelche Arbeiten außerhalb dieser Umgebung vorzunehmen. Die Umgebung muß also alle notwendigen Werkzeuge zur Anwendungsentwicklung zur Verfügung stellen. Wird also unter CICS entwickelt und währenddessen die Beschreibung einer Tabelle aus dem DB2-Katalog benötigt, sollte der Zugriff aus der Entwicklungsumgebung direkt erfolgen können.

Die Kriterien für eine 4GL sind oft genug angeführt worden. Es seien daher im Zusammenhang mit der interaktiven Entwicklungsumgebung einige darüber hinausgehende Aspekte für eine Technologie der vierten Generation angeführt.

Vielseitige Editoren heben den Leistungsgrad

Produktivitätsgewinne lassen sich nur durch "mitdenkende", "intelligente" Editoren realisieren. Merkmal eines solchen Editors ist es, daß er "weiß", wofür er eingesetzt wird. Ein Map-Editor, mit dem man nur malen kann, reicht nicht aus. Die Einbeziehung der Informationen aus dem Data Dictionary in den Gestaltungsprozeß ist ebenso von Bedeutung wie die Teilung des Bildschirms, Windowing, Field-, Sensitive-Helproutines oder Field-Validation-Rules. Die Anforderungen an einen Programm-Editor sind wieder ganz anders. So gehören dazu etwa leistungsfähige Editierkommandos oder die Strukturierung des eingegebenen Codes.

Die VHLL-Sprache automatisiert Funktionen

Der Vorteil einer 4GT liegt im Einsatz einer Spezifikationssprache, einer sogenannten Very High Level Language (VHLL). Diese Sprache ist bei der Beschreibung der Anwendungslogik weit weniger prozedural als eine der dritten Generation. Viele Funktionen, die beim Einsatz von 3GLs im Detail codiert werden müssen, werden durch den Einsatz der As HLL automatisch durchgeführt. Die VHLL bedeutet keinen weiteren Generierungsaufwand. Sie kann unmittelbar ausgeführt werden. Testen und Entwickeln verschmelzen so zu einer Einheit.

Deutliche Vorteile bei der Anwendungsentwicklung ergeben sich durch die Nutzung eines Data Dictionaries. Informationen werden dort zentral abgelegt und stehen allen Komponenten des Entwicklungssytems zur Verfügung. Auf der anderen Seite sollte das Data Dictionary in der Lage sein, alle bei dem Entwicklungsprozeß entstehenden Daten automatisch zu pflegen und so nebenbei die Dokumentation zu erstellen. Außerdem sollten diese Informationen sofort für Cross-Reference-Abfragen bereitstehen.

Case ersetzt nicht, sondern ergänzt die 4GLs

Die bisherigen Ausführungen zur Technik der vierten Generation bezogen sich auf die Phasen Design und Realisierung. Nun ist neuerdings in der Case-Diskussion die Frage zu hören: "Ersetzt Case 4GL?" Wie oben ausgeführt, ist die integrierende Kraft ein entscheidendes Kriterium für 4GT. Auf Case angewandt, kann das nur bedeuten, daß der 4GT-Ansatz auf die frühen Phasen Projektdefinition und Anforderungsanalyse ausgedehnt wird. Die Antwort auf die gegenwärtige Diskussion kann daher nur lauten: Case-Entwicklungsumgebung der vierten Generation.

Es nützt niemanden, wenn die Ergebnisse aus dem Case-Ansatz nicht bei der Realisierung weiterverwendet werden. Am Ende der Anforderungsanalyse erarbeitete Spezifikationskonstrukte müssen Sprachelemente der 4GT selbst sein. Diese VHLL-Sprachelemente wiederum können dann unmittelbar ausgeführt werden.

Die Aufgabenbereiche werden sich ausweiten

Die Ausführungen zur Case-Entwicklungsumgebung der vierten Generation machen klar, was 4GT bedeutet. Nicht Festschreiben eines Status quo, sondern flexible Antwort auf neue Fragen. Insofern werden Anwendungsentwicklungssysteme noch längst nicht am Ende ihrer Möglichkeiten sein.

Neue Anforderungen warten schon auf ihre Einbeziehung. So macht die Weiterentwicklung der Datenbanktechnologie auch eine Erweiterung des Sprachumfangs erforderlich. Für 4GLs im Sinne von isoliert eingesetzten Sprachen mag das gelten - keinesfalls jedoch für Technologien der vierten Generation.

Zudem kann der Einsatz der 4GT nicht auf die Anwendungsentwicklung beschränkt bleiben. Warum sollte sich nicht auch der Systemprogrammierer Arbeitsvorbereiter oder Operator dieser Technologie bedienen und Anwendungen für seinen Arbeitsbereich entwickeln? Insofern bedeutet die Technik der vierten Generation nicht allein die Möglichkeit, gegenwärtige Probleme zu lösen, sondern die Fähigkeit, Lösungen für zukünftige Probleme einbinden zu können.

*André Bartels ist Product Marketing Consultant bei der Software AG in Darmstadt.