Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: documentatie voor JaVaFo

...

Design decisions for the sub-systems

Usecases

USECASE 1 - Beheren van spelers

Op het scherm voor het beheren van de spelers is gekozen voor een tabel waarin alle informatie over spelers staat, met daarboven een aantal invulvelden en knoppen waarmee de data bewerkt kan worden. Dit is volgens de projectgroep de meest overzichtelijke manier om een grote lijst met spelers snel en eenvoudig te beheren. Indien nodig kan de tabel namelijk per kolom gesorteerd worden, waardoor het vinden van specifieke spelers gestroomlijnd kan verlopen. Het verwijderen van spelers en het vastleggen van de startrating zijn belangrijke handelingen, en zijn daardoor voorzien van een pop-up die om bevestiging van de actie vraagt, zodat bijvoorbeeld een speler niet per ongeluk uit de database verwijderd kan worden.

Voor deze implementatie wordt gebruikgemaakt van een servicelaag die de inputs van de gebruiker controleert op een aantal afgestelde regels, bijvoorbeeld of alle velden vereiste velden zijn ingevuld bij het invoeren van een nieuw lid of gast.

USECASE 2 - Beheren van competities

Het beheren van een competitie werkt in essentie hetzelfde als het beheren van spelers, maar een competitie heeft meer opties die de gebruiker moet kunnen bewerken, en deze opties hoeven niet in de tabel zichtbaar te zijn. Er is voor gekozen om alle instellingen voor een competitie in een kolom naast de tabel met competities te zetten. Ook is ervoor gekozen om op basis van welke soort competitie wordt gekozen bepaalde waarden automatisch in te vullen met een standaardwaarde. Dit allemaal om het gebruiken van de applicatie zo gestroomlijnd en gemakkelijk mogelijk te maken.

...

Ook deze usecase maakt gebruik van een servicelaag om de inputs van de gebruiker te controleren.

USECASE 3 & 4 - Beheren van competitiegroepen & Beheren van spelers in competitiegroep

Op het scherm voor het beheren van competities is een nieuwe knop toegevoegd die de gebruiker naar het scherm voor groepsbeheer van de desbetreffende groep brengt. Als een nieuwe competitie wordt aangemaakt worden (indien relevant) op basis van een standaard aantal een aantal groepen automatisch gegenereerd. Op dit scherm worden CRUD operaties met betrekking tot groepen verwerkt. De gebruiker kan de naam van de groep aangeven, waarna het systeem vervolgens een nieuwe GroupDTO zonder spelers aanmaakt en via de repository toevoegt aan de database.

...

Er is voor deze implementatie geen servicelaag aanwezig, er is namelijk bij het aanmaken van de groepen geen data aanwezig die de gebruiker op dit scherm aan kan passen. Het enige wat de gebruiker aan kan passen is de naam van de gegenereerde groepen.

USECASE 6 - Ronde resultaat invoeren

tekst

USECASE 7 - Resultaat externe ronde invoeren

Het invoeren van resultaten bij extern gespeelde rondes werkt op basis van de rating van de externe speler. De gebruiker kan een searchable combobox (drop-down menu) gebruiken om de juiste speler uit de database te selecteren, waarna er in een invulveld de rating van de externe speler ingevuld kan worden. Daarna kan de uitslag van de match uit een drop-down menu gekozen worden.

...

Er is gekozen voor een searchable combobox omdat deze in het geval van deze usecase voldoende informatie kan tonen, en het zoeken van enkele spelers eenvoudiger maakt dan een gehele tabel door moeten spitten.

USECASE 8 - Indeling genereren voor competitie

Het genereren van indelingen gaat op basis van vooraf gedefiniëerde systemen. Dit betekent dat de gebruiker, nadat deze groepen heeft gemaakt, alleen maar aan Klukkluk hoeft aan te geven dat deze indelingen wil laten genereren. De applicatie zal hierna op basis van het competitietype en de geselecteerde manier van indelen (relevant bij Heller-tabellen, waarbij er verschillende varianten zijn) de spelers in de groepen automatisch in rondes indelen.

Overig

JaVaFo

Voor het genereren van een competitionlayout van een toernooi is een extern programma gebruikt, omdat het genereren van een zwitserse indeling wellicht te foutgevoelig zou zijn als het geprogrammeerd werd door iemand die niet volledig thuis is in het domein. JaVaFo, gemaakt door Roberto Ricca, is een in Java geprogrammeerde matchmaking software. Het heeft als input een document nodig dat specifiek is aan de schaakorganisatie Fide (.trf). Om dit te genereren zijn er een aantal classes aangemaakt om dit te regelen. "DocumentMaker" kan met wat speciale DTOs waar de data in is opgeslagen een string genereren waarmee JaVaFo een indeling kan maken.  "JaVaFoDocuPlayer" en "JaVaFoDocuResult" zijn DTO's om de data van spelers en ronderesultaten op te slaan. JaVaFo maakt van de input van DocumentMaker een output string die vervolgens vertaald kan worden naar match DTO's.