Die Workstation scheint die ideale Entwicklungsmaschine zu sein:

Softwerker an der Workstation schaffen Platz auf dem Host

26.07.1991

Der Einsatz effizienter Produkte für Software-Entwurf und -Gestaltung ist für die Industrie fast schon überlebensnotwendig. Je mehr dieser Tools zum Einsatz kommen, desto schlechter ist es um die Entwicklungskapazität auf dem Host bestellt. Die Workstation als Software-"Werkbank" mit Mainframe-Verhalten stellt Ingrid Rackl* vor.

Klare, strategische Zielsetungen liefern die benötigten Informationen für Planung nicht nur im Marktsegment Software-Entwicklung. Daher müssen auch die möglichen Einsatzarten von CASE-Produkten beim Anwender ganz pragmatisch beurteilt werden - und

welche Technik der Programmierung im Um- oder Vorfeld zu einer CASE-Lösung beisteuern kann. Die Workstation - darunter fallen auch High-end-PCs - als Entwickler-Plattform betreffen nur die Hardware-Seite. Sie erscheint von der kapazitativen Leistung aber

dafür zunehmend geeignet. Für die Software-Entwicklung müssen die Werkzeuge beschrieben werden, die für die Aufgaben im Software-Lebenszyklus von konventionellen- bis hin zu CASE-Technologien reichen.

Wartung und Pflege verschlingen Ressourcen

Software-Engineering, gleichgültig ob unter dem Gesichtspunkt konventionell oder CASE betrachtet, muß von dem Faktum bestehender Investitionen ausgehen. Nicht Neuentwicklung ist hier das letzlich entscheidende Argument. Wartung und Pflege stehen

heute mit 60 bis 80 Prozent der Entwicklungskosten - sowohl vom Aufwand als auch vom Volumen her - klar im Vordergrund. Diese Zahlen belegen augenfällig, welche Bedeutung gerade die Wartung alter Programme für ein Unternehmen und sein Funktionieren besitzt.

Auf der anderen Seite bordet aber gleichzeitig die Nachfrage aus allen Unternehmensbereichen nach neuen Applikationen über. Dieser Bedarf ist in den letzten Jahren sogar dramatisch gestiegen. Der Anforderungsüberhang erreicht bis zu 160 Prozent bezogen auf die gesamte bereits installierte Basis. Diese beträgt in einem großen Unternehmen unter Umständen Millionen Code-Zeilen in mehreren tausend Programmen.

Nicht genug also, daß Wartung und Pflege alter Programme die meisten personellen und finanziellen Ressourcen verschlingen. Die Verantwortlichen für die Informations-Technik werden von der eigenen Unternehmensführung zunehmend unter Druck gesetzt. Markterfordernisse verlangen zudem Strategien, die es gilt, in Software umzusetzen. Viele neue Applikationen sehen sich deshalb kritischen Zeitsituationen gegenüber.

Sollte der Anwendungsstau jedoch nicht rechtzeitig abgebaut werden - oder positiv ausgedrückt: Sollte es nicht gelingen, die benötigten Anwendungen rechtzeitig fertigzustellen, wird ein erfolgreiches Agieren des Unternehmens am Markt zumindest schwierig, wenn nicht sogar unmöglich.

Dabei gibt es Lösungen für das Problem. Viele bewegen sich in erprobten Bahnen des Software-Zyklus', andere - darunter CASE - beschreiten neue Wege. Die eine logische Forderung ist die Schaffung nach leistungsfähigeren Plattformen für die Programmentwicklung, um schneller Ergebnisse erzielen zu können. Andererseits muß diese Plattform aber auch für die Erfüllung von Software-Wartungsaufgaben taugen, um auch diese leichter und produktiver abzuwickeln. Die Zielvorstellung lautet: durch Personal- und Kostenreduzierung in der Wartung Ressourcen für die Neuprogrammierung freisetzen. Eine schnellere Applikationsentwicklung trägt natürlich ebenfalls weiter zum Abbau des Anwendungsstaus bei.

