Kein wesentlicher Unterschied zur Programmerstellung

CASE kann durch vielseitiges Dictionary viel billiger werden

31.08.1990

Klaus Speicher ist Software-Engineer in München.

Bei geschickter Nutzung bietet ein Data Dictionary (DD) Unterstützung in allen Phasen des arbeitsteiligen Software-Erstellungsprozesses. Koordiniert man diese Einzelschritte zu einer einheitlichen Anwendung, so erhält man ein Tool zur Durchführung eines Computer Aided Software Engineerings (CASE) auf Basis eines Data Dictionaries.

Software-Entwicklung auf rechnerunterstützter Basis unterscheidet sich nicht wesentlich von der Programmerstellung auf herkömmliche Art und Weise. Auch hier wird der Prozeß in die Phasen Erhebung und Analyse, Entwurf, Programmierung, Test und Dokumentation unterteilt. Da einem CASE-Tool aber eine einheitliche Entwicklungsmethode zugrundeliegen muß - die in den einzelnen Phasen erarbeiteten Daten sollen ja in die nächsthöhere überführt werden -, bedeutet die Entscheidung für die Verwendung eines CASE-Tools auch die Festlegung auf ein durch alle Phasen gehendes, einheitliches Software-Engineering-Konzept. Der Vorteil dieser Methode liegt auf der Hand: Die von einer Entwicklungsstelle erzielten Resultate können von der folgenden Abteilung als Grundlage benutzt und weiter ausgebaut werden, Durch Verwendung dieser Arbeitsergebnisse läßt sich die ,jeweils höhere Phase entlasten und somit verkürzen.

Ergebnisse ins Data Dictionary eingespeist

Beginnend mit der Erhebung vorhandener Kundenwünsche für ein neues Datenverarbeitungs-Projekt kommt das Data Dictionary erstmals zum Einsatz. In dieser Phase sammelt der DV-Organisator Ideen sowie konkrete Vorstellungen des voraussichtlichen Kundenkreises für das neuzuentwickelnde Datenverarbeitungs-Produkt. Nach eingehender Analyse der gesammelten Anregungen folgt die Auswahl des zu verwendenden Data Dictionaries sowie des zugehörenden Software-Engineering-Konzeptes. Die in der ersten Phase erzielten Ergebnisse werden anhand dieses Konzeptes in das ausgewählte Data Dictionary eingespeist. Danach erfolgt mit der Übergabe des Data Dictionaries von der Analysezur Entwurfsabteilung der Übergang in die nächsthöhere Programm-Entwicklungsphase.

Handelt es sich bei der ausgewählten Data-Dictionary-Produktreihe um ein mächtiges Konzept, so lassen sich die in der ersten Phase erzielten Arbeitsergebnisse anhand eines Generators in Dokumentenform aufbereiten. Zu diesem Zeitpunkt kommt die erste konkrete Form der Arbeitsersparnis, die eine Produktentwicklung mit Data Dictionary bietet, zum Tragen: Aus einem einheitlichen Input läßt sich mittels eines Generators immer wieder derselbe Output erzeugen. Bei auftretenden Änderungen braucht jeweils nur das betroffene Objekt bearbeitet zu werden. Der neue Output wird mittels Generator erzeugt und erfordert somit keinen zusätzlichen Entwicklungsaufwand.

Organisator bereitet nur Struktur auf

In der Entwurfsabteilung bereitet der DV-Organisator die Ideen, die er in der Analysephase gesammelt und in das Data Dictionary eingespeist hat zu einer Programmstruktur auf. Anwendung findet dabei das Entity-Relationship-Modell sowie die ausgewählte Software-Engineering-Methode, die normalerweise als Strukturkatalog

der Data-Dictionary-Anwendung zugrunde liegt. Die in der ersten Phase eingespeisten Daten werden aufbereitet und zu einer sinnvollen Programmstruktur verknüpft. In dieser Phase ist es durchaus angebracht, die später zu verwendende Programmiersprache schon in den Entwurfsvorgang miteinzubeziehen. Dieser Empfehlung wird normalerweise erstmals beim Aufbau des Strukturkataloges Rechnung getragen. Als Endergebnis liefert die

Entwurfphase die fertige Programmstruktur, die in Form eines zweiten Data Dictionaries an die Programmierabteilung weitergegeben wird. Auch beim Abschluß dieser Phase empfiehlt sich die Erstellung eines Abschlußberichtes mittels Dokumentengenerator.

Möglichkeiten für die Attributierung

Die Programmierabteilung verarbeitet die beim Entwurf erzeugte Datenstruktur weiter. Die einzelnen Objekte werden mittels der dem Data Dictionary zugrunde liegenden Engineering-Methode um die Programmiersprachen-spezifischen Attribute erweitert. Deshalb war es also wichtig, die später zu verwendende Implementierungssprache schon beim Entwurf des Strukturkataloges zu berücksichtigen: Das Data Dictionary muß eine effektive Bearbeitungsmöglichkeit für die Attributierung bieten.

Am besten läßt sich diese Tätigkeit mit fest implementierter Bildschirmmasken durchführen. Hat der zuständige Programmierer diese Arbeit erledigt, so wird aus der abgespeicherten Programmstruktur mittels eines Generators der fertige Source-Code generiert, der anhand von Precompiler, Compiler und zugehörigen Dokumentations-Tools weiterverarbeitet werden kann. Nach Durchführung der ersten Prüfungen geht das erzeugte Data Dictionary zusammnen mit der Anwendung und der zugehörigen Dokumentation an die Testabteilung.

