Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Design Class Diagrams

App package

DTO package

De methodes die in de classes zitten van de DTO package zijn niet opgenomen in het bovenstaande diagram. Dit is niet opgenomen aangezien dit alleen maar getters en setters zijn en voor de rest geen lastige methodes bevatten. De DTO's zijn de Data Transfer Objects en bestaan om de data vanuit de database over te dragen naar de applicatie. De getters en setters zijn dus nodig om de variabelen binnen de classes te vullen zodat deze data gebonden kan worden aan deze classes. 

 Entities

Image Added

Exceptions

Image Added

In dit class diagram staan de exceptions die binnen het systeem gebruikt worden. De DatabaseException wordt gebruikt voor foutmeldingen die omhoogkomen bij het gebruik van de database. Naast de DatabaseException is er ook nog een ResourceException en een UserInputException. De ResourceException is net zoals de DatabaseException een RuntimeException en handelt foutmeldingen af die ontstaan door ontbrekende data. Stel dat er bijvoorbeeld een FXML bestand mist binnen de applicatie moet er wel een manier zijn om deze error op te vangen. Hierbij wordt dan dus de ResourceException gebruikt. Als laatste is er ook nog een UserInputException. Deze exception wordt gebruikt voor foutmeldingen die te maken hebben met de input die de gebruiker van de applicatie (onbedoeld) creëert. Stel dat de gebruiker een fout maakt met het invoeren van een rating, zo kan het zijn dat hij bijvoorbeeld per ongeluk wat letters invoert, wordt er met de UserInputException gewerkt om deze error af te handelen. 

Mappers

Image Added

Repositories

Image Added

Services

Image Added

Utils

Image Added

Sequence Diagrams

SD UC1.2 createPlayer

...

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.

...

competitiegroep

...

Op dit scherm kan de gebruiker een of meerdere spelers van of naar groepen verplaatsen. Door op CRTL + Linker muisklik te drukken kunnen meerdere spelers geselecteerd worden. Aan de hand hiervan stuurt het systeem vervolgens ofwel een enkele of een lijst van DTO's naar de repository, die vervolgens de juiste functie uitvoert om de speler in de groep te zetten of deze eruit te verwijderen. In het geval dat de gebruiker meerdere spelers tegelijkertijd wil invoeren, aanpassen of verwijderen wordt aan de uit te voeren query steeds een nieuwe regel met spelerdata toegevoegd.

In deze implementatie is de servicelaag weggelaten. Het betreft namelijk alleen het overzetten van al bestaande, en dus al gecontroleerde data, waardoor het uitvoeren van datacontrole in de servicelaag niet nodig is.

...

Het scherm voor het beheren van competitiegroepen bevat veel informatie. Hierom is ervoor gekozen om de data weer te geven in een drietal tabellen, waarbij er onderscheid gemaakt wordt tussen de spelers die niet in een groep zitten, de groepen van de competitie, en de spelers die in de geselecteerde groep zitten. Op deze manier heeft de gebruiker overzicht over in welke groep deze bezig is, welke spelers hierin zitten en welke niet.

...