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.

02.11.1984 - 

Moderne Sprachen zunehmend akzeptiert - jedoch kein "Stein der Weisen":

Fourth Generation Software ignoriert

DÜSSELDORF (mer) - Wachsende Aufmerksamkeit widmen die DV-Anwender offensichtlich den Sprachen der vierten Generation. Obwohl sich die Verantwortlichen in den Unternehmen zunehmend mit dem Gedanken anfreunden, effizientere Sprachen und Systeme einzusetzen, haben jedoch nur wenige eine klare Vorstellung von den "Allheilmitteln der Softwarekrise". Ein zentrales Thema für rund 300 Teilnehmer auf der diesjährigen Benutzertagung "CADRE 84" der Applied Data Research GmbH in Düsseldorf, Edward Kanauros. Berater der ADR in Großbritannien warnte in seinem Referat davor, die "Fourth Generation Languages" generell als die Zauberlösung zur Überwindung des Anwendungsstatus zu betrachten.

Obgleich es keine allgemein akzeptierte Definition der Technologie der vierten Generation seitens der Industrie gibt, sei die Auffassung von James Martin ein guter Ausgangspunkt, meinte Kanauros. Er hat zwei Charakteristika aufgestellt, um ein Softwareprodukt als der vierten Generation zugehörig zu klassifizieren:

- Die Leistungssteigerung im Vergleich zu herkömmlichen Methoden im Verhältnis 10 zu 1.

- Die "2-Tages-Regel", die besagt, daß ein intelligenter Endanwender in der Lage sein sollte, mit dem Produkt nach nur zwei Tagen Training selbständig seine Aufgabe durchführen zu können.

Es liege an den verschiedenen Softwareanbietern, zu beweisen, daß ihre Produkte den Kriterien entsprechen. Ein weiteres Problem, das in diesem Zusammenhang auftaucht, besteht in der Größenordnung. Es ist teuer und schwierig (wenn nicht gar unmöglich!), eine Produktivitätssteigerung im Verhältnis 10 zu 1 oder 12 zu 1 zu beweisen. Dies führe mitunter zu einer "Mentalität der kodierten Zeilen", die nicht repräsentativ für die Faktoren sei, die die Leistung beeinflussen.

Zauberlösung mit fauler Formel?

Ein "Anwendungsentwicklungssystem der vierten Generation" hat zwei herausragende Eigenschaften

- Große Produktivitätssteigerung - Leute, die Anwendungen berufsmäßig entwickeln, sollten in der Lage sein, unverzüglich die Leistungssteigerung zu erkennen

- Eine mögliche Einbeziehung des Endanwenders in den Anwendungsentwicklungsprozeß.

In der Vergangenheit waren Tools, die von der Datenverarbeitung benutzt wurden, derart technisch orientiert, daß ein Endanwender, der direkter als bisher an der Anwendungsentwicklung partipizieren wollte, ein vollausgebildeter Programmierer hätte werden müssen. Ein Produkt der vierten Generation sollte diese Barrieren gänzlich oder doch zum größten Teil abbauen.

Die treibenden Kräfte für die Forderung nach den Sprachen der vierten Generation waren die zwei- bis fünfjährigen "Application Backlogs" die bei fast jedem Unternehmer existieren. Die Sprachen der vierten Generation werden mitunter als die Zauberlösung zur Überwindung des Problems angepriesen.

Um jedoch die Effektivität eines vorhandenen Produkts zu beurteilen, ist es erforderlich, das Produkt vor dem Hintergrund des Applikation Backlog zu bewerten. Zu oft wird dem Vertrieb gestattet, dem Problem auszuweichen, indem man einfach behauptet, ein Produkt ,.reduziere" den Anwendungsrückstau, ohne zu zeigen, welche Teile des Backlog das Produkt anspricht. Der Anwendungsstau ist keine Summierung gleicher Projekte oder Aufgaben, er ist eine dreidimensionale, vielfältige Arbeitsleistung.

Gemeinsamer Plan ist unumgänglich

Die erste Dimension des Programmierstaus besteht in den verschiedenen Anwendungstypen. Sie umfassen die ganze Spanne von umfangreichen Anwendungssystemen bis hin zu Ad-hoc-Abfragen.

- Neue Systeme sind die eigentlichen "Produktions "-Anwendungen großen Stils, also die alltäglichen Systeme, die den grundlegenden Geschäftsbetrieb eines Unternehmens automatisieren. Traditionell sind diese Anwendungen von vielen Produkten der vierten Generation ignoriert worden.

- Der Begriff "Systemverbesserung" ist eigentlich nur eine höfliche Umschreibung für "Wartung". Dies ist heute die vorherrschende Programmieraktivität, die den Löwenanteil der der Datenverarbeitung zur Verfügung stehenden Zeit beansprucht. Ein Großteil dieser Aktivität wird benötigt für die umfangreichen Anwendungssysteme, und sie stellt oftmals tatsächliche Verbesserungen vor dem Hintergrund problematischer Fragen dar.

