Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

19.08.1988 - 

Stichwort "Integrierte Projektunterstützungs-Umgebung (Teil 7 und Schluß):

Standards - Mehr Wunsch als Wirklichkeit

Software-Entwickler müssen sich weiter in Geduld üben: Trotz vielfältiger Bemühungen ist in der Programmentwicklung noch kein herstellerübergreifender Standard in Sicht. Eine derartige Standardisierung sollte im Idealfall alle Tools und Entwicklungsmittel wie Projektbibliothek, Datenbank und Projektführung erfassen.

Unsere Welt ist genormt - vom Briefpapier bis zur Konservendose, vom Damenstrumpf bis zum Flugzeugtreibstoff. Alle wissen die Vorteile einer solchen Standardisierung zu schätzen. Man spricht die gleiche Sprache, man konstruiert auf gleichem Niveau, und das richtige Ersatzteil rollt auf Knopfdruck heran.

Auch in der Computerindustrie kennt man mittlerweile derartige Standards. Wie sie zustande kommen, ist hinlänglich bekannt: Der Marktführer übernimmt die Hebammen-Rolle, bekannte Institute wie das "Institute of Electrical and Electronics Engineers" (IEEE), zeichnen als Paten und sorgen dafür, daß möglichst alle mit dem Kind spielen. Nach geraumer Zeit kann man dann davon ausgehen, daß diese Standards Allgemeingut geworden sind.

Ein spezielle Form der Standardisierung sind die unternehmensspezifischen Standards, also Routinen und die Gewohnheit, bestimmte Dinge und Abläufe immer nach dem gleichen Schema zu organisieren. Diese Werksnormen, wie man das in der Großindustrie nennt, haben einen beachtlichen Rationalisierungseffekt, und manchmal dienen sie auch als Schutz vor Nachahmung durch die Konkurrenz.

Eine spezielle, kaum wettbewerbsorientierte Form derartiger Standards gibt es in den Softwarepaketen von Großrechnersystemen. Im Laufe der zehn- bis zwanzigjährigen Computerprogramm-Geschichte in Großfirmen haben sich bestimmte Grundsätze und Regeln herausgebildet, die bei Neuentwicklungen und Änderungen nicht einfach ignoriert werden können. Für den Software-Entwickler bringt das natürlich gewisse Probleme mit sich: Einmal muß er diese Regeln kennen, und zum anderen sollten sie ihm in einer Form vorliegen, in der ihre strikte Einhaltung die Entwicklungsarbeit nicht oder nur wenig behindert. Die Beachtung solcher Regeln ist eine Voraussetzung, um neue Programmteile problem- und fehlerlos in bestehende Softwaresysteme zu integrieren.

Insellösungen sind besonders schwierig

Wird auf dem Zielrechner direkt programmiert, ist diese Forderung relativ leicht zu realisieren. Will man jedoch, was sinnvoll und kostengünstig ist, auf einem Entwicklungssystem arbeiten, so müssen diese Standards übertragen werden. Häufig erfolgt das heute noch in Listenform - eine umständliche, zeitraubende Art, Basisinformationen bei der Entwicklungsarbeit zu berücksichtigen.

Hier entstehen bei Insellösungen zusätzliche Schwierigkeiten. Besser wäre es also, man könnte direkt auf die Data-Dictionaries des Zielrechners zugreifen. In diesem Fall fragt es sich jedoch, ob die Informationen in einer auf dem Entwicklungssystem verarbeitbaren Form zur Verfügung stehen und wie man die darin enthaltenen Standards verwalten soll. Die Lösung kann eigentlich nur eine zentrale, vollintegrierte Entwicklungsdatenbank sein.

Ist eine solche Entwicklungsdatenbank einmal installiert, läuft der Datenaustausch relativ einfach ab. Über eine spezielle Schnittstelle zum Data-Dictionary des Zielrechners werden die Standards übernommen und mit den Entwicklungs-Tools kombiniert. Selbstverständlich muß die Entwicklungsumgebung so konzipiert sein, daß die Vorgaben verstanden und dem Entwickler in ergonomisch optimaler Form zur Verfügung gestellt werden.

Man könnte das mit einer Navigationshilfe vergleichen, bei der die Standards quasi die Funkfeuer sind, an denen sich der Entwickler bei seiner Arbeit orientiert. Ist ein solches Navigationssystem zudem noch Hardware- und Betriebssystem-unabhängig, so bildet es in der Entwicklungsumgebung einen eigenen, neuen Standard, der wiederum zur Arbeitserleicherung beitragen kann. Wenn das erreicht ist, besteht eine ideale Basis für die Entwicklungsarbeit.

Im Objekt-Verwaltungssystem des Entwicklungsrechners sind die Standards des Zielsystems zusammen mit den Entwicklungsdaten als eigenständige Objekte definiert, sowohl technisch (zum Beispiel Länge eines Datensatzes) als auch beschreibend im Dokumentationsteil. Die Standards bilden dabei eine wichtige Grundlage im Projekt.

Die Ziele der integrierten Produktionsumgebung sind darauf ausgerichtet, die Arbeit des Entwicklers von Überlegungen zur Methodenwahl zu befreien und ihm zu helfen, sich auf die Problemlösung zu konzentrieren. Diese Art einer standardisierten Führung durch das Projekt stellt eine ganz neue Form der Software-Produktion dar: "Make it easy" heißt die Devise. Der Entwickler muß die erforderlichen Standards nicht mühselig suchen, sondern das System bietet sie ihm an, wenn er sie braucht.

