Weiter: Unabhängige Entwicklung der
Hinauf: 18.5 Ein Vergleich
Zurück: 18.5 Ein Vergleich
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:
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
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