Einstieg

4.1 Einstieg in die Lösungsstrategie

Die folgende Tabelle stellt die Qualitätsziele von DokChess (siehe Abschnitt 1.2) passenden Architekturansätzen gegenüber, und erleichtert so einen Einstieg in die Lösung.

Qualitätsziel Dem zuträgliche Ansätze in der Architektur
Zugängliches Beispiel (Analysierbarkeit)
  • Architekturüberblick gegliedert nach arc42
  • Explizites, objektorientiertes Domänenmodell
  • Modul-, Klassen- und Methodennamen in Deutsch, um englische Schachbegriffe zu vermeiden
  • Ausführliche Dokumentation der öffentlichen Schnittstellen in javadoc
Einladende Experimentierplattform (Änderbarkeit)
  • verbreitete Programmiersprache Java, → (a)
  • Schnittstellen für Kernabstraktionen (z.B. Stellungsbewertung, Spielregeln)
  • Unveränderliche Objekte (Stellung, Zug, …) erleichtern Implementierung vieler Algorithmen
  • „Zusammenstecken“ der Bestandteile mit Dependency Injection führt zu Austauschbarkeit, → (b)
  • Hohe Testabdeckung als Sicherheitsnetz
Bestehende Frontends nutzen (Interoperabilität)
  • Verwendung des verbreiteten Kommunikationsprotokolls xboard, → (c),
  • Einsatz des portablen Java, → (a)
Attraktive Spielstärke (Attraktivität)
  • Integration von Eröffnungsbibliotheken → (d)
  • Implementierung des Minimax-Algorithmus und einer geeigneter Stellungsbewertung, → (e)
  • Integrationstests mit Schachaufgaben für taktische Motive und Mattsituationen
Schnelles Antworten auf Züge (Effizienz)
  • Reactive Extensions für nebenläufige Berechnung mit neu gefundenen besseren Zügen als Events → (f)
  • Optimierung des Minimax durch Alpha-Beta-Suche, → (e)
  • Effiziente Implementierung des Domänenmodells
  • Integrationstests mit Zeitvorgaben

Kleine Buchstaben in Klammern → (x) verorten einzelne Ansätze aus der Tabelle im folgenden schematischen Bild. Der restliche Abschnitt 4 führt in wesentliche Architekturaspekte ein und verweist auf weitere Informationen.

Informelles Überblicksbild für DokChess Bild: Informelles Überblicksbild für DokChess