Anlaufschwierigkeiten einer Technologie Objektorientierte Tools sind noch nicht integrierbar genug

15.04.1994

Von Michael Wagner*

Misstoene im Triumphzug der objektorientierten Softwarekonzepte: Viele Anwender sind angesichts des Entwicklungsstands der Objektorientierung ernuechtert. Die Hersteller koennen ihre Versprechen nicht durchweg erfuellen. An den grundlegenden Konzepten und ihrem Erfolg zweifelt jedoch kaum jemand.

Die Verfechter der Objektorientierung (OO) geraten unter Zugzwang. Nach anfaenglicher Skepsis und der Euphorie der ersten Erfolge beginnen jetzt viele Grossanwender, den Entwicklungsstand der noch jungen Technologie realistisch einzuschaetzen. Neben den von den Herstellern kolportierten Erfolgsstories gibt es ebenso viele Horrorgeschichten.

Gestiegene Anforderungen ans Projekt-Management

Eine erschreckende Menge von OO-Projekten wurden als gescheitert abgebrochen. Die Ursachen liegen meist in den Umstellungsproblemen der Entwickler und den gestiegenen Anforderungen an das Projekt- Management.

Mit Startschwierigkeiten bei der objektorientierten Programmierung rechnen inzwischen die meisten Betroffenen. Der hohe Schulungsaufwand wird dennoch oft unterschaetzt. Die neue Ausrichtung der Software-Entwicklung ist nicht einfach, zumal oft weitere Veraenderungen wie Downsizing oder die Einfuehrung von Client-Server-Systemen mit den ersten objektorientierten Projekten einhergehen.

Die Probleme liegen jedoch nicht nur bei den Entwicklern, sondern auch und vor allem im Management. Die Implementierung objektorientierter Systeme verlangt ein planvolles Vorgehen, eine gruendliche Analyse der Voraussetzungen sowie ein sorgfaeltiges Design des Gesamtsystems und seiner Komponenten.

Fuer aufwendige Konzeptionen steht oft weder Zeit noch Geld zur Verfuegung. Die Entwicklung laeuft nicht selten ueberstuerzt und nach quantitativen Massstaeben ergebnisorientiert ab. Schon nach den ersten Gehversuchen und der Ueberwindung der Kinderkrankheiten erwartet das Management messbare Verbesserungen. Diese mit den vollmundigen Versprechen mancher Hersteller suggerierten Effekte kann die objektorientierte Entwicklung aber nicht einloesen.

Eine C++-Schulung sowie der Kauf von objektorientierten Klassenbibliotheken und Entwicklungswerkzeugen reichen fuer die Umstellung nicht aus. Die Budgetverantwortlichen, die mit dem Argument der Kostenreduktion durch Wiederverwendbarkeit gekoedert wurden, muessen sich wie die Projektleiter zunaechst ueber den Charakter ihres derzeitigen Entwicklungsprozesses klarwerden, bevor sie sich auf den langen Weg zum effektiven Einsatz der Objektorientierung machen koennen. Die Wiederverwendbarkeit von Softwarekomponenten, das Marketing-Hauptargument fuer objektorientierte Softwaretechnologien, ist nicht kostenfrei, sondern - was oft verschwiegen wird - zunaechst mit einem hoeheren Aufwand verbunden. Die Entwicklung solcher Komponenten bedarf einer eingehenden Analyse der vorhandenen Systemumgebung und einer praeziseren Planung der Systemarchitektur.

Unter Umstaenden ist das Design, um Wiederverwendbarkeit zu gewaehrleisten, in Teilen weniger spezifisch zu gestalten, oder es sind mehr Abstraktionsebenen einzufuehren. Der Einkauf von Klassenbibliotheken loest dieses Problem nicht automatisch. Waehlt man eine Bibliothek, die den Aufgaben nicht gewachsen ist, so kann sich das Projekt unerwuenscht komplex und zeitaufwendig gestalten.

Eigene Klassenbibliotheken zu entwickeln ist teuer und langwierig. Sie muessen gewartet und kontinuierlich weiterentwickelt werden, um sich langfristig bezahlt zu machen. Erst mit der Erfahrung aus mehreren Projektzyklen beziehungsweise der Stabilitaet eigener Klassenbibliotheken stellen sich die erwarteten Rationalisierungseffekte ein.

Einzelne Vorteile der Objektorientierung lassen sich auch nutzen, wenn ohne Ruecksicht auf etwaige Wiederverwendung das Design vereinfacht und das Softwareprojekt beschleunigt werden soll. Dass Beschleunigung und Wiederverwendbarkeit zugleich erreichbar seien, wird zwar von den Herstellern gern herbeigeredet, ist aber in der Praxis meist nur eingeschraenkt moeglich. Litt die angewandte Objektorientierung bisher am mangelnden technologischen Verstaendnis sowie an fehlenden Entwicklungswerkzeugen, so wirken sich jetzt die ueberzogenen Erwartungen der Anwender und die unzureichende Integrationsfaehigkeit der Software-Tools schaedlich aus.

Auf geschlossene Systeme zugeschnitten