Im übrigen erleichtert dieses Navigationssystem nicht nur die Entwicklungsarbeit; es führt zu einer Vereinheitlichung der einzelnen Programmteile und zu einer Erhöhung der Durchgängigkeit, was letztlich bei Pflege- und Wartungsarbeiten positiv zu Buche schlägt. Ein Optimum an Leistungsfähigkeit läßt sich dann erreichen, wenn die im Entwicklungssystem vorhandenen Werkzeuge wie Vorgehensmodelle und Analysemethoden in die Standards des Zielrechners nahtlos eingebunden werden können.

Das Entwicklungssystem wäre jedoch nicht vollständig, wenn nicht die Möglichkeit bestünde, die Ergebnisse der Arbeit und die einzelnen Schritte der Entwicklung einschließlich aller Dokumentationen zu sammeln. Dafür sieht die integrierte Projektunterstützungs-Umgebung (IPSE) eine Projektbibliothek als Teil der Entwicklungsdatenbank vor; sie verwaltet die erstellten Teilprodukte, integriert sie zum Gesamtprojekt und steht ebenfalls für Pflege- und Wartungsaufgaben über die gesamte Lebenszeit des Programmes zur Verfügung. Die Standards, die im vorangegangenen Prozeß verwendet und neu geschaffen wurden, müssen selbstverständlich auch auf die Projektbibliothek durchgreifen.

Je komplexer eine IPSE wird, je mehr Funktionen also mit dedizierten Werkzeugen bewältigt werden können, um so mehr stellt sich die Frage nach der Möglichkeit, Fremd-Tools einzusetzen; um sie zu beantworten, muß untersucht werden, wie es um den Stand der Vereinheitlichung von Anforderungen an Entwicklungswerkzeuge generell bestellt ist. Wie bei allen Bemühungen um Standardisierung in der Computerbranche, so kommen auch hier die Impulse aus den USA.

Die Zahl der Entwicklungs-Tools, die als "Standard-verdächtig" eingestuft werden, wird allein in den USA auf über 200 geschätzt. Namhafte Institutionen melden sich in Sachen CASE-Standard zu Wort. Sowohl das Software Productivity Consortium (SPC) als auch das IEEE bemühen sich seit dem vergangenen Jahr fieberhaft, Standards zu definieren.

Das American National Standard Institute (ANSI) stellt ein Informations Resource Dictionary System (IRDS) in Aussicht, einen erweiterbaren Katalog mit notwendigen Informationsquellen zur Software-Entwicklung. Auch einzelne Hersteller auf diesem Sektor bieten Lösungsversuche an. Das alles läuft zwar erst auf einen Austausch von Dateien und Datei-Informationen hinaus, zeigt aber deutlich, in welche Richtung die Bemühungen gehen. Von einem Standard im Sinne der Normung ist man bei den Entwicklungswerkzeugen jedoch noch weit entfernt.

Zurück zur Standardisierung auf der Ebene der Produktionsumgebung: Gewisse Alleinstellungsmerkmale, die jedem Zielrechnersystem eigen sind, verlangen vom Entwicklungssystem höchste Flexibilität bei der Behandlung dieser speziellen Standards. Es kann aber gewiß nicht der Sinn eines Software-Entwicklungssystems sein, nur auf einen einzigen Zielrechner zugeschnitten zu produzieren. Das bedeutet, daß eine noch viel höhere Flexibilität erwartet werden muß, wenn das System für unterschiedliche Zielrechner eingesetzt werden soll. Damit steigen

die Anforderungen an die Produktionsumgebung im Entwicklungssystem noch einmal beträchtlich.

Bisher wurde ausschließlich über das Erkennen und Akzeptieren vorhandener Standards gesprochen. Es kann aber durchaus auch der Fall eintreten, daß ein Entwicklungssystem selbst Standards schafft. So verhält es sich bei den sogenannten Turn-Key-Systemen, die eine geschlossene, integrierte Einheit von Entwicklungs-Software und -Hardware bilden und so eine völlig neue Produktionsumgebung schaffen. Die Nachfrage nach kompletten Entwicklungssystemen ist groß; sie werden überall dort eingesetzt, wo bisher auf dem Zielrechner direkt entwickelt wurde.

Alle Standardisierungsbemühungen dienen der Arbeitserleichterung und der Vereinfachung von Produktionsprozessen. Das trifft für jede Form von Vereinheitlichung in der Vorgehensweise beziehungsweise im Einsatz der Arbeitsmittel zu, gilt aber in besonderem Maße für die Entwicklungsstandards in der Softwareproduktion. Eine integrierte Software-Produktionsumgebung zeichnet sich dadurch aus, daß weitgehend alle Produktionsschritte einem einheitlichen (standardisierten) Schema folgen. Von der Analysephase über den Entwurf und die Implementierung bis hin zu Test und Integration wird das Entwickler-Team geführt. Die einheitliche Benutzeroberfläche - integraler Bestandteil der Produktionsumgebung -, durchgängige Help-Funktionen und die Entwicklungsdatenbank ermöglichen eine Standardisierung und sichern den Weg durch die Entwicklung. In der Projektbibliothek werden alle Schritte der Produktion festgehalten, zusammengefaßt und für Betrieb und Wartung bereitgestellt.

Wenn in Zukunft die Produktion von Software, besonders bei Großprojekten, überhaupt noch in einem akzeptablen Preis/Leistungs-Verhältnis möglich sein soll, führt an der Standardisierung kein Weg vorbei. Je intensiver sich das Zusammenspiel der einzelnen Phasen und der unterschiedlichen Werkzeuge gestaltet, um so schneller und effizienter läuft der Entwicklungsprozeß ab - ein wichtiger Motivationsfaktor für alle Projektbeteiligten.