Universitaet Koeln untersuchte Entwicklungswerkzeuge Die Objektorientierung ist fuer die ersten Pilotprojekte reif Von Karl-Ferdinand Daemisch*

13.05.1994

Software war in der Geschichte der Informationstechnik schon immer das Sorgenkind: Das Klassenziel hat sie selten erreicht. Doch scheint sich ein Umbruch abzuzeichnen. Objektorientierte Methoden und Datenbanken versprechen, dem Sitzenbleiber ueber die Huerden zu helfen.

Hinter dem Schlagwort Objektorientierung (OO) verbirgt sich ein Buendel aus Methoden, Werkzeugen - und innovativer Denkweise. Dabei zitiert die neue Softwaregeneration zwar alte Formeln. Aber diese werden mit neuem Leben gefuellt.

Objektorientierung besitzt zwei erfolgsversprechende Vorteile. Zum einen spielen Standards dort eine ueberragende Rolle. Zum anderen wird die Betrachtung und Behandlung von Daten nicht mehr von den dafuer relevanten Arbeitsprozessen getrennt.

Diese Objektsicht ist die Basisanforderung von verteilten Applikationen in heterogenen Client-Server-Architekturen. Gleichzeitig bedeutet sie aber auch eine schwere Huerde fuer den Entwickler: Objekte verlangen eine neue Denk-, Vorgehens- und Arbeitsweise.

Der wichtigste Standard in der OO-Welt ist die Common Object Request Broker Architecture (Corba) der Object Management Group (OMG). Viele grosse Hersteller haben diesen Standard uebernommen: DEC, HP, IBM und Texas Instruments verwenden ihn ebenso wie die AT&T-Tochter NCR, Sun Microsystems, Microsoft und Novell.

ODMG hat sich auf Standard geeignet

Zudem hat sich die Object Database Management Group (ODMG) - als eine erste eigenstaendige Aktivitaet innerhalb der OMG - 1993 auf eine Datenbank-Schnittstelle geeinigt, die die Portierbarkeit von Applikationen auf alle wichtigen objektorientierten Datenbanksysteme sicherstellen soll. Entwicklerfirmen wie ODI, Objectivity, O2, Ontos und Versant haben sich dazu verpflichtet, bis Ende dieses Jahres den Standard in die jeweiligen Produkte einzubinden. OO-Applikationen werden dann, unabhaengig vom Entwicklungspaket, auf etwa 90 Prozent aller objektorientierten Datenbank-Management-Systeme (OODBMS) laufen.

So wie von den einfachen ASCII-Dateien ueber die hierarchischen zu den relationalen Datenbanken Generationenspruenge notwendig waren, stellt auch der Umstieg von der linearen 3GL-Welt in die dreidimensionale Objektwelt einen gewaltigen Schritt dar. Objektorientierte Datenbanken und OODBMS-Produkte verbinden traditionelle DBMS-Eigenschaften wie das Speichern von Daten, die Verwaltung konkurrierender und assoziativer Zugriffe sowie die Sicherheitskonzepte mit den Inhalten der Objektorientierung. Dazu zaehlen Datenkapselung, Polymorphismus, Vererbung und vor allem die Wiederverwendung bestehender Komponenten.

Die objektorientierten Datenbanksysteme weisen einen zusaetzlichen Vorteil auf: Sie sind in der Lage, extrem grosse Datenvolumina unter einer DB-Struktur zu verwalten. Einsatzgebiete fuer die Objektorientierung sind daher die C-Techniken von CAD bis CASE. Inzwischen ist sie aber auch bei Publishing, geografischen Informationssystemen und Multimedia-Anwendungen zu finden. Die neuen Standards erschliessen zudem die kommerziellen Umgebungen.

OO-Techniken bieten darueber hinaus aufregend Neues: Virtuelle Speicherverwaltung mit Overlay-Technik lassen Datenbank und Betriebssystem verschmelzen. Die Uebernahme dieser Methode in die Datenbanktechnik stellt einen OO-Grundgedanken dar. Anwendungsprogramme werden nicht mehr als monolithische Codebloecke, sondern als Bruecke zur modularen Verbindung von Objekten betrachtet. Ob sich ein Datenmodell im Hauptspeicher aufhaelt oder auf der Festplatte gespeichert ist, bleibt fuer die Manipulation erst einmal ohne Belang. Datenbankdaten werden dadurch ebenso schnell wie Programmdaten. Im Gegensatz zu relationalen Datenbanken ist in den objektorientierten Systemen auch ein navigierender Zugriff moeglich.

