Stichwort "Integrierte Projektunterstützungs-Umgebung" (Teil 6):

Integration räumt mit Insellösungen auf

12.08.1988

*Wolfgang Grandel ist Vertriebsleiter, Gerhard Friederich Marketing-Leiter Europa - beide im Produktbereich Maestro der Softlab GmbH, München.

Noch immer beherrschen die dezentrale Datenhaltung und der getrennte Einsatz von Werkzeugen die Entwicklungs-Szene. Dabei trägt eine integrierte Produktionsumgebung mit einheitlicher Benutzeroberfläche, Objekt-Management und Tool-Verbund viel zur Qualitätssteigerung und Kostensenkung bei.

Das Ganze ist mehr als die Summe seiner Teile. - Eine Binsenweisheit bei der Produktion technischer Geräte: Ein Chassis mit Rädern oder ein Motor sind zwar allein in irgendeiner Form funktionsfähig; aber erst das Zusammenspiel der Komponenten ergibt ein Auto. Ähnliches gilt für die Produktionsmittel: Drehbänke und Fräsmaschinen bilden noch lange keine Maschinenfabrik.

Bei der Softwareproduktion ist man dagegen bisher immer davon ausgegangen, daß ein Zusammenspiel der einzelnen Werkzeuge nicht nötig, respektive nicht möglich sei. Die Erfahrungen mit Kostenprogression und Auftragsüberhang sollten zwar inzwischen eines Besseren belehrt haben. Insellösungen bestimmen aber immer noch das Bild.

Es wird mit Entwicklungs-Tools gearbeitet, aber jedes dieser Werkzeuge ist eigenständig und verfügt über seine eigene Datenhaltung. Das Zusammenfügen der einzelnen Programmteile erfordert aber zusätzliches Know-how sowie unnötigen Mehraufwand und führt meist zu Fehlern, die vermeidbar gewesen wären. Die Lösung liegt in der Integration der einzelnen Werkzeuge in eine geschlossene Produktionsumgebung. Wie eine solche Integration aussehen könnte, wird im folgenden beschrieben.

Beim Zusammenschluß der Werkzeuge zur Software-Entwicklung lassen sich unterschiedliche Stufen der Integration definieren:

- Die erste Stufe bildet eine einheitliche Benutzeroberfläche. Sie ist die Voraussetzung für alle weiteren Integrationsbemühungen. Bereits hier ergeben sich jedoch größere Probleme beim Einsatz von systemfremden Entwicklungs-Tools.

- Die nächsthöhere Stufe wird als Tool-Kette bezeichnet. Dabei korrespondieren die einzelnen Tools mit einer gemeinsamen Datenbank. Alle Werkzeuge arbeiten aber weiterhin autonom.

- In der dritten Stufe steht dem Entwickler eine Liste von Werkzeugen unterschiedlicher Ausprägung zur Verfügung, zwischen denen er bei seiner Arbeit frei wählen kann, und die im Rahmen der jeweiligen Aufgabenstellung zum gleichen Ergebnis führen.

Benutzeroberfläche ist ein wichtiges Kriterium

Außerdem ist zwischen horizontaler und vertikaler Integration zu unterscheiden. Im ersten Fall handelt es sich um das Zusammenwirken gleichwertiger Werkzeuge wie Übersetzer, Ein- und Ausgabe-Tools sowie Werkzeugen zur Dokumentationserstellung. Von vertikaler Integration spricht man, wenn Verwaltungs- und Entscheidungsfunktionen in den Entwicklungsprozeß einbezogen werden. Erst wenn beide Integrationsformen sinnvoll kombiniert sind, kann von einer integrierten Projektunterstützungs-Umgebung die Rede sein.

Das entscheidende Kriterium für eine gelungene Integration ist die einheitliche Benutzeroberfläche. Darunter versteht man den direkten Zugriff auf die verschiedenen Tools von jedem beliebigen Arbeitsplatz aus mit Hilfe identischer Tastenbelegung, einheitlicher Masken, gleicher Zugangskontrollen und einheitlicher Help-Funktionen.

Im Zentrum der Integration steht weiterhin ein Objekt-Management-System (OMS). Die einzelnen Werkzeuge in der Analyse- und Entwicklungsphase werden von diesem System ebenso unterstützt wie die Code-Generatoren im Bereich der Realisierung.

Hinter dem OMS verbirgt sich eine relationale Datenbank, die rein objektorientiert aufgebaut ist. Alle wichtigen Sachinformationen, die für die Produktion im Gesamtprojekt nötig sind, werden darin abgelegt und verwaltet; sie stehen allen Entwicklern, die am Projekt arbeiten, uneingeschränkt zur Verfügung. Unter Objekten sollen dabei mit Namen versehene Datenmodelle, Module, Tools etc. verstanden werden. Diese Objekte enthalten produktionsrelevante Informationen, die in jeder Phase der Entwicklung nötig sind. Das können beispielsweise Beschreibungsmerkmale (Attribute) oder Beziehungen zwischen Objekten sein. Das OMS ist somit die Basis für den gesamten Entwicklungsprozeß.

