Ausgereifte Software-Entwicklungsumgebungen noch nicht in Sicht:

Anwender müssen mit Quasi-Standars leben

18.08.1989

Das Computer-aided Software Engineering (Case) gehört zu den meiststrapazierten Schlagwörtern der Datenverarbeitung. Doch auf die Frage nach standardisierten Werkzeugen haben die Anbieter noch keine Antworten. CW sprach mit Joachim Neuhaus* über Nutzen und Perspektiven der automatisierten Softwareentwicklung.

þDie Softwareentwicklung vollzieht heute Prozesse nach, die in der industriellen Fertigung mit dem Einsatz von CAD-Systemen und Robotern bereits realisiert werden. Was ist

die gravierendste Konsequenz daraus ?

Der erfolgreiche Einsatz einer modernen Software-Entwicklungsumgebung wird in nächster Zukunft vor allem die Qualität von Anforderungsbeschreibungen und Designkonzepten sowie die Produktivität bei der Programmerstellung (einschließlich Test) erhöhen. Als Konsequenz wird der Aufwand für die Softwarewartung fallen - bei gleichzeitig besser Anpassung an die Bedürfnisse der Benutzer.

þSie benennen die Chancen. Wo aber liegen die Grenzen für den Computereinsatz im Design und in der Produktion von Software?

Der "Kollege Computer" kann bei der Speicherung von Entwicklungsergebnissen, ihrer Darstellung (in verschiedenen Formen) sowie der Kontrolle der Ergebnisse behilflich sein. Weiter kann der Rechner den Entwickler bei bestimmten Tätigkeiten in bescheidenem Umfang "steuern". Damit verringert der Computer den Anteil der weniger kreativen Arbeiten und läßt dem Softwareentwickler mehr Zeit für die "kritischen" Aufgaben in den Bereichen

Analyse, Anforderungsdefinition und Design.

þDie Ergebnisse der Entwicklungsarbeit sollen portierbar sein. Läßt sich bereits von standardisierten Werkzeugen für den Software-Entwicklungsprozeß sprechen?

Der Software-Entwicklungsprozeß ist aus wissenschaftlicher Sicht noch lange nicht ausreichend untersucht. Daher sollte man sich vor einer voreiligen Festlegung allgemein verbindlicher Standards hüten. Das dürfte jedoch keinen Anwender daran hindern, für seine Installation (vielleicht auch gemeinsam mit Anderen) vorläufige Standards zu definieren. Diese müssen jedoch wachstumsfächig sein. Entsprechend sieht allerdings auch die Werkzeuglandschaft aus. Die mangelnde Verbindlichkeit führt zu unterschiedlichen Produkten, die oft nur Einzelaspekte des Entwicklungsprozesses lösen. Eine Integration der Werkzeuge ist oftmals nicht oder nur mit großem Aufwand möglich. Es gibt jedoch einige wenige interessante Ansätze.

þDie automatisierte Software-Entwicklung verändert die Tätigkeitsfelder in den Bereichen Konzeption und Programmierung. Wie wirkt sich dieser Vorgang auf das Rollenverständnis der DV- und der Fachbereiche sowie des Mangements aus?

Aus meiner Sicht sehe ich eine Annäherung aller Beteiligten, mehr Verständnis der Fachbereiche für die Schwierigkeiten von DV-Entwicklungen und weniger "Eigenbeschäftigung" in der DV.

þMöglicherweise muß der Programmierer um seine Existenz bangen. Wie beurteilen Sie die Bereitschaft solche Software-Produktionsumgebungen zu nutzen?

Das wird auf jeden Fall von den aufgeschlossenen Kollegen getragen und vom DV-Management intensiv unterstützt.

þWird die sogenannte "Künstliche Intelligenz" die Software-Produktionsumgebungen überholen?

Mir fehlt die Phantasie, um mir eine Softwareentwicklung ausschließlich auf der Basis von Expertensystemen vorzustellen. Hingegen halte ich die Einbindung eines Expertensystems in eine Entwicklungsumgebung zur Lösung spezieller Aufgaben für möglich.