Ein Objekt laesst sich praktisch als Black-Box behandeln: Sein Inhalt, also Daten in unterschiedlichen File-Formaten, Programme, Sprache, Grafik oder Video, spielt aus diesem Blickwinkel keine Rolle. Daraus resultiert der in objektorientierten Umgebungen haeufig zitierte "Re-Use".

Einmal entwickelten und getesteten Code weiter zu nutzen gehoerte schon zu den Traeumen strukturierter Programmierung. Da dort der Top-down-Ansatz vorherrschte, war ein Bottom-up, bei dem sich die Neuentwicklung auf vorhandene Software stuetzt, jedoch praktisch ausgeschlossen. Objektorientierte Sprachen wie C++ und Smalltalk erleichtern es, die Arbeitsrichtung umzukehren.

Vor den Erfolg haben die Goetter der objektorientierten Welt jedoch den Schweiss gesetzt. Der Aufwand, um Softwaremodule in wiederverwendbaren Bausteinen auszubilden, ist anfangs recht hoch. Neben den mentalen Problemen duerfte diese Tatsache dafuer verantwortlich sein, dass bisher eine durchgaengige Wiederverwendungsstrategie kaum vorhanden ist. Aber selbst im kommerziellsten aller betrieblich ausgerichteten Programme fallen viele Standardfunktionen wie Reports oder String-Verarbeitung an. Gleiches gilt fuer die Gestaltung grafischer Oberflaechen.

Funktionen dieser Art bieten kaeufliche Klassenbibliotheken als Satz von Basismodulen an. Analog zur CAD-Welt lassen sich die Inhalte der Bibliotheken als "Primitives" der Softwarekonstruktion bezeichnen.

Objektorientierung und CASE lassen sich verbinden

Die Verbindung zwischen CASE und Objekten ergibt einen Sinn: Computer-aided Software Engineering ist nur im Rahmen von durchgaengig realisierten Regeln und Standards moeglich. Das wiederum kommt der OO-Definition entgegen.

Dagegen stehen allerdings die nicht eben fulminanten Erfolge von CASE-Projekten in der Vergangenheit. Rund 80 Prozent dieser Vorhaben werden immer noch vorzeitig abgebrochen. "Loest OO nun ein, was CASE versprach?" fragt Professor Werner Mellis vom Lehrstuhl fuer Wirtschaftsinformatik an der Universitaet Koeln.

Seine Antwort findet sich in einer vor kurzem erschienenen Studie der Uni Koeln. Sie enthaelt eine Bewertung von insgesamt 60 CASE- Tools, die in Zusammenarbeit mit dem CASE-Anbieter Cadre GmbH und der Qualitec Ebasco GmbH, einem Tochterunternehmen des TUEV Rheinland, vorgenommen wurde.

Als Vergleichshilfe fuer den Anwender gewichten die Koelner Wissenschaftler zuerst die methodische Unterstuetzung des gesamten Software-Lebenszyklus; Wiederverwendung folgt als zweites Kriterium. Aber auch Aspekte wie Verbreitung sowie Support durch den Hersteller waren - wegen der notwendigen Schulung - ein wichtiger Punkt.

Die Ergebnisse der Studie muessen den Anbietern zu denken geben. Grossspurigem Marketing stellt das Werk nuechterne Betrachtung entgegen: Die Marktsituation sei zwar "sehr dynamisch, vieles aber noch unausgereift". Ausserdem mussten die Tester bei den Produkten erhebliche Unterschiede hinsichtlich Qualitaet und Funktionalitaet feststellen.

Kritisch, so die universitaeren Marktforscher, sind nach wie vor Teamfaehigkeit und Durchgaengigkeit der Pakete fuer alle Anwendungsbereiche von Analyse bis Re-Engineering. Auch hapert es am Versionen-Management und an der Benutzerfreundlichkeit.

OO ist fuer strategische Projekte noch nicht reif

Objektorientierung ist reif fuer Pilotprojekte. Noch nicht geeignet ist sie - den Ergebnissen der Studie zufolge - fuer einen Hals- ueber-Kopf-Einsatz in strategisch wichtigen Projekten. Mit den Pilotvorhaben sollte jedoch bereits begonnen werden, um die OO- Methodik und die entsprechenden Verfahren zu erlernen sowie die Migrationspfade zu entwickeln und zu ueberpruefen. Die auf diese Weise erreichbaren Verbesserungen muessen quanti- und qualifizierbar sein. Zu guter Letzt sollten Anwender die Gretchenfrage stellen: Wie haelt es die gewaehlte Methode mit der Wiederverwendbarkeit?