Die Software-Strategien der 80er Jahre

07.08.1981

MÜNCHEN (ha) - Wie sehen die Software-Strategien der 80er Jahre aus? Werden sich Programm-Generatoren und -Sprachen durchsetzen, die die Produktivität der Programm-Entwicklung erhöhen liegt die Zukunft im Einsatz fertiger Standard-Software? Die von der COMPUTERWOCHE zu diesem Thema befragten Marktkenner von Herstellern, Software-Häusern und Universitäten taktieren vorsichtig mit ihren Prognosen. Einigkeit herrscht allein in dem Punkt, daß in Sachen Software noch viel getan werden muß.

Dr. Klaus Neugebauer

Softlab GmbH, München

Im Jahr 1979 hat Infratest den Markt für Anwendungssoftware in der Bundesrepublik Deutschland umfassend untersucht. Die Ergebnisse dieser Studie zeigen unter anderem die derzeitige Einsatzhäufigkeit von Standard-Anwendungssoftware:

Von den Anwendern, die 1978 neue Anwendungen einführten, haben im Durchschnitt nur 23 Prozent Standard-Software eingesetzt. Hierbei machten mit 29 Prozent beziehungsweise 23 Prozent die 19 000 Zentralbetriebe mit einem kleinen/mittleren DV-System und 42 000 Einbetriebsunternehmen mit kleinen/mittleren DV-Systemen den Löwenanteil aus. Die 2000 Großbetriebe mit großen DV-Systemen setzen Standard-Anwendungssoftware gar nur zu 6 Prozent ein.

Die individuelle, auf die betrieblichen Besonderheiten zugeschnittene Problemlösung ist also die Regel, Standard-Anwendersoftware die Ausnahme. Diese Tradition bestimmt sowohl das Anbieterverhalten als auch die zögernde Nachfrage der Anwender. Die Gründe hierfür sind vielfältig: Standardsoftware ist oft eine notdürftig generalisierte Individuallösung, die in existierende Betriebsabläufe schwer integrierbar ist. Sie ist teilweise sehr unflexibel, da mit mangelhaften Entwicklungsmethoden erstellt. Außerdem ist sie oft - wenn man den Anpasssungsaufwand hinzurechnet - nicht viel billiger als Individualsoftware. Eine gewisse Ausnahme von dieser Regel bilden einige Standardprogramme, die auf kommerziellen Minicomputern in Klein- und Mittelbetrieben vielfach eingesetzt sind, da diese Unternehmen willens und in der Lage sind, sich in ihren Betriebsabläufen anzupassen. Diese Gesamtsituation wird sich wohl auch in den 80er Jahren nicht ändern.

Die Zukunft gehört den Softwarewerkzeugen - der computerunterstützten Softwareproduktion, die es dem Anwender, der keine Standardprogramme verwenden kann, gestattet, schnell und effektiv seine Software zu entwickeln. Dedizierte Softwareentwicklungscomputer werden "Werkzeuge" besitzen, die beileibe nicht nur die Programmierphase unterstützen. Requirement-Sprachen mit zugehörigen Prozessoren, Design-Hilfen, Testsysteme, wartungsunterstützende Werkzeuge, Projektbibliotheken - das sind die künftigen Hilfsmittel des Softwareentwicklers. Und diese werden es sicher auch erlauben bessere Standardprogramme zu entwickeln.

Professor Dr. Friedrich L. Bauer

Institut für Informatik der Technischen Universität München

Ich erwarte, daß Programmierwerkzeuge jeglicher Art -Programmgeneratoren sind nur ein Beispiel, Programmiersprachen sind in jedem Fall involviert - nicht nur die Produktivität der Programmentwicklung erhöhen sondern sich auch für die Erstellung "fertiger" Software-Pakete sehr nützlich erweisen werden.