Ein anders Objective - oder Ziel - für die 90er Jahre ist die qualitätsmäßige Verbesserung der Software. Dazu gehört, ein Projekt in der geplanten Zeit abschließen zu können, das voll den Spezifikationen entspricht. Drittes und letztes Argument in diesem Zusammenhang ist die Forderung nach weniger Wartungsanfälligkeit neuer Applikationen. Wenn schon Pflege und Anpassung notwendig werden, sollen diese mit minimalem Aufwand zu realisieren sein. Alle diese Objectives gelten gleichermaßen für konventionelle Programmiertechniken wie auch für CASE. In der Anforderungscharakteristik unterscheiden sich die beiden Ansätze also nicht.

Programmierung auf

Workstations auslagern

In der Praxis wird man allen Entwicklern zuerst einmal ein komplettes Set von Programmierwerkzeugen zur Verfügung stellen. Das setzt auch voraus, daß die Entwickler diese Werkzeugen auch voll für Wartungsaufgaben verwenden können. Ein anderer Lösungsansatz besteht darin, die Programmierung auf leistungsfähige Workstations auszulagern und damit den Mainframe vollständig von Entwicklung, Codierung, Compilierung und Test zu entlasten. Die Maschine ist dann endlich für ihre eigentlichen Produktions-Aufgaben frei. Diese Zielsetzungen entsprechen den Objectives von CASE - aber auch Entwicklungsumgebungen zum Beispiel für Cobol.

Auf der Hardwareseite haben die Workstations eine rasante Entwicklung genommen. Sie verfügen inzwischen über ein hohes Leistungsniveau und sind - ausgerüstet mit entsprechender Software - zum Super-Werkzeug auch für den Organisationsprogrammierer

aufgerückt. Die Workstations oder Super-PCs haben das Leistungsniveau von Mainframes erreicht - wenn nicht gar übertroffen. Darüber hinaus stehen gerade im Workstation-Umfeld enorm hohe Speicherkapazitäten zur Verfügung, sei es unter DOS oder auch unter OS/2. Dies sind jedoch nicht nur Leistungsinseln. Denn im Netz und im Verbund mit verfügbarer Software wird Hochleistung auf breiter Basis mit allen Vorteilen und ohne Sicherheitsverluste nutzbar.

Integrierte Software-Werkzeuge bieten heute umfassende Unterstützung im Bereich der Mainframe-Applikationsentwicklung. Dazu gehört die Unterstützung für die Großrechner-Systemsteuersprache, Compiler und Ausführungszeit-Funktionen, inklusive der Emulationen, die zum Beispiel IMS, CICS, DB2 und /370-Assembler auf der Workstation abbilden können. Mit Data Dictionaries und Sourcecode-Kontrollmechanismen für das Projekt-Management und die Sicherheit ist es inzwischen möglich, den kompletten Großrechner-Ablauf auf der Workstation nachzuvollziehen.

lm Prinzip stehen heute drei Forderungen an, mit deren Erfüllung eine Lösung der Software- Problematik zu bewirken ist: "Höhere Produktivität" lautet die eine. Sie ist erreichbar mit Hilfe von besseren Werkzeugen, deren Nutzung in integrierter Umgebung ein noch flexibleres Hochziehen neuer Anwendungen möglich macht. Und hier hat sich gezeigt, daß moderne SW-Tools auf den Workstations heute bereits besser arbeiten als auf dem Mainframe. Ganz nebenbei liefert die Workstation, mit interaktiv ablaufenden Prozessen sowie ausgefeiltem Bildschirm- und Tastatur-Handling, eine komfortablere Entwicklungsumgebung. Werden einzelne Werkzeuge dann noch in eine "Werkbank" integriert, ist ein Ergebnis erzielbar, dessen Produktivität die Effektivität der Einzelteile übersteigt. Kann der Programmierer so zum Beispiel zwischen unterschiedlichen Tools nahtlos wechseln - gesteuert von einer gemeinsamen Oberfläche, ergibt sich eine zusätzliche Zeitersparnis.

