In diesem Kapitel wollen wir ein Beispiel zur Illustration der objekt-orientierten Entwurfsmethode studieren und diesen Ansatz einer herkömmlichen Entwurfsmethode gegenüberstellen. Wir wählen dazu ein Programm, das es ermöglicht, einen Index über die Titeln von in wissenschaftlichen Journalen erschienenen Artikeln zu erstellen. (In seinen Grundzügen wurde das Beispiel aus [Int80] übernommen.)
Zuerst geben wir exemplarisch an, wie die Index-Erstellung funktionieren soll. Angenommen, wir haben die zwei folgenden Titeln von Artikeln, die in Journalen erschienen sind, als Eingabe für unser Programm:
Titel | Nr. |
Röntgenstrahlen und Quasare. | |
Röntgenstrahlen und ihre Beugung. |
Röntgenstrahlen und ihre | BEUGUNG. | ||
Röntgenstrahlen und | IHRE | Beugung. | |
Röntgenstrahlen und | QUASARE. | ||
RöNTGENSTRAHLEN | und ihre Beugung. | ||
RöNTGENSTRAHLEN | und Quasare. | ||
Röntgenstrahlen | UND | ihre Beugung. | |
Röntgenstrahlen | UND | Quasare. |
Die mittlere Spalte des Index ist eine alphabetische Liste aller Wörter, die in den Titeln vorkommen. Die am weitesten rechts stehende Spalte gibt eine Referenz wieder, wo man genauere Information über den Artikel, wie z.B. den Namen des Autors, oder wo und wann der Artikel publiziert wurde, nachschlagen kann.
Die obige Darstellungsart ist wahrscheinlich eine sehr brauchbare, wenn man einen solchen Index verwenden will. Wir wollen aber ab jetzt eine andere Darstellungsart wählen und zwar in der Form:
BEUGUNG. | Röntgenstrahlen und ihre |
IHRE | Beugung. Röntgenstrahlen und |
QUASARE. | Röntgenstrahlen und |
RöNTGENSTRAHLEN | und ihre Beugung. |
RöNTGENSTRAHLEN | und Quasare. |
UND | ihre Beugung. Röntgenstrahlen |
UND | Quasare. Röntgenstrahlen |
Diese Art der Darstellung hat mehrere Vorteile:
Bei diesem Beispiel handelt es sich um ein ganz einfaches System. Es könnte daher von einem guten Programmierer innerhalb weniger Tage bis weniger Wochen implementiert werden. Eigentlich tauchen dabei die wirklichen Probleme des Systementwurfes nicht auf. Es ist aber sehr schwer, ein wirklich großes, schwieriges Problem einigermaßen detailliert zu betrachten, daher behandeln wir dieses Beispiel so als wäre es ein großes Projekt. Wir beginnen mit einer herkömmlichen Modularisierung und zeigen anschließend einen objekt-orientierten Ansatz.
Johann Blieberger