Moderne Konzepte setzen Entwicklungspotential frei:

Altlasten überholter SW-Systeme abbauen

28.08.1987

Das Stiefkind "Software-Ergonomie" macht Fortschritte: Faktoren wie Menüsteuerung, Window-Technik und Help-Funktionen erleichtern heute den Umgang mit DV-Systemen entscheidend. Nach wie vor sind allerdings immense Altlasten langlebiger Programme zu bewältigen, deren Wartung erhebliche Entwicklungspotentiale bindet. Neue Konzepte wie die Sprachen der vierten Generation werden jedoch zu einer Verschiebung der Prioritäten führen.

Die im Vergleich zum Softwarebereich geringen Umsatzsteigerungen bei der Hardware führen bereits heute zur Umschichtung von Entwicklungsaktivitäten. Die SW-Entwicklung tendiert stark zu höher integrierten, "intelligenteren" DV-Lösungen. Mit der Komplexität der Systeme wächst sowohl das Implementierungsrisiko als auch die Anzahl nicht programmierter beziehungsweise programmierbarer Ausnahmen, die aus veränderten "Umweltbedingungen", innerbetrieblichen Veränderungen und Besonderheiten resultieren.

Um Abweichungen von der Norm kompensieren zu können, müssen die Systeme manuelle Interventionen zulassen, also in der Anwendung flexibel sein, Flexible Systeme setzen aber fachlich und DV-logisch qualifizierte Mitarbeiter voraus, die jedoch nicht in beliebigen Quantitäten zur Verfügung stehen und bei neu auftretenden Anforderungen rar sind. Hier kann nur eine gezielte innerbetriebliche Personalentwicklung und Qualifikationsvermittlung die größten Engpässe vermeiden helfen. An die Software stellt sich die weitere Anforderung, auch von unterschiedlich qualifizierten Mitarbeitern benutzt werden zu können.

Diese neuen Postulate können die Verhältnisse zwischen den Bereichen Hardware und Software-Ergonomie grundlegend verändern: So wie die Hardware im Verhältnis zur Software an Bedeutung verloren hat und weiter verliert, wird die Software gegenüber der Ergonomie an Stellenwert einbüßen. Die funktionalen Eigenschaften einer Software werden zwar notwendige, die ergonomischen Eigenschaften aber möglicherweise erst die hinreichende Voraussetzung für auch wirtschaftlich erfolgreiche Implementationen darstellen.

Systeme der vierten Generation werden hier als Kombinationen aus der Verwendung einer Hochsprache (Very-High-Level-Language/4G-) und eines Datenbanksystems verstanden. Das DB-System wird dabei nicht nur für die Datenverwaltung benötigt (als Basis für einfachen Zugriff auf Informationen, deren einfache Veränderbarkeit und Speicherung sowie komfortablen E/A-Prozeduren), sondern ebensosehr zur flexiblen Programmgestaltung.

Die Kombination aus Hochsprache und Datenbank bietet noch weitere Eigenschaften, die gute Voraussetzungen für die Programmierung ergonomischer Software schaffen und die SW-Entwicklung erheblich erleichtern.

Die "natürlichsprachlichen" Instruktionen sind sehr mächtig. Ein Beispiel dazu: Das Display einer n-dimensionalen Datenbank mit dem Namen "XYZ" erfordert lediglich den Befehl: "PRINT XYZ;". Die Anordnung der einzelnen Dimensionen, Ausgabe-Formate, Überschriften und Labels erfolgt automatisch aufgrund von Defaults. Außerdem lassen sich in Verbindung mit der Möglichkeit, sprechende Namen zu verwenden, kurze, überschaubare Programme entwickeln.

Es muß nicht zwischen Haupt- und -Unterprogrammen unterschieden werden. Jedes einzelne Programm kann entweder von einem anderen Programm als "Unterprogramm" aufgerufen werden oder ein eigenständiges Hauptprogramm sein. Als Unterprogramm führt es nur bestimmte Berechnungen durch, erzeugt bestimmte Ergebnisse. Als Hauptprogramm kann es die weitere Steuerung des Ablaufs übernehmen und - in Abhängigkeit von Eingaben oder Zwischenergebnissen - zu anderen Programmen verzweigen.