Generator bereitet Daten zu Testfällen auf

Auch hier kann die in der Programmierabteilung erzeugte Struktur mittels eines Generators aufbereitet werden. Der Generator sollte zufällige Daten sowie Daten zum Test der oberen und unteren Grenzwerte liefern. Die automatisch erstellten Daten bilden die Grundlage für die durchzuführende Produktprüfung. Zur Unterstützung des Softwareprüfers sollte noch ein Generator bereitgestellt werden, der die erzeugten Testdaten zu Testfällen aufbereitet. Das geschieht am besten durch Aufbereitung dieser Daten am Bildschirm sowie in Listenform erreicht. Am Bildschirm kann der Prüfer zusätzlich zu den Testdaten auch die erzielten Ergebnisse archivieren. Mit Abschluß der Prüfung endet der Software-Entwicklungsprozeß.

Begrenztes Konfigurations-Management

Über die bisher aufgezeigten Vorteile dieses Vorganges bietet Software-Engineering mit einem Data Dictionary auch die Möglichkeit, die einzelner Komponenten, die während des Programm-Erstellungsvorganges entstanden sind, zu verwalten, also ein Konfigurations-Management auf begrenztem Gebiet durchzuführen. Hierfür stehen die normalen Auswertungsfunktionen zur Verfügung, die jedes Data Dictionary standardmäßig bietet.

Folgende Werkzeuge wurden vorgestellt:

- Generatoren für Dokumente am Ende der Erhebungs- und der Analysephase,

- einen Programmgenerator für das Ende der Programmierphase sowie

- einen Testfallgenerator, der am Anfang der Testphase Verwendung findet.

Als absolutes Muß gilt allerdings nur ein Programmgenerator. Alles, was darüber hinausgeht, dient einzig zur Verbesserung des Komforts einer Data-Dictionary-CASE-Anwendung.

Zur Unterstützung des Software-Engineers sollte die DD-Anwendung aber neben den oben besprochenen Tools und DD-spezifischen Auswertungsfunktionen auch eine spezielle Grafikoberfläche beinhalten. An eine solche Unterstützung sind bestimmte Anforderungen zu stellen: Sie muß dem Entity-Relationship-Modell genügen. Hierfür erscheint die N2-Chart-Technologie am geeignesten.

Ein N2-Chart besteht aus einer n*n großen Anzahl von Feldern, die quadratisch angeordnet sind. Dadurch ergeben sich in der Diagonalen genaue Felder, die die Entitäten anzeigen. Oberhalb dieser Diagonalen werden die Relationen einer in der Hierarchie höher stehenden Entität zu einer niederen dargestellt.

Unterhalb der Diagonalen erscheinen die Relationen von einer niederrangigen zu einer höherrangigen Entität. Die Gesamthierarchie wird durch den DD-Strukturkatalog festgelegt. Auf diese Art und Weise lassen sich alle Datenstrukturen, die in einen Data Dictionary abgespeichert wurden, übersichtlich darstellen.

Vorteil: CASE im Stute of the Art

Was aber bringt Computer Aided Software Engineering auf Basis eines Data Dictionaries im Gegensatz zu einer CASE-Anwendung herkömmlicher Art? Die Vorteile lassen sich klar und deutlich aufzeigen: Mit beiden Anwendungen läßt sich ein CASE auf dem derzeit höchsten Entwicklungsstandard durchführen.

Im Gegensatz zu einer herkömmlichen Anwendung, die einzig zum Zwecke der

Programmentwicklung dient, können mit einem Data Dictionary noch viele andere von CASE unabhängige Funktionen ausgeführt werden.

Der Vorteil eines Data Dictionaries liegt also in der Vielseitigkeit, was die CASE-Anschaffungskosten verbilligt.

Ein weiterer Vorteil liegt sicherlich darin, daß sich ein Data Dictionary als zentraler Baustein nutzen läßt. Auf die einmal abgespeicherten Daten kann auch aus anderen

Anwendungen heraus zugegriffen werden.

Ein besonderes, für andere CASE-Anwendungen so symtomatisches internes Abspeicherschema, die darüber hinaus nutzlos sind, entfällt deshalb. Dadurch werden die Strukturen übersichtlich gehalten und stehen auch außerhalb der Anwendung zur Verfügung,

Nachteile des Data Dictionary

Genauso wie es Vorteile für CASE-Anwendungen mit einem Data Dictionary gibt, lassen sich auch Nachteile anführen. Einer der gewichtigsten Gründe, die gegen die Verwendung eines Data Dictionaries sprechen, ist der relativ hohe Einarbeitungsaufwand, den der Software-Engineer braucht, um seine Arbeit mit dem DD durchführen zu können.

Eine CASE-Anwendung, die zum Beispiel auf dem Entwurf von Datenflußplänen basiert, ist viel leichter erlernbar als der Umgang mit einem Data Dictionary mit N2-Chart-Grafikoberfläche.

Trotz allem stellt das Data Dictionary durch die Vielzahl möglicher Anwendungen die CASE-Unterstützung der Zukunft dar.