Um eine solide Grundlage für die Integration aller Elemente zur Software-Entwicklung zu schaffen, ist es erforderlich, bereits beim logischen Datenmodell zu beginnen. Daraus leitet sich dann eine Klassifizierung aller Objekte her, die aufgrund der jeweiligen Beschreibungsmerkmale erstellt wird. So lassen sich die Längen von Datenelementen (zum Beispiel Artikel-Nummern) bereits in dem Datenmodell festlegen.

Neben dieser für die Code-Generierung wichtigen Beschreibung bietet die Klassifizierbarkeit der Objekte einen zusätzlichen Nutzen bei der Dokumentenerstellung, indem auch die textliche Beschreibung für alle späteren Verwendungen quasi mitgeliefert wird. Ist beispielsweise das Objekt "Kundenanschrift" einmal mit seinen Namen und seinen Attributen definiert, kann es im weiteren Wolfgang Grandel: Integration muß schon beim Datenmodell ansetzen

Entwicklungsprozeß durch einfaches Aufrufen verwendet werden, ohne es neu zu erstellen.

Von besonderer Bedeutung ist das Objekt- Verwaltungssystem für die Kommunikation mit den Fachabteilungen des Auftraggebers sowie mit dem Zielrechner. Über eine spezielle Software-Schnittstelle wird die Verbindung zu den Data- Dictionaries im Zielrechner hergestellt. Von daher erhält das Objekt-Verwaltungssystem Fixdaten, die bereits in früher erstellten Programmpaketen Verwendung fanden und auch bei den nächsten Neuentwicklungen herangezogen werden sollen.

Eine zusätzliche Bedeutung kommt dieser Schnittstelle bei den Wartungsarbeiten zu, indem über sie alle für die Programmpflege nötigen Informationen in den Entwicklungsrechner geladen werden und die Änderungen auf gleichem Wege wieder im den Zielrechner zurückgehen. Auf diese Weise lassen sich die vielfältigen und rationellen Möglichkeiten des Prototyping nutzen.

Ein Problem bei der Integration stellt die Verwendung von Fremdwerkzeugen dar. Hier stellt sich die Frage nach einer Standardisierung von Software-Entwicklungs-Tools.

Ein wichtiges Maß für den Grad der Integration ist die Durchgängigkeit in den einzelnen Phasen der Software-Entwicklung von der Analyse bis zur Dokumentation. Unter Durchgängigkeit versteht man die Festlegung von Struktur-Pflichtinformationen, die nötig sind, um das Projekt hinlänglich zu beschreiben und somit die Voraussetzungen für ein optimales Ergebnis zu schaffen. Schon beim Einsatz des gewählten Vorgehensmodells (Lifecycle) greift das Objekt-Management-System unterstützend ein, um Antworten auf folgende Fragen zu finden:

- Was soll getan werden?

- Was ist der richtige Weg zum Ergebnis?

- Welche Werkzeuge sind dafür vorhanden; das heißt, welche Anknüpfungen bestehen zu den einzelnen Entwicklungsphasen?

Gerhard Friederich: Zeitaufwand und Kosten sinken, die Qualität steigt

Es beginnt mit der Klassifizierung über das Meta-Datenmodell, in dem die Beschreibungsmerkmale für jedes einzelne Objekt festgelegt sind. Es geht weiter über den Tool-Verbund für die Analyse-, Entwurfs- und Produktionswerkzeuge. Die Ergebnisse vereinigen sich im Objekt-Management-System; hier werden sie daraufhin überprüft, ob sie allen Anforderungen an die Codierung entsprechen. Die Durchgängigkeit reicht über die Code-Generierung bis zum fertigen Produkt.

Der am deutlichsten hervortretende Nutzen ist der Zugriff auf eine zentrale Entwicklungs-Datenbank (Objekt-Management-System). Die Zentralisierung bewirkt eine einheitliche Struktur der Programmentwicklung sowie eine Verringerung der Entwicklungsarbeit.

Programme, die in einer integrierten Umgebung produziert wurden, sind den in herkömmlichen Umgebungen entwickelten Projekten an Zeitaufwand und damit an Kosten sowie an Qualität weit überlegen. Daraus ergibt sich ein weiterer, besonders herausragender Vorteil im Bereich der Programmpflege und -wartung: Dank der Durchgängigkeit des Systems kann der Entwickler an jeder beliebigen Stelle auf den früheren Arbeiten aufsetzen und jeden Entwicklungsschritt anhand der automatischen Dokumentation direkt nachvollziehen. Das spart Zeit, die dann wieder für neue Projekte zur Verfügung steht.

Durch die Entwicklungsabteilungen geistert eine neue Zauberformel: Integrated Project Support Environment (IPSE). Mit einer siebenteiligen Serie von Wolfgang Grandel* und Gerhard Friederich* will die COMPUTERWOCHE zur Entmystifizierung dieses Begriffs beitragen.