Durch die freie Verknüpfung von "Haupt-" und Unterprogrammen kann der Programmverlauf beziehungsweise die Dialogsteuerung übersichtlich gestaltet werden, da sich eine modulare Strukturierung geradezu aufdrängt. Die Programm- oder Dialogführung erfolgt wesentlich dynamischer, da aus jedem Programm verzweigt werden kann. Derartige Verzweigungen lassen sich auch anders realisieren; sie sind dann jedoch sehr viel unübersichtlicher und schwerer modifizierbar.

Die Flexibilität wird wesentlich unterstützt durch eine dritte Eigenschaft: Variablen müssen nicht deklariert werden und können entweder lokal (innerhalb eines Programms), temporär (während einer Sitzung) oder permanent abgespeichert werden. Die Art der Speicherung wird durch einen Default bestimmt und kann abweichend davon einzelnen Variablen durch ein Präfix zugewiesen werden.

Dadurch kann die Parameter-Übergabe an andere Programme entfallen. Sie werden temporär gespeichert und stehen damit allgemein zur Verfügung. Die Programm- und Dialogsteuerung kann abhängig von der Existenz temporärer Variablen erfolgen. Fehlen einem Programm Informationen, ruft es die erzeugenden Abfragen oder Unterprogramme auf.

Aus gewissen Ähnlichkeiten von Very-High-Level-Languages zu beispielsweise Basic sollten jedoch keine falsche Schlüsse gezogen werden: Die geringe Formaliesierung führt keineswegs zu unstrukturierten Programmen. Sie ermöglicht statt dessen Programmstrukturen, die wesentlich problem- und anwendungsbezogener sind.

4GL-Systeme tragen nicht zwang läufig zu mehr Software-Ergonomie bei. Das einfache Erzeugen von Menüs verleitet zu einer fließbandartigen Benutzerführung aus monotonen Abfolgen von Bildschirmseiten. Der Bediener hechelt durch die Anwendungen, die entweder stark limitiert sind oder kaum noch eine Orientierung im System erlauben. Anhand eines Entwicklungsbeispiels soll gezeigt werden, daß es auch anders geht.

Aufgabenstellung war die Entwicklung einer Dialogsteuerung, die eine Datenbank End-Usern einfach zugänglich macht. Als Output wurde eine Reihe von Reports und statistischen Informationen spezifiziert. Diese sollten - neben den Rohdaten - auf Terminals angezeigt, auf verschiedenen Druckern ausgegeben und nach Lotus 1-2-3 transferiert werden können.

