Wiederverwendbarer Code durch objektorientierte Repositories

CASE-Anbieter entdecken zunehmend den Wartungsmarkt

05.01.1990

Helmut Coqui ist Direktor Zentrale Ressourcen bei der Softlab GmbH, München

Verblendet vom selbstgestrickten High-Tech-lmage und utopischen "Softwarefabriken", haben CASE-Anbieter lange die eigentlichen Bedürfnisse der Anwender verdrängt. Wartung nicht Neuentwicklung sind das tägliche Programmiererbrot. Im kommenden Jahrzehnt sollen die CASE-Techniken jedoch wieder mehr dem Programmier-Alltag, zugute kommen, prophezeit Helmut Coqui.

Im weiteren Sinn umfaßt der Begriff des Computer Aided Software Engineering (CASE) alles, was die Entwicklung, Modifikation und Wartung von Software - durch Computer unterstützt - erleichtert und produktiver macht. CASE ist also mehr als das, was als CASE-Tool seit einigen Jahren überwiegend auf PC basierend angeboten wird.

Die Geschichte von CASE hat im Jahre 1945 begonnen, als Konrad Zuse die erste Programmiersprache namens "Plankalkül" entwickelte und damit die Evolution der Programmiertools ihren Anfang fand. Hierzu gehören heute die Sprachen der ersten bis vierten Generation ebenso wie Editoren und Codegeneratoren, Mäuse und Menüs, Fenster und Grafik Repräsentationen, Data Dictionaries und Entity-Relationship-Diagramme.

Bis heute ist diese letzte Gruppe von Software-Entwicklungswerkzeugen mit Abstand die bedeutendste Tools, die beim Übersetzen dessen, was der Mensch will, in das, was die Maschine versteht, helfen. Dabei ist der Abstand zwischen der menschlichen und der binären Darstellungsform so groß, daß niemand sich in beiden effektiv ausdrücken kann. Hier bedeutet Fortschritt also bessere Übersetzer, bessere Sprachen und Compiler, "menschlichere" Darstellungsweisen, die automatisch, fehlerfrei und eindeutig in etwas für den Computer Verständliches übersetzbar sind.

Alle diese übersetzenden Werkzeuge haben die Produktivität in der Softwareentwicklung in den letzten zwanzig Jahren enorm zu steigern vermocht. Ihr Beitrag ist kaum zu überschätzen, auch wenn er mangels geeigneter Meßgrößen kaum deutlich quantifizierbar ist.

Ermöglicht wurde die Anwendung dieser Tools auch dadurch, daß Compulerleistung in den letzten zwanzig Jahren spottbillig wurde. Heute steht auf unserem Schreibtisch ein Computer für 5000 Mark, der vor zwanzig Jahren für mehr als fünf Millionen Mark der Stolz jedes Universitätsrechenzentrums gewesen wäre. Diese gewaltige Steigerung der verfügbaren Computerleistung erlaubt es, Reaktionen, Antworten und Fehlermeldungen vom Computer "sofort" zu bekommen und nicht erst nach Tagen.

Der Übergang von Batch- auf interaktiven Dialogbetrieb beim Schreiben von Software - sei es durch anfänglich überlastete Timesharing-Anlagen, sei es effektiver durch dedizierte und damit reaktionsschnelle Entwicklungssysteme - erhöhte nicht nur den Komfort, sonder löste auch signifikante Produktivitätssteigerungen aus

Darüber hinaus hat diese dem Menschen angepaßte Art und Weise der Kommunikation mit dem technischen Gerät die Produktivität der Softwareentwicklung sowie die Zuverlässigkeit der Programme und die Nachprüfbarkeit entscheidend erhöht. Diese Hilfen übersetzen nicht nur, sondern fügen selbständig systemspezifische Informationen ein, die der Nutzer nicht mehr zu kennen braucht.

Diese Entwicklungen haben nicht nur den professionellen Softwareentwicklern geholfen, sondern vor allem eine völlig neue Art der Benutzung von Computern ermöglicht. 4GLs und PC-Macros machen den Endanwender teilweise vom DV-Fachmann unabhängig und erlauben ihm, direkt mit dem Computer zu arbeiten: selbständig, nicht nur bei der Ein- und Ausgabe von Daten, sondern auch bei der Lösung seiner Aufgaben. In der Folge wurde der Computer für alle DV-Nutzer ein nützliches Werkzeug - nicht mehr nur für den intimen Kreis von Fachleuten

Verstehen lernen, was wir wollen sollen

Der Erfolg dieser Gruppe von Tools hat allerdings keine CASE-Historie geschrieben; denn alle diese Entwicklungen werden nicht zu den eigentlichen CASE-Tools gezählt. Außerdem dürften wir den Großteil der Verbesserungen auf diesem Gebiet bereits hinter uns haben, das heißt, in den neunziger Jahren sind auf dem Gebiet der Sprachen und der Mensch-Maschine-Kommunikation kaum mehr dramatische Verbesserungen in Sicht.