Das Problem scheint mir zu sein, in welchem Umfang individuelle Software-Fertigung einerseits, Anpassung von fertiger Standard-Software an Einsatzerfordernisse andererseits vorkommen wird. Hier erwarte ich ein Einpendeln auf ein durch die äußeren Umstände bestimmtes Gleichgewicht. Wenn hohe Investitionskosten nicht gescheut werden müssen, wird viel für individuelle Softwarefertigung sprechen. Allerdings weiß man, daß auch maßgeschneiderte Schuhe oft drücken, und wenn es zudem noch billiger kommt, kann Anpassung fertiger Standard-Software gelegentlich doch der bessere Weg sein - zumindest wenn man wissen will, was man hat.

Klaus Wermbter

Informatics GmbH, Düsseldorf

Vergleicht man die Produktivität der Programmierer von heute mit der ihrer Kollegen von vor 25 Jahren, so ist sie etwa um den Faktor drei gestiegen.

In der gleichen Zeit hat sich das Preis-/Leistungsverhältnis der Hardware kommerzieller DV-Anlagen um zirka eine Million verbessert. In dieser Million stecken eine 1000fache Leistungssteigerung und ein ebenso großer Preisrückgang.

Stellt man nun diese beiden Steigerungsraten (drei und 100) gegenüber, so drängt sich zwingend der Schluß auf daß etwas getan werden muß, um den Engpaß in der Programmentwicklung zu beseitigen und die Produktivität zu erhöhen. Hinzu kommt die Tatsache, daß die Wartung bestehender, selbstgeschriebener Programme immer teurer wird und bereits über 50 Prozent der gesamten Arbeitszeit ausmacht. Software zu warten, heißt in den allerwenigsten Fällen einen Fehler zu beheben, sondern das Produkt zu verändern und äußeren Gegebenheiten anzupassen. Ein gangbarer Weg, die erheblichen Aufwendungen für Software-Wartung zu kontrollieren ist, diese Aufgabe an einen Dritten zu delegieren. Dies geschieht mit eingekaufter Software.

Ein Mittel, die Produktivität zu erhöhen, war und wird in Zukunft verstärkt der Einsatz von branchenneutraler Standardsoftware (Lohn, Gehalt, Kreditoren, Debitoren) und branchenorientierter Standardsoftware (zum Beispiel für Banken, Versicherungen, Fertigungsbetriebe, Ingenieurbüros) sein. Doch viele Anwendungen sind so individuell, daß dieser Weg nicht immer gangbar ist. Die Lösung heißt: Einsatz von leistungsfähigen Implementationssystemen. Folgende Ansatzpunkte sollten DV-Anwender in diesem Zusammenhang beachten:

- Einsatz von Programmgeneratoren, Batch wie Online, für Abfragen, Listen, Anwendungsentwicklung und Werkzeugen für den individuellen, aber effizienten Einsatz in Fachabteilungen, Management und DV-Abteilung.

- Die aktuelle Information und ihre schnellstmögliche Gewinnung durch den Informationssuchenden muß im Vordergrund stehen.

- Informationsausgabe kann und muß standardisiert werden. Output-Kosmetik kostet Manpower und CPU-Power.

- Konzentration auf das Wesentliche bei der Programmerstellung, die Vereinfachung bei der Pflege und den Wegfall der Wartung.

In den kommenden Jahren werden neben den vorhandenen Programiersprachen und dem Einsatz von Standardsoftware die beschriebenen Software-Werkzeuge verstärkt zum Einsatz kommen. Die Implementations-Systeme werden mit rund 50 Prozent Anteil an allen realisierten Anwendungen beteiligt sein. In Einzelfällen kann man bereits heute von etwa 80 Prozent ausgehen.

Edmund Hirsch,

Siemens AG, München