- "Abteilungssysteme" sind Anwendungen, die der Endbenutzer möglicherweise in seiner Schublade alle Zetteln hat. In der Vergangenheit waren diese Anwendungen einfach nicht wichtig genug, um in die DV-Warteschlange aufgenommen zu werden. Diese Applikationen sind heute primär der Faktor für die Verbreitung von Personal Computern in den Unternehmen. Das Erschreckende an dieser Entwicklung ist das unvermeidliche Problem der Endanwender, wenn sie die Datenverarbeitung zwecks Datenzugriff abfragen oder sogar Anwendungssteuerungsdienste in Anspruch nehmen, ohne daß ein gemeinsamer Plan oder Kontrollen eingerichtet worden sind.

- "One-time-requests" sind Ad-hoc-Abfragen und Berichte, die im allgemeinen für die Entscheidungen des höheren und mittleren Managements benötigt werden.

- Der "unsichtbare Nachholbedarf" repräsentiert all die noch zu entwickelnden Anwendungen, für die derzeit kein Bedarf vorhanden ist, weil die Benutzer noch damit beschäftigt sind, andere Anwendungen abzuschließen.

Design und Planung müssen produktiver werden

Zusätzlich zur Darstellung der Vielfalt der Anwendungsmöglichkeiten im Backlog verdeutlicht eine Untersuchung jeder beliebigen Anwendung, daß eine Kombination von Programmtypen zur Arbeit benötigt wird. Dies ist die zweite Dimension des Application Backlog. Anwendungen sind nicht zu 100 Prozent Stapelverarbeitung oder zu 100 Prozent Online, vielmehr stellen sie eine Kombination aus beiden dar. Oftmals haben Anwendungen auch sehr komplexe Routinen, möglicherweise sehr intensive Anforderungen in bezug auf das Updating, ebenso wie einfachere Anforderungen zur Informationssuche.

Die dritte Dimension des Application Backlog ist der Software Lebenszyklus. Einige Produkte scheinen eine Philosophie zu haben, die besagt: "Wenn man zur vierten Generation wechselt, braucht man nicht mehr zu planen. Man beginnt einfach Codes zu schreiben." Die Technologie der vierten Generation macht das Design und die Planung nicht überflüssig, sollte jedoch die Möglichkeit bieten, Design und Planung produktiver zu gestalten.

Wartungsphasen werden ignoriert

Die Bewertung eines Produktes der vierten Generation muß also vor dem Hintergrund der drei Dimensionen des Application Backlog gesehen werden. Viele ältere Produkte, versehen mit dem Etikett "vierte Generation" decken in Wirklichkeit nur Teile des Application Backlog ab. Einige, wie zum Beispiel Focus, Ramis und Nomad sind Informationssuchsysteme, die nicht für komplexe Anwendungen oder für umfangreiche Datenänderungssysteme gedacht sind. Andere, wie etwa ADS/ Online, sind Online-Dialog-Verwalter ohne Unterstützung für andere Klassen von Online- oder Stapelanwendungen.

Diese Produkte kamen frühzeitig auf den Markt und eroberten sich zwar einigen Marktanteil, werden nun aber überschattet von neueren Produkten mit größeren Leistungen.

Ein weiteres Charakteristikum vieler Produkte der vierten Generation ist die Überbewertung der Codierphase innerhalb des Entwicklungszyklus. Die Reduzierung der Zahl von Lines of Code ist bei einigen Produkten zur Manie geworden - oftmals auf Kosten des unglücklichen Wartungsprogrammierers. Vielfach wurde ein Leistungsgewinn auf dem Sektor der Entwicklung erzielt durch den Leistungsverlust auf dem Sektor der Wartung. Beinahe jedes Produkt für den Bereich ignoriert vollständig die Wartungsphase innerhalb der Lebensdauer eines Systems. Die Philosophie scheint zu lauten: "Je weniger Code-Zeilen, je einfacher die Wartung."

Das Konzept der Produktivität kann auf alles angewandt werden, was der Entwickler zu tun hat, nicht nur auf das Codieren. Tatsächlich nimmt die Codierungsphase nur einen geringen Teil der Zeit des Entwicklers in Anspruch. Entwickler müssen nämlich ebenfalls produktiv sein in den Bereichen Design, Test, Wartung und Dokumentation.

Für sehr einfache Programme sind Sprachen der vierten Generation weitaus schneller und produktiver als beispielsweise Cobol. Jedoch irgendwo im Bereich zwischen den einfachen und gemäßigt komplexen Programmen werden diese Sprachen zunehmend schwerfälliges und schwieriger im Gebrauch.

Denn die meisten Sprachen der vierten Generation verwenden extrem starke Befehle, die beinahe alle prozeduralen Prozesse vorpacken und überdecken. Dadurch kann das Produkt von ungeschulten Endbenutzern verwendet werden.