Dazu müssen das Ziel (Terminal, Drucker, Lotus), die gewünschten Daten (Produkte, Periode, Region beziehungsweise Handelskanal, Art des Outputs (Reports, statistische Informationen, Rohdaten) vom Benutzer spezifiziert werden. Um den Anforderungen diverser Benutzer gerecht zu werden, wurde ein vierstufiges Dialogkonzept erarbeitet (siehe Abbildung).

Stufenplan unterstützt auch ungeübte Benutzer

Auf der ersten Stufe wird eine konventionelle Menü-Steuerung eingesetzt, die den Benutzer vollständig bis hin zum Report führt. Diese Art der Steuerung eignet sich als Eingangsstufe für Anfänger und für eine gelegentliche Benutzung. Sie ist bei wiederholtem Durchlaufen etwas ermüdend. Diese zwangsläufige Unannehmlichkeit der Menü-Steuerung hat den Vorteil, dem Benutzer die nächste Stufe attraktiver zu machen.

Die Menü-Steuerung greift auf eigenständige Programme (Makros) zurück, in dienen der "sprechende" Programmname, Erläuterung der Funktion, Hinweis auf Help-Funktion, Liste möglicher Spezifikationen und die Aufforderung zur Eingabe angezeigt wird. Soweit es sinnvoll ist, sind Defaults gesetzt. Darüber hinaus wurde versucht, möglichst viele Sprachelemente (Schlüsselworte, Syntax) aus der Very-High-Level-Language einzubeziehen.

Makros erleichtern Umgang mit komplexen Funktionen

Diese Makros finden ebenfalls in der zweiten Stufe, einem Verwendung. Hier werden die Namen der Makros und ihre aktuellen Einstellungen (anfangs die Defaults) angezeigt. Aus dieser View heraus läßt sich jeder Default verändern. Hier kann nicht mehr aus einem Menü ausgewählt werden, sondern der Benutzer muß den Namen eines Makros vollständig ausschreiben. Dieser Mehraufwand an Schreibarbeit wäre vermeidbar, ist aber beabsichtigt: Der Benutzer soll zwingend mit den Namen der Standard-Makros vertraut werden.

Anschließend zeigt die View den neuen Status an. Aus ihr heraus wird ein Report gestartet; nach dessen Abschluß erfolgt eine Rückkehr in die View. Diese Art der Steuerung eignet sich sehr gut für systematische Vergleiche und Variationen von Ausgaben.

In der dritten Stufe findet eine kurze Schulung in, System statt, da hier keine Dialogsteuerung mehr vorgesehen ist. Da dem fortgeschrittenen Benutzer wesentliche Elemente der Sprache durch die Benutzung der Makros bereits bekannt sind, kann diese Schulung verhältnismäßig einfach den Umgang mit der Hochsprache vermitteln, zumal dem User eine Reihe schwieriger Funktionen von den bereits bekannten Makros abgenommen werden. Darüber hinaus werden zusätzliche Makros zur Verfügung gestellt.

Im Rahmen der vierten Stufe, nach einer Einführung in den Editor, hat der Benutzer schließlich die Möglichkeit, seine eigenen Makros zu entwickeln. Dies können Abfolgen von vorhandenen Makros sein oder Eigenentwicklungen.

Durch eine solche Konstruktion ließen sich wichtige softwareergonomische Anforderungen realisieren:

Steuerbarkeit:

Je nach Kenntnisstand und Neigung kann der Benutzer eine ihm angenehme Vorgehensweise, Flexibilitätsstufe, oder einen Schwierigkeitsgrad auswählen.

Verläßlichkeit:

Neben dem einheitlichen Bildschirmaufbau innerhalb der Makros findet der Benutzer auf jeder Stufe die vertrauten Bedienungselemente wieder.

Lernförderlichkeit:

Allein der Umgang mit dem System führt auf Dauer dazu, daß sich der Benutzer mehr und mehr Kenntnisse von Hochsprache und Makros aneignet. Wenn so die wichtigsten Sprachelemente vertraut sind, ist der Einstieg in die Hochsprache wesentlich leichter. Denn Benutzer sind wenig geneigt, die umfangreiche Manuals zu studieren

Arbeitsangemessenheit:

Abgesehen von der Möglichkeit, auf verschiedenen Wegen das gewünschte Ziel erreichen zu Können, wird der Benutzer allmählich so weit an die Handhabung des System herangeführt, daß er es ab einer bestimmten Stufe frei benutzten kann. Ziel ist dabei nicht eine Einführung in die Programmierung, sondern die Benutzung des 4GL-Systems als "intelligentes" Arbeitsmittel. Lediglich formal betrachtet wird hier noch "programmiert". Das Sprachniveau ist indes so hoch und der manuelle Schreibaufwand so gering, daß der Inhalt der Tätigkeit sich fast ausschließlich auf die kreative Konzeption und Nutzung von Arbeits- und Problemlösungsinstrumenten konzentriert.

* Ludwig Ellerman ist wissenschaftlicher Mitarbeiter im Bereich Organisation/DV an der Universität Bremen.