UML ábrák és egyéb tervek
Menü terv
A használati eset diagramm alapján könnyedén elkészíthető e menü, szinte csak végig kell menni az ábrában használt esetek mentén, kissé kiegészítve azokat.
A File menü Új menüpontjába azért helyeztem el új menüpontként az Üres háló menüpontot, mivel ez majd ki fog egészülni egy új elemmel, a rejtvény generálással, ami nem a diplomamunka része.
A menü összeállítása pedig egész egyszerűen ment, más windows alkalmazásokat vettem alapul. Nyilván átnéztem előtte más alkalmazások menürendszerét.
(Ez se UML.)
Osztályokat felsoroló ábra
AZ ábra azt mutatja be, hogy a program milyen osztályokból épül fel. A mellette lévő ablakba pedig leírtam, hogy milyen funkciót látnak el az osztályok.
Látszik az, hogy a kb egy csoportba tartozó metódusok így egy osztályba kerülhetnek, ezáltal növelve az átláthatóságot.
Annyi változás történt, hogy a Menu osztály neve Frame lett, mivel bekerült az osztályba az ablak alján lévő lábléc és kezelő metódusai.
Osztály-diagram - program
Az ábrán látható, hogy a főosztály (SzudokuPI) hívja meg az összes többi osztály metódusait, így ez egy centralizált működésű program. A rule_ .. metódus voltaképp helyettesíti a 10 kereső algoritmust, a 3 pont helyébe a kereső függvény nevét kell helyettesíteni, csak a helymegtakarítás miatt van így összevonva.
A főosztály tartalmaz egy tömböt (screenCells), ami a játéktér cellarácsaiban lévő értékeket kezeli.
A Basics osztály általános függvényeket tartalmaz. Ezek segítik a kereső-metódusok munkáját.
Az AboutMe osztály pedig a Rólam ablak megjelenítését szolgáló osztály, ami a névjegyet jeleníti meg. A Szövegek string-halmaz tartalmazza az ablakban megjelenő szövegeket. Annyi a trükkje még, hogy az első sor nagyobb betűkkel van kiírva, ami a címsor, vagyis a program neve.
Osztály-diagram - listák
resultList és assisList kezeléséhez
Ez a két lista tartalmazza a kereső metódusok által talált értékeket, pozíciójukat, és más adataikat.
Az _assistList tartalmazza azon cellák koordinátáit, amelyiket meg kell jelölnie, hogy ott találta meg az eredményül illetve részeredményül szolgáló értéket. E lista a Coords osztályból példányosítandó.
A másik lista neve _resultList, amely pedig a függvények által talált eredmények listáját tartalmazza, és ezt a listát a Result osztályból kell példányosítani.
Továbbá az ábra azt is kimutatja, hogy a lépés sorszámot és a koordinátát örököltethetjük a Coords osztályból, így elkerülve a redundanciát.
A függvények elnevezései utalnak a funkciójukra. Viszont kibővítettem a toString metódussal, amely meg fogja jeleníteni a lista-adatokat string formájában.