• Nebyly nalezeny žádné výsledky

V t´eto sekci pop´ıˇsi hlavn´ı entity z probl´emov´e dom´eny. Tyto entity jsou za-chyceny na obr´azku 2.2. Jedn´a se o UML diagram tˇr´ıd. Jsou na nˇem z d˚uvodu pˇrehlednosti zachyceny pouze nejd˚uleˇzitˇejˇs´ı entity. Tak´e ze stejn´eho d˚uvodu nebyly br´any v ´uvahu atributy. V kapitole 3 budou obˇe vˇeci rozpracov´any detailnˇeji. Tento model bude jedn´ım ze vstup˚u pro kapitolu 3. Z obr´azku je vidˇet, ˇze jsou dva typy turnaj˚u. Jedn´a se o turnaj jednotlivc˚u a druˇzstev. Tur-naje se l´ıˇs´ı pouze jejich ´uˇcastn´ıky, tedy bud’ osoby neboli hr´aˇci nebo druˇzstva.

Jinak maj´ı stejn´e atributy a vztahy s ostatn´ımi entitami. Kaˇzd´y turnaj mus´ı m´ıt urˇcen turnajov´y syst´em a p´arovac´ı engine. Turnajov´ych syst´em˚u je v´ıce a byli jiˇz vyjmenov´any. Vˇsechny syst´emy maj´ı definovan´e pomocn´e hodno-cen´ı, kter´e lze pro nˇe pouˇz´ıt. Turnaje se ´uˇcastn´ı hr´aˇci nebo druˇzstva. Tito

´

uˇcastn´ıci maj´ı spoleˇcn´e to, ˇze jsou pak nasazov´ani do jednotliv´ych kol tur-naje. Proto jsem pojmenoval tuto entitu jako p´arovateln´y. P´arov´an´ı pak je provedeno pomoc´ı p´arovac´ıho enginu. V´ysledkem p´arov´an´ı jsou pak jednot-liv´e partie ´uˇcastn´ık˚u turnaje. Role hr´aˇc˚u se liˇs´ı podle typu turnaje. V turnaji jednotlivc˚u vystupuj´ı jako samostatn´a entita pro ´uˇcely p´arov´an´ı a poˇrad´ı.

Zat´ımco v turnaji druˇzstev jsou vˇzdy souˇc´astn´ı druˇzstva. V tomto typu tur-naje totiˇz jako jednotka pro p´arov´an´ı kola vystupuje druˇzstvo. Nicm´enˇe hr´aˇci druˇzstva jsou v kolech p´arov´ani s hr´aˇci druh´eho druˇzstva. V jednotliv´ych ko-lech tedy hraje druˇzstvo proti druˇzstvu. Nicm´enˇe vlastn´ı ˇsachov´e hry jsou samozˇrejmˇe hr´any hr´aˇci jednoho druˇzstva proti hr´aˇc˚um druh´eho. Co se t´yˇce osob a rol´ı, tak v modelu se vyskytuje pouze entita hr´aˇc. Role jako ˇreditel tur-naje nebo kapit´an druˇzstva nebyly z d˚uvodu pˇrehlednosti zachyceny. Budou totiˇz pouze atributem dan´ych entit. Napˇr´ıklad kapit´an druˇzstva bude pouze atributem entity druˇzstvo.

Na obr´azku 2.3 je zn´azornˇen UML stavov´y diagram pro jednotliv´e stavy kola. Diagram zaˇc´ın´a zah´ajen´ım neboli vytvoˇren´ım nov´eho kola. Po proveden´ı p´arov´an´ı je kolo zah´ajeno a lze k jednotliv´ym z´apas˚um pˇriˇrazovat v´ysledky.

Pokud se dan´e kolo restartuje, bude ve stejn´em stavu jako po jeho vytvoˇren´ı.

Pokud je kolo ve stavu pˇripraven´em pro p´arov´an´ı nebo jiˇz prob´ıh´a, lze ho zruˇsit. Zruˇsen´e kolo jiˇz nelze obnovit. Prob´ıhaj´ıc´ı kolo je po zad´an´ı vˇsech v´ysledk˚u moˇzno ukonˇcit. T´ım se pak st´av´a souˇc´ast´ı turnaje a jiˇz nelze smazat.