Die Forderung Nummer zwei richtet sich nach - fast - unbegrenzter Performance-Verfügbarkeit, wann immer der Programmierer sie benötigt, ohne Restriktionen von seiten der Produktionsmaschine. So zum Beispiel kein Warten mehr auf Zeit für den Compilerlauf und die Umwandlungsliste oder Zurückstellen von Tests aus Performance-Gründen und zudem Responsezeiten von unter einer Sekunde.

Auch hier bietet sich die Workstation als "Problemlöser" an: Sie arbeitet zu Daten- und Programm-Transfer zwar vernetzt, aber vom Großrechner unabhängig. Ein Zusatzeffekt wird dadurch erzielt, daß Tests nicht auf der Produktionsmaschine (mit aktiven Produktionsdaten) durchgeführt werden, sondern getrennt auf dem Arbeitsplatzrechner. Auch wenn dort Fehler auftreten, bleibt die eigentliche Produktionsumgebung davon unberührt. So werden intensivere Tests bis auf Codezeilen-Ebene möglich, wie sie bislang auf dem Mainframe - nicht zuletzt aus Zeit-, Kosten- und Sicherheitsgründen - nie durchführbar waren. Das Ergebnis sind qualitativ besserere, da ausgetestete, und zudem schneller verfügbare Programme und Prozeduren.

Wie aber verhält es sich mit der dritten Forderung nach einer Kostenreduzierung bei der SW-Entwicklung? Selbst mit relativ einfachen Tasks erweist sich die Software-Entwicklung auf dem Host als Ressourcenfresser. Besteht dagegen die Möglichkeit,

zum Beispiel mit TSO, Daten, Prozeduren und Programme auf die Workstation herunter zu laden, bleibt der Mainframe bis zum Zeitpunkt der Übergabe der neuen, fertiggestellten Programme unbehelligt.

Alle erforderlichen Arbeiten wie Programm editieren, compilieren und testen, bleiben bis zum Schluß auf der Workstation. So kann sich - wie Berechnungen gezeigt haben - allein durch die eingesparte Host-Zeit die Investition in Arbeitsplatzrechner bereits innerhalb von zwölf Monaten amortisieren. Anwender berichten von einem Produktivitätsgewinn der Programmierer von 25 Prozent.

Programmier-Tools helfen, CPU zu sparen

Das könnte sogar - bezogen auf die Kosten des Arbeitsplatzes inklusive aller benötigten Hard- und Software - eine Amortisationszeit von weniger als sechs Monaten bedeuten. Wenn die Cobol-Entwicklungsumgebung als Basis-Installation für CASE-Entwicklungen vorgesehen wird, kann mit deren Generatoren nochmals ein Produktivitätsplus von 15 Prozent erzielt werden.

In einem kleineren US-Chemie-Unternehmen konnte durch den Einsatz von Programmier- Werkzeugen auf Workstations allein bei den CPU-Ressourcen, Entlastung bei der Rechenzeit des zentralen Computers, eine Einsparung im Wert von rund 52 000 Dollar monatlich ermittelt werden. In einem weiteren Fall, einer amerikanischen Versicherungsgesellschaft, ergab sich eine Reduktion der CPU-Kosten um 40 Prozent bei einem gleichzeitigen Produktivitätszuwachs in der Programmierung um 28 Prozent. Ein nebensächlicher Effekt: am zentralen Drucker reduzierten sich die anfallenden Kosten um 80 Prozent, unter anderem durch Papierersparnis.

Ein weiteres Argument, das auch hierzulande nicht vom Tisch zu weisen ist: Oft kann die - aus Kapazitätsgründen geplante - Neuanschaffung eines Mainframes hinausgeschoben werden, weil die Leistungs-Ressourcen des von der Anwendungsentwicklung befreiten Großrechners für die eigentlichen Produktionsaufgaben noch ausreichen.

