Neue Software-technologische Unterstützungssysteme in Sicht!

06.11.1981

Im Zuge der Ausbreitung der Online-Programmierung beziehungsweise der interaktiven Systementwicklung wachst eine neue Generation von Software-technologischen Unterstützungssystemen heran, durch die die Produktivität der Anwendungsentwicklung und die Qualität ihrer Ergebnisse wahrscheinlich erheblich gesteigert werden kann. Diese Systeme haben unter anderem folgende wichtige Merkmale:

- Basis ist ein erprobtes Projektphasenschema, das alle Entwicklungs-, Betriebs- und Wartungsphasen des System-Lebenszyklus umfaßt.

- Das Phasenschema wird meist ergänzt und konkretisiert durch ein detailliertes Projektmodell (mit systematisch abgegrenzten und präzise definierten Aktivitäten und Teilprodukten je Projektphase), welches unter anderem als "Steuer-Leiste" zur Projektführung dient.

- Zur Unterstützung werden aufeinander abgestimmte Software-technologische Werkzeuge angeboten. Der "Werkzeugkasten" enthält sowohl generell einsetzbare als auch phasenspezifische Tools, die mit ausgewählten Strukturierungsprinzipien und -methoden (funktionsorientiert und datenstrukturorientiert) vertraglich sind. Beispiele für solche Werkzeuge sind verschiedene Programmiersprachen, unter Umständen eine eigene benutzerfreundliche Anwendungsdefinitionssprache, Generatoren, Post- und Pre-Prozessoren, Syntax-Checkers und spezielle Testhilfen sowie Werkzeuge zur automatischen

Berechtigungsprüfung, zur, Verifizierung/ Validierung von Daten und zur automatischen Bildschirmführung.

- Im Hintergrund steht eine Datenbank, häufig auch zusätzlich ein Data-Dictionary-System und eine Methoden-(Werkzeug-)bank, durch die die Auswahl der jeweils benötigten Komponenten unterstützt und ihre Integration gesteuert wird.

- Durch ein ausgereiftes Bibliothekskonzept, das auf mehreren Ebenen unterschiedliche Zwecke und Adressaten berücksichtigt, werden alle Zwischen- und Endprodukte der Systementwicklung für die jeweils Verantwortlichen jederzeit zugänglich gemacht.

- Einige Systeme bieten darüber hinaus interaktive Produktionsüberwachungs- und

-steuerungsinstrumente, durch die besonders die Aktivitäten des Entwicklungs-Management unterstützt werden. Andere Systeme benutzen autonome Kleinrechner als Träger, wodurch die Anwendungsentwicklung einen hohen Grad von Unabhängigkeit und Flexibilität gewinnt. Die neuen software-technologischen Unterstützungssysteme, die etwa seit einem Jahr in ersten, häufig noch nicht voll ausgebauten Versionen von Software-Häusern angeboten werden, enthalten damit viele Komponenten, die auch schon in den bisherigen Software-Unterstützungssystemen Bestandteil waren. Hier zum Vergleich die neutralisierte Beschreibung eines solchen schon seit einiger Zeit verfügbaren Systems:

"XYZ ist ein interaktives System, das den Programmierer in allen Phasen der Software-Entwicklung und -Wartung unterstützt. Eine spezielle Sprache in Verbindung mit einem entsprechenden Generator schafft die Voraussetzung für top-down-Entwurf und -Realisierung. Die "neuen" methodischen Erkenntnisse (Strukturierte Programmierung funktionsorientiert oder nach Jackson und so weiter) werden berücksichtigt, die Anwendung dieser Erkenntnisse durch verschiedene interaktive Generatoren, Pre- und Post-Prozessoren erleichtert. Gleichzeitig wird für eine automatische und Schritt haltende Dokumentation gesorgt.

Ein Programm-Bibliotheksverwaltungssystem verwaltet alle Informationen. Datensicherung und Zugriffsberechtigungsprüfung erfolgen automatisch. Alle Änderungen an Programmen werden automatisch kontrolliert. Das System enthält verschiedene interaktive Hilfen für das Projekt-Management, für den Syntax-Check und die Testdatenerstellung."

Global betrachtet gibt es wohl vier wesentliche Unterschiede zwischen den neuen und den bisher verfügbaren Unterstützungssystemen, die beachtet werden müssen:

- die Unterstützungswirkungen der neuen Systeme sind umfassender, das heißt sie reichen tief in das Vorfeld der Systementwicklung hinein. Unterstützt wird der Prozeß der Definition von Anforderungen (Requirements) an das zu entwickelnde Software-System, zumindest der systemtechnischen Anforderungen, die unmittelbar zum Entwurf der Programme notwendig sind. Man spricht in diesem Zusammenhang mit Recht von Software-Engineering-Environment-Systemen (SEES).