Die Mehrzahl der heutigen DV-Verfahren ist sehr komplex. Eigene Software hierfür zu entwickeln, können sich im allgemeinen nur Großanwender leisten. Die dabei gegebenen Probleme können nicht allein mit Programmgeneratoren gelöst werden, sondern erfordern auch entsprechendes Verfahrens-Know-how. Standard-Software wird deshalb auch in Zukunft unentbehrlich sein. Zumindest für die wesentlichen kommerziellen Einsatzgebiete wie Auftragsabwicklung, Materialwirtschaft, Fertigungssteuerung, Personal- und Rechnungswesen erwartet der Kunde solche Standardpakete von seinem Hersteller.

Eindeutig ist jedoch die Tendenz, sondern Zukunft nicht so sehr die allumfassende, mit allen "Sonderlocken" versehende, komplette Standard-Software anzubieten, sondern gut strukturierte Systeme mit "Steckdosen" (User-Exits) für spezifische, vom Anwender selbst erstellte Routinen. Hierfür sowie für die Erstellung kompletter Speziallösungen erwartet der Markt die Bereitstellung entsprechender Werkzeuge.

Programmgeneratoren haben in dem Spektrum dieser Werkzeuge eine bevorzugte Stellung. Viele Software-Teile lassen sich heute rein generativ erzeugen, etwa die Erstellung von Dialog-Masken, Plausibilitätsprüfungen und Listenausgaben. Für diese Art von Programmgenerierung existieren bereits eine Vielzahl entsprechender Tools. Diese Tools bieten jedoch kaum Unterstützung für die Erzeugung komplexer logischer Abläufe. Für solche Problemstellungen setzt sich zunehmend eine andere Klasse von Generatoren durch, die nicht direkt ablauffähigen Code erzeugen, sondern Hilfestellung bieten, um die Ablauflogik in den Griff zu bekommen, indem sie mit Hilfe einfacher Sprachelemente Quellprogrammcode (zum Beispiel in Cobol) erzeugen, der dann mit dem üblichen Compilerlauf in ablauffähige Programme umgesetzt wird. Generatoren für normierte Programmierung, Entscheidungstabellen und strukturierte Programmierung sind hier ein wertvolles Instrumentarium. Diese Klasse von Generatoren zeigt bezüglich der Anwendung eine deutlich steigende Tendenz.

Professor Dr. Joachim Griese

Lehrstuhl für Betriebsinformatik, Universität Dortmund

Beim Anwender läuft aus meiner Sicht ganz klar die Tendenz in Richtung Standardsoftware, das "pro" sind die Kosten, ein mögliches "contra" ist der Standard, der vielleicht nicht überall paßt. Insbesondere

dem kleineren Anwender, und der bildet im Moment den überwiegenden Teil des Marktzuwachses, bleibt aus Kostengründen keine andere

Wahl: Welche Eigenentwicklung kann zum Beispiel mit der Standardfinanzbuchhaltung (Preis etwa 5000 Mark) konkurrieren? Er nimmt dafür - notgedrungen - in Kauf, daß ein paar Rüschen seines organisatorischen Ablaufs vom Standard nicht verkraftet werden. In vielen Fällen handelt der kleinere Anwender damit kostenbewußter als der große Anwender, der es sich vom Know-how her leisten kann, eine Eigenentwicklung zu betreiben, und es mitunter - manchmal ungeachtet der Kosten - auch tut. Die Entwicklung der Einsatzzahlen von Standardsoftware belegt diese Tendenz.

Die Software-Hersteller werden sicherlich danach trachten, die Produktivität der Programmentwicklung durch den Einsatz geeigneter Hilfsmittel zu erhöhen. Zu diesen Hilfsmitteln zählen Programmgeneratoren und Programmiersprachen. Programmgeneratoren sollte man allerdings nicht zu nahe an die Anwendung (zum Beispiel eine Fakturierung) rücken, sondern eher Teilbereiche einer Anwendung in der Entwicklung rationalisieren (etwa Listen durch einen Berichtsgenerator). Bei den Programmiersprachen werden sich nach meiner Einschätzung nicht so sehr Spezialsprachen (Beispiel: Finanzsprachen) durchsetzen, schon gar nicht solche, mit denen der "Anwender selbst programmiert" (ich kenne keinen, der das lange durchhält), sondern allgemeine höhere Sprachen. Insbesondere solche, die die Strukturierung des gesamten Programmentwicklungsprozesses unterstützen (das kann auch der nächste Cobol-Standard sein).

