Das Glossar als Hilfsmittel

Abschließend möchte ich noch zeigen, wie man ein Glossar gewinnbringend in Analyse und Design einsetzen kann.

... in der Analyse

An der Hamburger Universität wurde eine Methode für den objektorientierten Entwurf entwickelt, bei der die zukünftigen Anwender des Softwaresystems stärker in die Analyse miteinbezogen werden: so soll verhindert werden, daß das System an ihren Bedürfnissen vorbei entwickelt wird [Gryczan, Züllighoven]. Kern dieser Methode ist, daß die Anwender die Ergebnisse der Entwerfer bewerten. Die Ist-Analyse wird zum Beispiel so ausgeführt:

  1. Zunächst führen die Entwerfer Interviews mit den Anwendern, um ein erstes Modell des Anwendungsbereichs zu entwickeln.
  2. Dieses Modell dokumentieren die Entwerfer in Szenarios und einem Glossar. In einem Szenario beschreiben die Entwerfer einen typischen Arbeitsablauf der Anwender in deren Fachsprache; die Begriffe der Fachsprache werden dabei hervorgehoben und in einem Glossar erläutert.
  3. Die Szenarios und das Glossar werden dann mit den Anwendern zusammen diskutiert; unter Umständen müssen die Entwerfer die Szenarios und das Glossar überarbeiten.

Dieses Vorgehen hat folgende Vorteile:

  1. Entwerfer und Anwender entwickeln eine gemeinsame Projektsprache (dokumentiert im Glossar), die auf der Fachsprache der Anwender basiert. Diese gemeinsame Sprache erleichtert die Kommunikation mit den Anwendern während der Analyse.
  2. Anhand der Rückmeldungen der Anwender können die Entwerfer ihr Modell des Anwendungsbereichs überprüfen.

... im Design

Die grammatische Analyse nach Abbott

Abbot hat in [Abbot] eine Methode vorgestellt, mit der man aus einer schriftlichen Spezifikation einen Entwurf eines Softwaresystems ableiten kann. Er hat mit dieser Methode abstrakte Datenstrukturen entwickelt, man kann mit ihr aber auch ein objektorientiertes Klassenmodell erstellen, wie z. B. in [Pomberger, Blaschek, S. 120ff.] gezeigt wird.

Bei dieser Methode sucht man in der schriftlichen Problemspezifikation die Substantive und Verben. Die Substantive in der Problembeschreibung sind Kandidaten für Klassen, die Verben sind Kandidaten für Operationen, wenn sie eine Aktion bezeichnen (umschalten, ...), oder sie zeigen Vererbunsbeziehungen zwischen zwei Klassen (sein, ...).

Natürlich muß man unter diesen Kandidaten sorgfältig auswählen; dafür gibt es auch Heuristiken, [Pomberger, Blaschek] stellt einige vor. Dennoch kann diese Methode keinen guten Entwurf garantieren. Es gibt zum Beispiel folgende Probleme:

Die schlimmste Gefahr ist aber, daß eine wichtige Klasse übersehen wird, weil das entsprechende Substantiv nicht in der Spezifikation erwähnt wurde, oder weil es nach der Heuristik aussortiert wurde.

Schlüsselabstraktionen im Glossar

Auch aus dem Glossar kann man ein Klassenmodell entwickeln: die meisten Begriffe eignen sich auch für Klassen (oder Operationen). Im Vergleich mit der grammatischen Analyse zeigen sich einige Vorteile: bei der grammatischen Analyse hat man viel Arbeit, aus der großen Zahl an Kandidaten die vielversprechenden herauszusuchen. Demgegenüber entsprechen die Fachbegriffe in unserem Glossar den Schlüsselabstraktionen nach Booch: "A key abstraction is a class or object that forms part of the vocabulary of the problem domain." [Booch S. 162]. Booch empfiehlt, solche Schlüsselabstraktionen zu suchen und im Entwurf zu verwenden: "if the domain expert talks about it, then the abstraction is usually important." [Booch S. 162]. Wenn man also ein Glossar erstellt hat – z. B. so wie im vorigen Kapitel Das Glossar als Hilfsmittel in der Analyse – kann man sehr schnell ein Klassenmodell entwickeln (zumindest für die problemorientierten Klassen).

Unser Glossar zeigt außerdem über die Relationen, in welcher Beziehung die Begriffe zueinander stehen: aus der Abstraktionsbeziehung lassen sich leicht Klassenhierarchien bilden, und die Bestandsbeziehung zeigt die Aggregationsbeziehungen zwischen Klassen.


zurück weiter