Unsere heutigen Probleme in der Software liegen nicht mehr so sehr darin, mit dem Computer einfach und effizient zu kommunizieren; sie ergeben sich vielmehr daraus, daß wir selbst verstehen lernen müssen was wir kommunizieren "wollen sollen". Aus dieser Interessenslage heraus lassen sich Programmier-Tools in zwei Gruppen einteilen.

Die erste Gruppe hat vor allem geholfen, die Mensch-Computer-Kommunikation wesentlich zu erleichtern und wird üblicherweise nicht als CASE-Tool bezeichnet Wir alle benützen sie Die Entwicklung von Anwendungssoftware ist ohne diese konventionellen Hilfen nicht mehr denkbar; sie haben uns enorme, aber kaum eindeutig quantifizierbare Produktivitätssteigerungen gebracht.

In die zweite Gruppe lassen sich alle diejenigen Werkzeuge einordnen, die seit etwa fünf Jahren unter dem Namen CASE-Tools im engeren Sinne auf dem Markt angeboten werden. Zu ihnen zählen :

- Tools für Analyse und Design (Front-end-Tools);

- Codegeneratoren, Test-Tools und Reengineering Tools (Back-end-Tools);

- Projekt- und Konfigurations-Management-Tools (Life-cycle-Tools).

Diese Einteilung beruht auf dem Phasen- oder Wasserfall-Modell der Softwareentwicklung Es geht davon aus, daß Anwendersoftware - analog dem Herstellungsprozeß bei industriellen Produkten - sinnvollerweise in geordneten, sequentiellen Schritten in Teamarbeit hergestellt werden sollte und nicht - wie in den Anfängen - von genial-chaotischen Individualisten in unkontrollierbaren, meist nächtlichen Schüben

Da die Zahl der mit Anwendungsentwicklung Beschäftigten inzwischen allein in Deutschland bei über 200 000 liegt, ist es nur plausibel, daß Vorgehensmodelle für Softwareprojekte (Setec von Softlab Orgware von ADV/Orga und so weiter) entstanden sind, deren Anwendung auch durch computerbasierende Werkzeuge unterstützt wird. Diese Tools sollen den Benutzerkomfort erhöhen und den Software-Entwicklungsprozeß überschaubar, planbar, kontrollierbar und damit auch nach Zeit, Kapazitätsaufwand und Kosten vorhersehbar machen.

Die Wichtigkeit und Notwendigkeit, Softwareprodukte besser in den Griff zu bekommen, ist unbestritten, eine breitere Akzeptanz für diese Tools fehlt aber noch. Das liegt an einer Reihe von Gründen:

- Rund 70 Prozent des Aufwandes in EDV Abteilungen verschlingen Wartung und Modifikation. Die eigentlichen CASE-Tools und auch die Methoden befassen sich jedoch fast ausschließlich mit der Unterstützung von Neuprojekten.

- Die Einführung der Tools ist schulungs- und gewöhnungsintensiv. Ihr Nutzen liegt nicht in der Steigerung von Bedienkomfort oder Effizienz am Arbeitsplatz; es geht nicht unmittelbar schneller und einfacher, auch wenn sich das in Prospekten häufig so liest, denn Lieferversprechungen, Interessentenerwartungen und Anwendererfahrungen liegen noch weit auseinander.

- Diese Tools passen nicht nur für eine bestimmte Systemumgebung; eine Integration verschiedener Tools - sowohl in bezug auf eine einheitliche Benutzerschnittstelle als auch in bezug auf "gleichzeitige" Benutzbarkeit - ist selten gegeben. Dies schränkt die Attraktivität und den tatsächlichen Nutzwert weiter ein. Die Verkaufszahlen für diese Werkzeuge sind zwar hoch, der Umsatz pro Softwareentwickler liegt jedoch zumindest in Deutschland noch weit unter den durch Softwareprojekte gewöhnlich ausgelösten Kaffeekosten derselben Personengruppe.

Die Entwicklung, der Informationstechnik scheint relativ gut vorhersehbar zu sein. Die Basistrends gelten hier seit 40 Jahren. Es gibt auch keine Anzeichen dafür, daß das vermeintliche Naturgesetz der Elektronik nicht mindestens bis zur Jahrtausendwende weiterhin gültig bleibt: Der Preis pro Megabyte, Megabaud und MIPS reduziert sich in zehn Jahren jeweils etwa auf ein Zehntel.

Angenommen, die Zahl derer, die beruflich Anwendersoftware entwickeln, modifizieren und pflegen, nimmt im selben Zeitraum um - vorsichtig geschätzt - etwa fünf Prozent im Jahr zu und der Personalaufwand pro Entwicklerstunde ebenfalls nur um fünf Prozent jährlich, dann steigen die Personalkosten für Softwareentwicklung beim Anwender in den neunziger Jahren mindestens um den Faktor zwei bis drei.

Gleichzeitig wird die Bedeutung von "intelligenter Anwendersoftware" für die Wettbewerbsfähigkeit aller Unternehmungen wachsen; viele der infrastrukturellen und logischen Probleme werden zu ihrer Lösung auch komplexer Informations- und Steuerungssysteme bedürfen. So dürfte der mögliche Rückgang der Nachfrage nach militärischen Anwendungen von Informationssystemen mehr als ausgeglichen werden.

