Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

25.03.1983 - 

Serie

DB / DC /DD

In thematisch zusammenhängenden Beiträgen beschäftigt sich Michael Bauer mit Fragen des Ob und Wie einer Datenbank-Implementierung, der Auswahl eines geeigneten TP-Monitors und der Ausbildungserfordernisse je nach Benutzerebene. Außerdem stehen Themen wie Data Dictionary, Dritte Normalform, neue Hochsprachen und Datensicherheit im Mittelpunkt seiner Erörterungen.

*Michael Bauer, Leiter des Bereichs DV-Beratung bei der GES-Gesellschaft für elektronische Systemforschung mbH in Allensbach, ist seit vielen Jahren mit der Anwendungspraxis von Datenbank- und Online-Systemen vertraut. Es ist Autor zahlreicher Fachbeiträge zur DB/DC-Thematik.

Kapitel VIII (Teil 5)

Werkzeuge für schnelleren DB/DC-Einsatz

Versehentlich sind zwei Teile dieses Kapitels vertauscht worden. Hier nun als Schluß des Kapitels VIII der ursprüngliche Teil 4.

Die Eignung von Datenbank-Abfragesprachen erstreckt sich nur auf eine schnellere und flexiblere Gewinnung von Informationen aus einer Datenbank. Selbst wenn solche Sprachen weitergehende Datenmanipulationsfunktionen besitzen, sollte man damit keine Einspeicherung, Änderung oder Löschung von Daten vornehmen. Denn um die Konsistenz der Daten zu gewährleisten, müssen alle Änderungen grundsätzlich auf ihre Korrektheit geprüft sein. Diese Prüfbedingungen aber müssen noch immer programmiert werden. Zwar wäre es möglich, daß ein DBMS aufgrund externer Beschreibung auch die Prüfung der einzuspeichernden Daten selbständig vornimmt. Doch solche Funktionen sind in Praxis erst in Ansätzen zu finden. Also bleibt für Verarbeitungsaufgaben weiterhin nur eine individuelle Programmierung übrig.

Software der 4. Generation

Um die individuelle Programmierung zu vereinfachen, sind in den letzten Jahren neue Software-Tools entstanden die sich rasant verbreitet haben. Sie basieren zumeist auf DB-Abfragesprachen, die um Funktionen des Terminal-Handlings, der Verarbeitung, der Ein-/und Ausgabe und der Ablaufsteuerung erweitert worden waren.

So unterschiedlich wie ihre Herkunft und Entwicklung, so unterschiedlich sind auch die Bezeichnungen dafür: Hochsprachen, "forth generation languages", Dialogsprachen, VHLL (very high lavel languages), "Instant-Software" oder schlicht Anwendungsgeneratoren.

Zu den in Deutschland schon beachtlich verbreiteten Vertretern dieser Gattung gehören zum Beispiel Natural (Software AG), ADF (IBM), Mantis (Cincom),ADS/Online (Cullinane), DMS (IBM). Daneben gibt es noch weitere Neuentwicklungen wie zum Beispiel SESAM-Drive und Produkte aus den USA, die zum Teil noch gar nicht oder erst neuerdings bei uns angeboten werden wie zum Beispiel Ideal, Mark V, Nomad, Ramis II oder UFO. Eher in die Kategorie der "Individuellen Datenverarbeitung" einzuordnen sind Produkte wie APL, Datatrieve oder Mapper.

Ein Schritt vorwärts in der Programmierproduktivität

So unterschiedlich die Beziehung und das Leistungsspektrum dieser Produkte - nennen wir sie hier einfach "Anwendungsgeneratoren"

- auch sein mag, eins haben sie gemeinsam: Sie stellen einen neuen, großen Schritt vorwärts in der Verbesserung der Programmierproduktivität dar. Aufbauend auf den Maschinensprachen haben wir in den letzten 20 Jahren die Programmiertechnologie immer wie . .verbessert und damit die Produktivität gesteigert (siehe dazu Abbildung 3).

Mit strukturierter Programmierung und interaktiven Werkzeugen haben wir das bisherige Optimum erreicht. Erst ein ganz anderer Ansatz der Programmentwicklung, wie er sich bei den Anwendungsgeneratoren abzeichnet, ergibt beachtliche neue Möglichkeiten.

Der 1:10-Effekt

Teilweise unglaublich erscheint in den Angaben der Anbieter der Unterschied zwischen herkömmlicher Programmierung und den neuen Sprachen. Der Codieraufwand (Anzahl Zeilen) wird oft mit 1:10 angegeben, was sicher bei vielen ein ungläubiges Kopfschütteln hervorruft. Doch hierfür gibt es genügend Beispiele.

So haben wir von der GES beispielsweise ein Vergleichsprogramm mit allen gängigen TP-Monitoren realisiert. Es handelt sich dabei um eine Anzeige- und Update-Transaktion, wobei Wert auf die richtige Handhabung der TP-spezifischen Funktionen, nicht aber auf eine umfangreiche Problemlogik gelegt wurde. In herkömmlicher Cobol-Programmierung divergierte der Codieraufwand zwischen den einzelnen TP-Monitoren nur um etwa 10 Prozent. So wurden für die CICS-Lösung rund 200 Zeilen Cobol- und 35 Zeilen BMS-Anweisungen benötigt.

Die gleiche Lösung in Natural dagegen umfaßte nur eine interaktiv "gemalte" Bildschirmmaske und 19 Zeilen Anweisungen. Der Großteil der entfallenen Statements war für die Ein-/Ausgabe auf Terminals und Dateien mit allen dazugehörigen Funktionen erforderlich gewesen. Was zurückblieb, war im wesentlichen die Problemlogik, die in mächtigen Statements formulierbar sind.

Durch die automatischen Funktionen der Anwendungsgeneratoren - speziell für Ein-/Ausgabe, Datenkonvertierung und Programmsteuerung - kann sehr viel Geldaufwand eingespart werden. Je einfacher die Aufgabe, desto drastischer der Effekt. Bei komplexer Verarbeitung aber muß auch bei diesen Tools die Problembehandlung formuliert werden; dann ist das Verhältnis nicht mehr so drastisch. Aber ist es nicht noch immer eine interessante Verbesserung, wenn der Codieraufwand zwar nicht im Verhältnis 1: 10, sondern "nur" im Verhältnis 1:5 reduziert würde?

Integriertes Softwareentwicklungssystem

Den Codieraufwand zu verringern, ist schon eine recht angenehme Angelegenheit. Doch besteht Programmentwicklung nur zum Teil aus Codierung; ein Großteil des Aufwandes geht auf das Konto des Testens. Gerade in diesem Bereich aber haben die neuen Anwendungsgeneratoren beachtliche Verbesserungen bringen können, weil sie dem Programmierer eine integrierte, voll interaktive Softwareentwicklungsbehebung bieten. (Anmerkung: Die nachfolgende Beschreibung gilt nicht pauschal für alle anfangs genannten Produkte - sie sind zu unterschiedlich in ihrem Leistungsangebot - , sondern beschreibt einen "idealisierten" Anwendungsgenerator.) Wird fortgesetzt