Entwurf und Funktionsweise

ursprüngliches Klassendiagramm

Das anfangs entworfene Klassendiagramm bestach durch seine Übersichtlichkeit. Dennnoch erwies es sich nicht als bestandsfähig, weil uns die Komplexität einer grafischen Umsetzung in keinster Weise bewusst war. Somit wuchs das Projekt innerhalb von sechs Monaten auf einen fast unüberschaubaren Umfang an. Nur ein kleiner Kern des Ursprünglichen blieb im Paket 'game' erhalten. Dennoch musste so manche Assoziation geändert werden um einer effizienten Algorithmierung nicht im Wege zu stehen.


tatsächliches Klassendiagramm

Das neue Klassendiagramm beinhaltet nun das eigentliche Spiel, die dazugehörigen grafischen Klassen und ein Frontend aus vielen einzelnen Anzeigen. Zudem ist zur tonalen Untermalung eine Klasse Sound implementiert, die eine atmosphärische Beschallung sicherstellt.
Nicht im Klassendiagramm aufgeführt sind alle aus der Java API benutzten Klassen und Interfaces die zur Vereinfachung der Programmierung beitragen.


Sequenzdiagramm Frontend

Um in einem solchen Gewirr noch die Übersicht zu behalten, ist es dringend erforderlich einige weitere Diagramme zur Veranschaulichung zu Rate zu ziehen.
Die Funktionsweise und der Ablauf des Frontends lässt sich in einem Sequenzdiagramm veranschaulichen. Dieses wiederum erklärt einige Assoziationen aus dem Klassendiagramm und deren zeitliche Abfolge beim Start des Spiels.


Sequenzdiagramm Spielzug

Weil eine Veranschaulichung sämtlicher Abläufe im Spiel den Rahmen und die Übersichtlichkeit der Diagramme sprengen würde, werden nur einzelne Vorgänge vereinfacht dargestellt.
Um die Kommunikation zwischen den Klassen während eines einzigen Spielzuges aufzuzeigen, wird ein weiteres Sequenzdiagramm genutzt. Um eine gewisse Übersichtlichkeit zu bewahren werden nicht alle möglichen Varianten im speziellen durchlaufen, sondern nur erwähnt.


Aktivitätsdiagramm Spielzug

Die verschiedenen Möglichkeiten und Wege bis zm Ende eines Spielzuges werden besser in einem Aktivitätsdiagramm dargestellt. Dieses erlaubt Verzweigungen von Wegen und Wiederholungen von Aktionen. Wenn man die einzelnen Wege von Möglichkeiten verfolgt, erkennt man die Nicht-linearität des Spielzuges. Nur ein Anfangs und ein Endpunkt begrenzen den Ablauf, um Terminiertheit zu gewährleisten, und werden immer durchlaufen. Veraltete, aber wohl bekannte Struktogramme könnten zur Darstellung also gar nicht herangezogen werden.