Fehlende Investitionsbereitschaft auf dem Sektor der CASE-Technologien ist nicht festzustellen, zumal MIPS-Leistungen, Bytes und Bauds künftig noch preiswerter zur Verfügung stehen werden. Hilfreich ist auch, daß die generelle Standardisierung, ausgehend von den regen Unix- und OSI-Welten, die gesamte Information und Kommunikationstechnik allmählich in Richtung anwenderfreundlicher offener Systeme treibt.

Es gibt vier CASE-Entwicklungslinien

Was uns in den 90er Jahren auf dem Sektor CASE erwartet, läßt sich an vier wesentlichen Entwicklungslinien erkennen:

These 1: CASE-Produkte gewinnen an strategischer Bedeutung. Für die Computeranbieter dürften CASE-Produkte in den neunziger Jahren strategisch mindestens ebenso wichtig werden wie es die Betriebssysteme in den siebziger und die Datenbanken und Protokolle in den achtziger Jahren wurden.

These 2: Die DV-Anwender verlangen immer stärker Investitionssicherheit und globalen Service. Die Einstellung der DV-Anwender hat sich vom eher technisch orientierten Einsatzinteresse auf das Ziel betrieblicher Wertschöpfung mit Hilfe der DV verlagert. Die Anwender sind kostenbewußter geworden und stellen Fragen, die die Anbieter in Zugzwang bringen:

Wie lassen sich die hohen Investitionen, die viele Unternehmen in den vergangenen Jahren für den Auf- und Ausbau ihrer Computersysteme getätigt haben, langfristig sichern? Wie können die Unternehmen auf der Basis dieser Investitionen und unter Nutzung dieser Millionenwerte wettbewerbsfähig bleiben

- obwohl die Geschwindigkeit, mit der die Anwendersoftware veraltet, eher zu- als abnimmt

- obwohl der Anwender inzwischen eigenentwickelte wie, fremdgekaufte Anwendersoftware, einsetzt und diese nicht nur für eine einzige Systemumgebung benutzt und

- obwohl die Dokumentation fälschlich immer vernachlässigt wurde?

DV-Anbieter, die darauf eine plausible Antwort geben können, brauchen sich um ihre Wettbewerbsfähigkeit als Systemlieferanten keine Sorgen zu machen. Umgekehrt genügt es nicht mehr, ein weiteres CASE-Tool intelligent zu entwickeln und auf Expertenseminaren anzubieten. Es muß dem Markt auch wirksam präsentiert werden In einem zunehmend internationalen Geschäft wird Marketing immer wichtiger. Weltweite Anbieter Allianzen und gründliches CASE-Know-how müssen zusammenkommen

These 3: Die Qualität der Entwicklungstools wird zunehmen. Die mehr generellen Software-Entwicklungstools (Gruppe 1) werden weiter eine starke Akzeptanz finden, 4GLs werden ihre Beschränkung auf jeweils eine Systemumgebung verlieren und damit an Verwendbarkeit gewinnen. Ähnliches gilt für Code-Generatoren, die an Wissensbasen gekoppelt werden und zielsystemunabhängig erstellte Anwendersoftware automatisch in die gewünschte Zielumgebung übersetzen.

These 4: Die nächste Stufe effizienter Entwicklungstechnologie stellen objektorientierte Repositories dar. Sie werden den entscheidenden Schritt nach vorn bringen.

- Sie sind die dringend notwendige Integrationsbasis für die heute schon vorhandenen aber noch nicht genügend integrierten Front-end-/Back-end-CASE-Tools;

- Sie bilden das "intelligente Lager" für all die bei einem Anwender eingesetzten Anwendersoftwareobjekte. Diese Art Repository wird es schrittweise ermöglichen, die Software-Objekte computergestützt mit Attributen und Relationen zu versehen. Dadurch ist auch der Anteil von 20 Prozent der Anwendersoftware - der wert ist, immer wie der verwendet zu werden - von den restlichen 80 Prozent zu trennen.

- Neue Anwendungen müssen somit nicht mehr von Grund auf neu entwickelt werden, sondern lassen sich in einem hohen Maß aus den bereits vorhandenen Objekten herstellen und auf der Basis all dessen, was schon an Funktionalität da ist, aufbauen.

Objektorientierte Repositories, die sowohl den Anforderungen der Tool-Integration als auch den Erfordernissen eines effizienten Software-Asset-Management genügen, sind erst am Horizont erkennbar. So braucht die von IBM angekündigte Strategie der Entwicklung von Anwendungssoftware noch in die Mitte der neunziger Jahre bis zu ihrer Realisierung.

Die nächsten Jahre werden von einem starken Bedarf an intelligenten und komfortablen Entwicklungsumgebungen geprägt sein. Diese Umgebungen sollen auch den hohen Anteil der Softwarepflege von bislang 70 Prozent der gesamten Softwareaufwendungen unterstützen beziehungsweise reduzieren.