Jedoch verlangen anspruchsvoll bis komplexe Programme einen gewissen Grad an Formalität (und sogar an Prozedur), um ein Problem zu realisieren. Hier stoßen viele Sprachen der vierten Generation an ihre Grenzen. Häufig gibt es bei diesen Produkten keine Unterstützung für ein If- oder ein Loop-Statement und dies erschwert die Formulierung eines komplexen Problems. Oftmals wäre eine gut geschriebene Cobol-10-Prozedur einer drei Seiten langen geheimnisvollen Schreiberei vorzuziehen, wenn eine Überarbeitung der bestehenden Anwendungen erforderlich ist.

Nicht-versierte Endbenutzer brauchen eine Sprache, die ihren speziellen Anforderungen gerecht wird, aber professionelle Entwickler und versierte Enduser benötigen ebenfalls entsprechende Werkzeuge. Einige Anbieter behaupten, eine einzige

Sprache anbieten zu können, die in der Lage ist, die Anforderungen beider Benutzergruppen abzudecken. Ein solcher Versuch der Problemlösung führt jedoch im allgemeinen zu einer durchschnittlichen Sprache, die nicht in der Lage ist, jede der Gruppen vollständig zufriedenstellen.

Verbesserte Leistung in allen Phasen nötig

Man benötigt mehr als sichtbare Tools wie Sprachen, Map-Generatoren oder relationale Darstellung, um das Ziel der Technologie der vierten Generation vollständig zu verstehen. Vor allem braucht man eine verbesserte Leistung in allen Phasen des Anwendungsentwicklungszyklus, nicht nur die reduzierte Zahl codierter Statements in der Codierungsphase.

Eine weitere Forderung beinhaltet das vollständige Spektrum des Anwendungsbereiches. Ein Anwendungssystem der vierten Generation muß in der Lage sein, jede Art von Anwendung und jede Art von Programm zu handhaben - mit Ausnahme (bedingt durch das Design) von Ad-hoc-Abfragen, die eher zu einer wirklichen Sprache für den Endbenutzer passen. Wiederum zeigt sich hier eine gravierende Unzulänglichkeit bei bereits existierenden Produkten: Die meisten können Cobol als die primäre Entwicklungssprache für umfangreichere Anwendungen einfach nicht ersetzen.

Forschung ist nicht irrelevant

Wartungsfreundlichkeit ist ebenfalls entscheidend. Beinahe jedes Produkt aus dem Bereich der vierten Generation ignoriert vollkommen alle Fortschritte, die auf den Gebieten der strukturierten Programmierung und des strukturierten System-Designs während der vergangenen zehn Jahre gemacht wurden. Es scheint, als sei all die Forschung und Entwicklung mit dem Blick auf die Technologie der vierten Generation irrelevant. Ein wirklich einfaches Anwendungssystem basiert einerseits auf strukturierten Grundlagen, während andererseits gleichzeitig der Anwender davor bewahrt wird ein Experte in der Strukturierungstheorie werden zu müssen.

Bisher galt die Philosophie, daß schnelle Ergebnisse die zusätzlich benötigten Maschinenressourcen rechtfertigen. Aber nun, da diese Produkte versuchen mächtige komplexe Update-Situationen zu lösen wird die Frage der Performance sehr wichtig. Man muß erkennen, daß die Softwareprodukte der vierten Generation nicht in das traditionelle Informationszentrum passen, ebenso wie in der Welt der Kodierung.

Ein letzter Punkt trifft die Migration-Software. Sie spiegelt die Tatsache wider, daß alle Softwareprodukte der vierten Generation entwickelt worden sind, um ihre Vorteile innerhalb einer spezifischen Umgebung aufzusteigen. Das Problem, dem sich viele Datenverarbeitungsorganisationen gegenüberstehen, besteht jedoch darin, daß Umgebungen für den geeigneten Einsatz derzeit nicht vorhanden sind.

Die Produkte der vierten Generation wurden entwickelt, um die Programmierer von größeren, zeitraubenden Aufgaben zu entlasten, mit denen sich in der Vergangenheit auseinanderzusetzen hatten.

Trend zum Spezialisten

Soweit Karrieren im Bereich der Systementwicklung betroffen sind, wird der Bedarf an EDV-Fachkräften anhalten. Der Endanwender wird umfangreiche "Produktions" -Anwendungen nicht selbst bewältigen wollen (Informationszentren werden eigens zu diesem Zweck derzeit vom Endanwender nicht benutzt).

Jedoch wird es bei DV-Berufen einen Trend geben, sich für einen bestimmten Bereich zu spezialisieren.

Das persönliche Hintergrundwissen eines einzelnen Mitarbeiters bezüglich Bank-, Versicherungs- oder Fabrikationswesen wird im Vergleich zu seiner Erfahrung mit Betriebssystemen oder Programmiersprachen immer wichtiger werden.

Ein weiterer bedeutender Faktor bei der Stellenvergabe und dem beruflichen Fortkommen: die persönlichen Kommunikationsfähigkeiten des Entwicklers. Die DV-Leute müssen lernen, die Sprache des Anwenders zu sprechen. Sie dürfen nicht vom Anwender erwarten, daß dieser die DV-Sprache erlernt. Sprachen der vierten Generation haben das Ziel, ein Programm mit Begriffen der Anwenderseite darzustellen, und nicht in EDV-Termini.