In grossen Organisationen arbeiten meistens verschiedene Abteilungen an unterschiedlichen Softwareprojekten. Dass dabei immer dieselben Werkzeuge zum Einsatz kommen beziehungsweise geeignet sind, ist unwahrscheinlich. Oft finden Experimente in kleinen Vorhaben statt, die aber mitunter schnell wachsen. Wenn die unterschiedlichen Entwicklungen zusammenzufassen sind, fuehrt das zu erheblichen Problemen.

Fuer eine projektuebergreifende Software-Entwicklung muss die Integrations- und Interoperationsfaehigkeit von der Methodik und dem Systemdesign ueber die Implementation bis zum Code gewaehrleistet sein. Diese Durchgaengigkeit scheitert oft bereits auf der Ebene der objektorientierten Analyse und des Designs. Die meisten objektorientierten Tools sind zu einseitig auf geschlossene Systeme zugeschnitten und lassen sich nur selten projektuebergreifend einsetzen.

Vor allem diesen Punkt kritisieren die Anwender. Wenn die verfuegbaren Werkzeuge nicht einmal projektuebergreifend integrierbar sind, ist wohl kaum daran zu denken, die projektuebergreifende Software-Entwicklung automatisch konsistent zu halten. Objektorientierte Werkzeuge muessen also in der Lage sein, nicht nur wie bisher einzelne Klassendefinitionen zu importieren, sondern auch Teile von Designs zu uebernehmen und diese entsprechend anzupassen.

Standardisierung als wichtigste Voraussetzung

Um die Integration der verschiedenen Entwicklungswerkzeuge zu erleichtern, bemueht sich die Object Management Group (OMG) um eine Standardisierung der Methodiken, stoesst damit aber auf wenig Gegenliebe bei den Herstellern. Diese sind offensichtlich noch zu sehr damit beschaeftigt, sich Marktanteile zu sichern, um zu erkennen, dass sie sich mit ihrer bisher verfolgten Produktstrategie selbst im Weg stehen.

Die Standardisierung der objektorientierten Technologien wird nach einer Umfrage der OMG von der Mehrheit der Anwender als wichtigste Voraussetzung fuer den Durchbruch der OO genannt. Fuer viele Benutzer schreiten die derzeitigen Normierungsbemuehungen nicht schnell genug voran, manche melden sogar grundsaetzliche Zweifel an.

Grosse US-amerikanische Anwender wie Boeing stellen offen ihr Engagement fuer den Quasi-Standard C++ in Frage. Dieser ist zwar schon lange in Arbeit, wird aber mindestens noch zwei Jahre auf sich warten lassen. Das naehrt eine Skepsis gegenueber C++: Die Sprache sei zu komplex und zu ueberladen, die Spanne zwischen erhoehtem Entwicklungsaufwand und erhofften Einsparungen zu gering. Ob derartige, bisher vereinzelte Wortmeldungen einen Trend ankuendigen, bleibt abzuwarten.

Auf anderen Gebieten, etwa der Koppelung von Softwaresystemen oder der gemeinsamen Nutzung von Objektdatenbanken, ist die Standardisierung durch OMG und Object Database Management Group (ODMG) weit fortgeschritten. Erste Produkte existieren bereits, und die Fronten dieses neuen Markts beginnen sich durch diverse Kooperationsabkommen zu formieren. Bis zur allgemeinen Verfuegbarkeit wird aber noch einige Zeit vergehen.

An der Objektorientierung als Grundlagentechnologie geht nach allgemeiner Einschaetzung trotzdem kein Weg vorbei. Die Komplexitaet der kuenftigen Softwaresysteme ist ohne objektorientierte Techniken nicht zu meistern. Die Wirtschaft wuenscht die Integration vorhandener und neu zu entwerfender Informationssysteme zur Unterstuetzung der kritischen Geschaeftsprozesse.

Aktive Objekte wandern durchs Netz

Seit geraumer Zeit zeichnet sich eine Verschmelzung von Unterhaltungselektronik, Kommunikationseinrichtungen wie Telefon oder Kabelfernsehen und Computersystemen ab. Die Integration von Audio, Video und Informationsverarbeitung ist nicht erst seit dem Aufkommen der Multimedia-Systeme offensichtlich.

Durch die Bemuehungen um eine nationale Informationsinfrastruktur in den USA bekommen diese Entwicklungen eine neue Dimension. Die Komplexitaet der im Entstehen begriffenen Systeme legt den Schluss nahe, dass ihre Software-Unterstuetzung ohne objektorientierte Technologien nur schwer realisierbar sein wird.

Wohin der konsequente Einsatz der Objektorientierung fuehren kann, zeigte unlaengst die Demonstration einer neuartigen Oberflaeche fuer mobile Systeme durch den Apple-Spinoff General Magic. Die aktiven Objekte, die durch Netzwerke wandern, um Informationen zu sammeln oder bestimmte Aufgaben zu erledigen, loesten unter den anwesenden Software-Ingenieuren und DV-Managern einen regelrechten Schock aus. Softwaresysteme, die einmal definierte Aufgaben ohne weitere Einwirkung des Benutzers selbstaendig bewaeltigen, waren fuer viele Zuschauer ein Novum.

Der Vorfall beweist, wie leistungsfaehig Objektorientierung sein kann. Er eroeffnet einen Ausblick auf die Softwaresysteme, die objektorientierte Technologien uns in Zukunft bringen werden.