3.3 Analyse und Design
3.3.1 Problemspezifikation
Es soll eine Simulation des
Hot-Potato-Routing-Algorithmus [AT88, S. 358f] in der objektorientierten
Programmiersprache Java erstellt werden, die folgende Aspekte
umfaßt:
3.3.2 Analysemodell
Im folgenden wird das Analysemodell
vorgestellt, auf dem das Design und die Implementierung basieren.
Es besteht aus den zwei Subjekten Benutzerschnittstelle
und Problembereich.
Aus Gründen der Übersichtlichkeit
werden Nachrichtenver-bindungen zwischen den Objekten nicht dargestellt.
Abb. 7 zeigt die Modellierung
der Benutzerschnittstelle mit der Hauptklasse Oberflaeche,
die den sichtbaren Teil der Simulation darstellt. Die Funktionalitäten
der Klassen der Benutzer-schnittstelle werden im folgenden
erläutert:
Achtung:
Abbildung 7 - OOA-Modell der
Benutzerschnittstelle der Hot-Potato-Simulation
Die Appletklasse dient zum
Öffnen der Simulation und erzeugt die Threadgroup, damit
jeder Thread in den Simulationsklassen zu der Gruppe des Applet-Threads
gehört. Dies ist notwendig, da der Netscape Navigator sonst
aus Sicherheitsgründen Funktionen wie "resume"
und "suspend" nicht zuläßt auszuführen,
d.h. Anhalten und Fortsetzen der Simulation wären nicht möglich.
Es wird ein Fenster dargestellt,
das die Zeichenfläche (eine Instanz der Klasse Netzwerkdarstellung),
das Textaus-gabefenster und eine Kopfleiste zum Auswählen
der Funktionen beinhaltet.
Diese Klassen dienen dazu
dem Benutzer Informationen zur Simulation und zu dessen Benutzung
zu geben.
Hiermit ist es möglich,
die Zahl der Betrachtungen der Warte-schlangen des aktuellen Knotens
und die Anzahl der pro Durchlauf im Startknoten erzeugten Datenpakete
zu verändern.
Stellt die Funktionalitäten
zur Veränderung der Simulationsgeschwindigkeit bereit.
Abb. 8 zeigt die Darstellung
des Problembereichs, dessen zentrale Klasse die Klasse
Netzwerkdarstellung ist, in der alle Animationsmethoden und der
Routing-Algorithmus implementiert sind.
Die anderen Klassen des Problembereichs
werden im folgenden kurz erläutert:
Diese Klasse modelliert die
Datenpakete. Die wichtigsten Attribute der Klasse sind "startknoten"
und "zielknoten", die Auskunft über Quelle und
Ziel des Datenpakets geben.
Achtung:
Die Einträge der Warteschlange
sind Instanzen dieser Klasse. Die Instanzen speichern jeweils
das Datenpaket und eine Referenz auf die nächste Instanz,
um die Warteschlange zu implementieren.
Diese Klasse modelliert die
Rechner im Netzwerk.
Objekte dieser Klasse stellen
eine Warteschlange dar, die nach dem FIFO-Prinzip funktioniert,
d.h. das Datenpaket, das zuerst in die Warteschlange gestellt
wird, wird als erstes wieder herausgenommen.
Der Zusammenhang dieser Klassen
mit den Klassen des Java AWT kann dem Anhang B entnommen werden.
[Anfang]
[Inhaltsverzeichnis] [Weiter]
Dieses Bild ist im JPG-Format ca. 290 KB und als ZIP-Archiv immerhin noch 168KB groß
Falls sie einen Postscript-Interpreter wie z.B. Ghostview oder einen
postscript-fähigen Drucker haben,
können sie auch die PS-Version erhalten (39KB).
Dieses Bild ist im JPG-Format ca. 230 KB und als ZIP-Archiv immerhin noch 168KB groß
Falls sie einen Postscript-Interpreter wie z.B. Ghostview oder einen
postscript-fähigen Drucker haben,
können sie auch die PS-Version erhalten (38KB).
Abbildung 8 - OOA-Modell des Problembereichs
der Hot-Potato- Simulation