- Der gesamte Prozeß der Systementwicklung, des Systemeinsatzes und der Systemwartung wird bis hinunter auf die Ebene der Teilaktivitäten und

Zwischenprodukte formalisiert und standardisiert. Auf diese Weise wird die Basis für eine erheblich präzisere Steuerung und Kontrolle (Management) dieses Prozesses geschaffen.

- Die Gesamtzahl der als Bestandteile der "neuen" Systeme verfügbaren Softwaretechnologischen Werkzeuge ist größer als die Anzahl der Werkzeuge in den "alten" Systemen. Höher ist auch der Integrationsgrad beziehungsweise die Kompatibilität zwischen den Werkzeugen, was zu verbesserter Wirksamkeit des Gesamtsystems führen dürfte.

- Zumindest einige der neuen Systeme enthalten in ihrem Zentrum ein Data-Dictionary-System (DDS), durch das im Prinzip alle Arten der Behandlung von Daten über die in Entwicklung, Einsatz und Wartung befindlichen Anwendungssysteme auf eine einheitliche Basis gestellt und umfassend unterstützt werden.

Data-Dictionary-Systeme

(DDS) können selbstverständlich auch unabhängig von umfassenden Softwaretechnologischen Unterstützungssystemen eingesetzt werden. Die Konsequenzen ihres Einsatzes sind gravierend. Mit ihrer Hilfe können Benutzer-orientiert Meta-Daten, das heißt Daten über Daten (bezogen auf unterschiedliche Objekte - Ereignisse, Prozesse, Programme, Benutzer, Kommunikationselemente und so weiter), definiert und verwaltet werden. Sie stellen "interne Informationssysteme" für die Softwareentwicklung dar. Durch sie werden gleichzeitig die Funktionen von zentralen Dokumentationssystemen realisiert. DDS üben zwangsläufig Standardisierungs- und Integrationswirkungen auf alle von ihnen unterstützten Anwendungssysteme aus. Mit ihrer Hilfe wird eine Trennung der Anwendungsprogramme von den physischen Datenstrukturen vorgenommen. Die unter DDS laufenden Anwendungsprogramme werden- sowohl von der Hardware als auch vom Betriebssystem und von der Speicherung unabhängig. Ihre Bedeutung für alle Phasen des Software-Lebenszyklus ist viel größer, als auf den ersten Blick erkennbar wird: Alle Aktionen an Daten beziehungsweise mit Daten werden dann über DDS laufen, werden von DDS registriert und gesteuert werden. Jede Auskunft über jedes in Entwicklung, Einsatz oder Wartung befindliche System wird das "Nadelöhr" DDS zu passieren haben. Hieraus folgt, daß ein DDS zukünftig nicht nur für Software-Entwickler, sondern auch für Datenbank-Designer, Datenbank-Administratoren, Datenschutzbeauftrage, Fachabteilungen bis hin zu Endbenutzern ein zentrale Anlaufstelle und ein wichtiges Hilfsmittel sein wird. Für die Software-Entwicklung Voraussetzung, um bestimmte Phasen des Entwicklungs-, von allem des Entwurfprozesses schrittweise automatisieren zu können - ein "altes" Ziel der Software-

Technologen!

Unvermeidliches

Sowohl die umfassende Software-technologischen Unterstützungssysteme als auch DDS (als quasi "Alone-standing-Systems") werden nur dann erfolgreich sein können, wenn bestimmte organisatorische Voraussetzungen geschaffen werden. Auswahl, Implementierung und Einsatz dieser Hilfsmittel müssen sorgfältig geplant und können nur

schrittweise realisiert werden. Noch gibt es keine gesicherten Antworten auf die Frage, was mit den existierenden nach althergebrachten Prozeduren erstellten Anwendungssystemen geschehen soll, deren Umstellung auf beziehungsweise in die neue Umgebung sich nicht lohnt. Es muß damit gerechnet werden, daß lange Einführungs- und Konsolidierungszeiträume auftreten (unter Umständen Jahre), bis der erwartete Nutzen eintritt.

Erwartungen gibt es vor allem bei den professionellen Software-Produzenten, aber gleichfalls bei denjenigen DV-Anwendern, die auch in Zukunft auf die eigene, den

individuellen Bedürfnissen (hoffentlich!) optimal gerecht werdende Anwedungsentwicklung nicht verzichten wollen. Für diesen "Benutzer"-Kreis werden die neuen Systeme einen wichtgen Beitrag liefern, um aus der "Software-Krise" herauszukommen.

*Das Bifoa widmet sich der Problematik neuer Software-technologischer Unterstützungssystem und den bisherigen Anwender-Erfahrungen mit Data-Dictionary-Systemen im Rahmen von zwei Veranstaltungen im November 1981.