Weitaus schwerer zu quantifizieren als die Hardware-Kosten sind die Aspekte der qualitätsmäßig besseren Software und der verbesserten Akzeptanz des neuen Entwicklungstools. Zum einen erfordert bessere SW-Qualität weniger Wartung. Schneller fertig entspricht sie eher noch Anwenderbelangen, da diese sich nicht - der langen Entwicklungszeit wegen - inzwischen bereits wieder geändert haben. Hinzu kommt - als weiterer, kaum quantifizierbarer Effekt, daß der Programmierer letztendlich nicht mehr durch unnötige Wartezeiten am Großrechner in seiner Kreativität blockiert ist.

Die Workstation als "Software-Tool"

Abschließend läßt sich feststellen, daß Arbeitsplatzrechner heute für den kompletten Software-Zyklus - Analyse, Design, Programmierung und Implementation - genutzt werden können: Die Analyse nimmt den Anwenderbedarf in einer funktionalen Beschreibung auf. In der Design-Phase findet deren Umsetzung auf Programm-Spezifikationen und das eigentliche System Design statt. Diese wiederum bilden die Arbeitsunterlagen für die Programmierung, um entweder Änderungen durchzuführen oder eine neue Applikation

zu entwickeln. In der Schlußphase laufen die Programmtests sowie die letzten Feinarbeiten. Gerade im Bereich Test und Programmierung liegen die Stärken von guten Software- Entwicklungswerkzeugen .

Diese Software-"Werkbänke" in Gestalt von Workstations zeigen ihre Stärke vor allem an der Schnittstelle von der Design-Phase in die eigentliche Entwicklung: Als Bestandteil einer größeren CASE-Umgebung können Design-Aufgaben zuerst an einen Generator übertragen werden, der Cobol-Code erzeugt. Dieser enthält die Bildschirm Masken und - eingebettet - auch das gesamte Datenhandling. Der generierte Code wird dann an die Entwicklungs-Tools zur Durchführung erster Testläufe weitergereicht. Ein bekanntlich kritischer Punkt in jeder CASE-Entwicklungsumgebung, wie bestehende Entwicklungsvorhaben bei Herstellern von CASE-Analyse- und Design-Tools beweisen, die zunehmend diesen Weg beschreiten.

Die Workstation als Software-Tool ist jedoch nicht nur für Neuentwicklungen und deren Tests einsatzfähig, sondern auch für das sogenannten Re-Engineering ganzer Anwendungskomplexe sowie für Wartung und Pflege: Bei Benutzung von sogenannten Strukturierungs-Werkzeugen muß der daraus entstehende Code in jedem Fall getestet werden. Für die weit häufigeren Zwei-Zeilen-Änderungen ist ein dediziertes Software-Entwicklungs-Tool ohnehin besser geeignet als ein komplettes CASE-Toolset. Dennoch können sich beide Techniken - Software-Entwicklungswerkzeuge für herkömmliche Sprachen und CASE-Tools - gut ergänzen:

Reine CASE-Implementationen bergen Risiken, die nicht nur in der Wahl der CASE-Umgebung begründet sind. So können durchaus Inkompatibilitäten zwischen dem gewählten Tool und bisher im Unternehmen genutzten Methoden entstehen. Oder es besteht die

Gefahr, daß nicht jedes CASE-Tool für alle Aufgaben gleichermaßen geeignet ist. Darüber hinaus ist die Kostensituation nicht klar abgrenzbar, da vor allem die lange Lernkurve für CASE-Anwendungen einen schnellen Return-of-investment unmöglich macht.

Die Software-Entwicklungs-Tools, etwa für Cobol-Programme, können sogar zur Risikominimierung von CASE-Installationen beitragen. Sie bilden eine neue Entwicklungsebene auf Workstation in einem vom Mainframe her bekannten Umfeld. Als solche kann sie zum Kern einer geplanten CASE-Installation werden und macht den Schritt zu CASE zur evolutionären, nicht revolutionären Entscheidung.