Na obr´azku 2.4 je opˇet zn´azornˇen UML stavov´y diagram, nyn´ı vˇsak pro zn´azornˇen´ı stav˚u ´uˇcastn´ık˚u turnaje. Pro zjednoduˇsen´ı nen´ı zachycen pˇr´ıpad, kdy je turnaj jiˇz ukonˇcen. Po pˇrid´an´ı do turnaje, je dan´y ´uˇcastn´ık pˇripraven pro nasazen´ı do dalˇs´ıho kola. Pokud vˇsak pˇred nasazen´ım do dalˇs´ıho kola byl hr´aˇc suspendov´an, nez´uˇcastn´ı se tohoto kola ani kol n´asleduj´ıc´ıch, dokud se ne-zruˇs´ı jeho suspendace. Pokud je pˇripraven pro nasazen´ı do dalˇs´ıho kola a dan´e kolo bylo zah´ajeno, z´uˇcastn´ı se ho. Po ukonˇcen´ı tohoto kola se kromˇe u tur-naj˚u s vyˇrazovac´ım syst´emem vr´at´ı vˇzdy do stavu pˇripraven pro p´arov´an´ı do dalˇs´ıho kola. U turnaj˚u s vyˇrazovac´ım syst´emem, z´aleˇz´ı na v´ysledku ´uˇcastn´ıka v dan´em kole. Pokud prohr´al, pˇrech´az´ı natrvalo do stavu vyˇrazen.

2.4. Dom´enov´y model

Švýcarský systém Vyřazovací systém Systém každý s každým

Obr´azek 2.2: Dom´enov´y model

2. Anal´yza

Probíhající

Zrušené

Ukončené Nové

Zahájení dalšího kola

Provedení párování

Zrušení kola

Ukončení kola

Zrušení kola

Restart kola

Obr´azek 2.3: Stavov´y diagram kola turnaje

2.4. Dom´enov´y model

Připraven pro párování do dalšího kola

Přidání účastníka do turnaje

Suspendován Účastní se probíhajícího

kola

Byl účastník vyřazen ?

Vyřazen Jedná se o

turnaj s vyřazovacím systémem ?

[ano]

Suspendace Zahájení dalšího kola

Ukončení kola

[ano]

Zrušení kola

[ne]

Zrušení suspendace [ne]

Obr´azek 2.4: Stavov´y diagram ´uˇcastn´ıka turnaje

Kapitola 3

avrh

V t´eto kapitole se budu vˇenovat n´avrhu architektury aplikace a provedu v´ybˇer technologi´ı pro implementaci. Hlavn´ım vstupem bude v´ystup pˇredchoz´ı ka-pitoly, tedy anal´yzy. Pro popisky v UML diagramech jiˇz nebude pouˇz´ıv´ana ˇ

ceˇstina ale angliˇctina. Je to z toho d˚uvodu, ˇze jednotliv´e elementy budou vˇetˇsinou pˇredstavovat nˇejak´e elementy ve zdrojov´ych souborech aplikace. Pˇri programov´an´ı bude totiˇz pouˇz´ıv´ana angliˇctina.

3.1 Verze Javy a GUI

Verze Javy byla vybr´ana Java SE 8, jelikoˇz je pro ´uˇcely aplikace dostaˇcuj´ıc´ı.

Vyˇsˇs´ı verze nebyla zvolena, protoˇze budouc´ı uˇzivatel´e aplikace mohou m´ıt st´ale nainstalovanou verzi 8. Pro testov´an´ı budou pouˇzity jednotkov´e testy pomoc´ı JUnit verze 5.

Pro GUI bylo moˇzno vyb´ırat z v´ıce moˇznost´ı. Jedn´a se napˇr´ıklad o AWT, Swing, SWT, JavaFX. Zvolil jsem JavaFX, jelikoˇz je to nejnovˇejˇs´ı GUI fra-mework od firmy Oracle Corporation. Pro statickou definici GUI lze vyuˇz´ıt FXML form´at soubor˚u, ˇc´ımˇz lze oddˇelit tuto definici s vlastn´ım programov´an´ım funkˇcnost´ı. Tento form´at soubor˚u je rozˇs´ıˇren´ım form´atu XML. Lze ho upra-vovat manu´alnˇe ˇci pouˇz´ıt speci´aln´ı aplikaci. Firma Oracle Corporation nab´ız´ı aplikaci JavaFX Scene Builder. Tuto aplikaci budu vyuˇz´ıvat, jelikoˇz velmi usnadn´ı pr´aci.