next up previous contents index
Weiter: Unabhängige Entwicklung der Hinauf: 18.5 Ein Vergleich Zurück: 18.5 Ein Vergleich

Änderungsfreundlichkeit

 

In unserem Beispiel gibt es eine Anzahl von Entwurfsentscheidungen, die fragwürdig erscheinen oder für die es äußerst wahrscheinlich erscheint, daß sie Änderungen unterworfen werden müssen:

  1. Die Entscheidung alle Titeln im Hauptspeicher zu haben. Für Eingaben, die aus vielen Titeln bestehen, ist es ineffizient, alle im Hauptspeicher zu hinterlegen, viel besser ist es dann, sie z.B. auf einem File zu halten.
  2. Für Anwendungen mit wenigen Titeln kann der Ansatz, die Rotationstabelle wirklich als Array von Buchstaben abzuspeichern ein gangbarer Weg sein, soferne genügend Hauptspeicher zur Verfügung steht.
  3. Der Ansatz, die Sortierung des Index zu einem bestimmten Zeitpunkt auszuführen, muß nicht unbedingt der beste sein. Denkbar wäre auch, das n-te Element erst bei Bedarf zu bestimmen, ohne die Tabelle sortiert zu haben.
  4. Das Eingabeformat.

Wenn wir nun in Gedanken jede dieser Änderungen durchführen, sehen wir den Aufwand betreffend beträchtliche Unterschiede zwischen den beiden Modularisierungskonzepten. Jede Änderung betrifft im objekt-orientierten Ansatz nur einen einzigen Modul, bei der herkömmlichen Modularisierung hingegen sind meist mehrere Module betroffen.

  1. Die Änderung, wie die Titeltabelle gespeichert werden soll, betrifft bei der herkömmlichen Modularisierung alle Module außer dem Hauptmodul.

    Bei der objekt-orientierten Modularisierung ist nur der Titelmodul von der Änderung betroffen. Alle anderen Module benutzen das Titelobjekt ja nur über die angebotenen Operationen. Solange also diese Operationen sich nicht ändern, sind die anderen Module nicht betroffen.

  2. Sollten wir uns entschließen die Rotationstabelle als Array von Buchstaben abzuspeichern, so müssen wir beim herkömmlichen Ansatz den Rotationsmodul, den Sortiermodul und den Ausgabemodul ändern. Bei der objekt-orientierten Modularisierung bleibt die Änderung auf den Rotationsmodul beschränkt.
  3. Bei der herkömmlichen Modularisierung erwartet der Ausgabemodul, daß eine vollständig sortierte Rotationstabelle vorhanden ist. Daher müssen wir hier gegebenenfalls immer beide Module einer Änderung unterwerfen.

    Im objekt-orientierten Ansatz verbirgt der Sortiermodul nicht nur die Entwurfsentscheidung, wie die sortierte Rotationstabelle aussieht, sondern auch, wann die Sortierung durchgeführt wird. Daher braucht hier gegebenenfalls nur der Sortiermodul geändert werden.

  4. Die Änderung des Eingabeformates ist deswegen interessant, weil sie in beiden Modularisierungskonzepten nur einen Modul betrifft. Der Unterschied ist nur, daß das beim herkömmlichen Ansatz zufällig entstanden ist, beim objekt-orientierten aber geplant.


next up previous contents index
Weiter: Unabhängige Entwicklung der Hinauf: 18.5 Ein Vergleich Zurück: 18.5 Ein Vergleich

Johann Blieberger
Wed Feb 11 09:58:52 MET 1998