Günter Mußtopf,

SCS Scientific Control Systems GmbH, Hamburg

Die Frage nach der Bewertung von Programmpaketen auf der einen und Programmiersprachen und Programmgeneratoren auf der anderen Seite kann nicht unabhängig von der Architektur der eingesetzten Systeme und den damit verbundenen unterschiedlichen Anwendungen diskutiert werden. Eine vergleichende Betrachtung von Software für Großanlagen und für programmierbare Taschenrechner sowie die beim Benutzer vorausgesetzten DV-Kenntnisse bestätigt diese Behauptung. Die Klassifizierung der Hardware in Großanlagen (Teilnehmerbetrieb, Rechnernetze), Minicomputer (wie etwa Büro-Kompakt- oder Heimcomputer) und dedizierte Systeme (mittlere und große Serien hochspezialisierter Hardware) bietet sich hier an.

Die rasante Entwicklung der Mikro-Elektronik und deren auch heute noch nicht überschaubaren Auswirkungen auf künftige Systemarchitekturen Werkzeuge und Verfahren ist Anlaß genug, sich hier auf die Diskussion von Software für dedizierte Systeme zu konzentrieren. Dies ist insbesondere deswegen interessant, weil seit einiger Zeit für 8-Bit-Systeme eine Fülle von Compilern (von Basic über Pascal bis PL/1) und ein breites Spektrum von Programmpaketen angeboten werden, falls das Betriebssystem CP/M eingesetzt wird.

Der hohe Grad der Spezialisierung dedizierter Systeme und die damit verbundenen Anwendungen wie Meßwerterfassung und -verarbeitung, Steuerung und Regelung (Data Logger, programmierbare Controller und so weiter) erfordern einerseits hardwarenahe Programmierung, aber andererseits auch zusätzliche Anpassungen während der Installation und des Betriebes (Systempflege). Programmpakete scheiden in diesem Bereich bereits durch ihre zu geringe Flexibilität aus. Allerdings bereiten leistungsfähige Programmiersprachen und Compiler dem Endanwender mit geringen DV-Kenntnissen und -Erfahrungen nach wie vor große Schwierigkeiten. Einen Ausweg aus dieser Situation bietet der Aufbau anwendungsspezifischer (relativ kleiner) Programmbausteine. Diese können mit Preprozessoren (zum Beispiel Makroprozessoren) miteinander verbunden werden. Derartige Werkzeuge werden - je nach Umfang und Leistung - auch als Programmgeneratoren bezeichnet. Allerdings werden diese erst von Endanwendern voll akzeptiert, wenn die "Software-Entwicklung" interaktiv erfolgen kann. Dies bedeutet, daß der Dialog vom Rechner geführt wird und dadurch auch typische Programmierfehler verhindert werden können. Nicht zuletzt bieten Programmgeneratoren eine ausgezeichnete, klar definierte Schnittstelle zwischen dem Systemprogrammierer und dem Anwender.

Interaktive Programmgeneratoren wurden bereits erfolgreich in der Praxis eingesetzt. Hemmend wirken sich jedoch nicht allein die damit verbundenen Investitionen, sondern ebenso auch die erforderliche "Umschulung" der DV-Fachkräfte aus: Erfahrene DV-Profis müssen sich von vertrauten und bewährten Arbeitstechniken und -gebieten trennen! Die Entwicklung der Hardware-Preise (auch für Werkzeuge zur Software-Entwicklung) und der Trend der System-Software für Mikroprozessoren bieten jedoch interaktiven Programmgeneratoren eine reale Chance. Den größten Nutzen aus einer solchen Entwicklung könnte der Endanwender ziehen!