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:
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).

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:
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

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]

[Abbildungsverzeichnis] [Literaturverzeichnis]