Versions Compared

Key

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

...

Dit document beschrijft de ontwerpspecificaties voor een indelingsprogramma voor Schaakvereniging UVS. Het doel van dit programma is om alles van een schaakseizoen te beheren. In een schaakseizoen kunnen verschillende competitie gehouden worden, deze competities in een seizoen staan niet vast. Per competitie zijn er rondes die moeten worden ingedeeld. Deze rondes hebben meerdere spelers waarvan de resultaten ook moeten worden verwerkt tot een ranglijst na elke ronde. Deze gegevens moeten ook worden geüpload naar de WordPress-website van Schaakvereniging UVS.

...

ActorUse CaseBrief description
WedstrijdleiderBeheren spelersDe wedstrijdleider moet de mogelijkheid hebben om nieuwe leden en gasten in het systeem in te voeren, zodat ze later kunnen worden toegevoegd aan competities.
WedstrijdleiderStartrating vastleggen
De wedstrijdleider wil aan het begin van het seizoen de startrating van elke speler vastleggen, zodat hier na het seizoen mee vergeleken kan worden.
WedstrijdleiderPrinten ronde indelingDe wedstrijdleider moet de indeling van een ronde moeten kunnen uitprinten zodat de leden op locatie de indeling kunnen zien.
WedstrijdleiderSeizoenen bekijkenDe wedstrijdleider wil oude seizoenen kunnen bekijken zodat de historie van de club altijd bekeken kan worden.
WedstrijdleiderBeheren van competitiesDe wedstrijdleider wil de mogelijkheid hebben om competities te beheren, zodat deze actueel blijven.
WedstrijdleiderBeheren van competitiegroepenDe wedstrijdleider moet groepen kunnen toevoegen aan een competitie, zodat er daarna spelers kunnen worden toegevoegd.
WedstrijdleiderBeheren van spelers in competitiegroepDe wedstrijdleider moet in staat zijn om leden en gasten toe te voegen aan een competitiegroep, zodat zij ingedeeld en kunnen deelnemen aan de schaakwedstrijden.
WedstrijdleiderGegevens publiceren op websiteDe wedstrijdleider wil de ronde indeling, uitslagen en de ranglijst op de website publiceren zodat elk persoon online de gegevens kan bekijken.
WedstrijdleiderRonde resultaten invoerenDe wedstrijdleider wil resultaten van ronden kunnen invoeren zodat de ranglijst anders wordt.
WedstrijdleiderIndeling genereren voor competitieDe wedstrijdleider wil automatisch door het systeem een indeling voor de rondes van competities laten genereren.
WedstrijdleiderGlobale ranglijst bekijkenDe wedstrijdleider wil de globale ranglijst bekijken zodat duidelijk is wie het beste is.
WedstrijdleiderGroep ranglijst bekijkenDe wedstrijdleider wil de ranglijst van een groep bekijken zodat duidelijk is wie het beste is.
Extern wedstrijdleiderResultaat externe ronde invoerenDe externe wedstrijdleider wil het resultaat van een externe ronde invoeren zodat de rating van het lid aanpast

Usecasediagram

Image AddedImage Removed

Domein Model

Image Added

Concept

...


Uitleg

Speler

Spelers in het systeem kunnen altijd een rating hebben. Als de speler een interne speler zijn hebben ze ook een naam, als ze dit niet zijn wordt de naam van de speler niet bijgehouden. Deze interne spelers kunnen vervolgens ook leden en gasten zijn. Spelers kunnen deel uitmaken van groepen binnen competities, kunnen meedoen aan matches en hun rating wordt bijgehouden op de globale leaderboard.

Competities

Competities hebben een naam, een startdatum, een maximum aantal ronden en een maximaal aantal keren dat een speler dezelfde kleur kan spelen. Een competitie kan een toernooi, een periodecompetitie of een meerkamp competitie zijn. Meerkamp competities houden bij of ze enkel of dubbele rondes hebben met hun "rondetype" attribuut. Een periodecompetitie houdt ook de periode bij, zodat er bij de indeling gekeken kan worden naar wat de winnaars van de vorige competitie was. Een toernooi heeft maar een competitie, maar heeft bij die competities settings om mee te nemen voor de puntentelling.

Groep

Een groep is een verzameling van spelers die meedoen aan een competitie. De groep van spelers spelen tegen elkaar in meerdere rondes, en de resultaten van al deze rondes worden opgeslagen in verschillende soorten ranglijsten en tabellen. 

Ronde

In een ronde spelen de spelers die in de groep zitten die de ronde speelt tegen elkaar spelen. Hierbij hoort een schemalijst die voor de matches geprint kan worden, en een resultatenlijst die na de ronde ingevult wordt. De matches die de spelers tegen elkaar spelen hebben allemaal een resultaat. Of wit wint, of zwart wint, of er is een padstelling, of er is een uitzondering. De resultaten die hier uitkomen zijn weer terug te zien in de tabellen en ranglijsten van groep, en de globale ranking. Ook de rating van een speler kan door matches omhoog en omlaag gaan.

Use-casebeschrijvingen

Beheren spelers

UC 1.1: Spelers bekijken

...

Primary actor: Wedstrijdleider

...

Stakeholders and Interests:

De voorzitter, omdat hij goed geïnformeerd wil zijn over wie de leden zijn en hoeveel leden er in totaal zijn.
De penningmeester, omdat veranderingen in het ledenaantal gevolgen kunnen voor het budget van de vereniging.
De secretaris, omdat hij de persoonsgegevens moet bijhouden van de actieve leden en dan is een digitale lijst erg handig.

...

Brief description:

De wedstrijdleiders willen de spelers kunnen bekijken zodat ze weten wie er in het systeem staat.

...

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open. 

...

Postconditions (Success Guarantee): De wedstrijdleider ziet alle bekende spelers.

...

Main Success Scenario (Basic Flow):

...

Actor Action

...

System Responsibility

...

1. De wedstrijdleider geeft aan de spelerslijst te willen zien.

...

3. Systeem toont invulvelden voor de voornaam, achternaam, rating en type van de speler. 

UC 1.2: Spelers toevoegen

...

Primary actor: Wedstrijdleider

...

Stakeholders and Interests:

De voorzitter, omdat hij wil dat de leden goed kunnen worden ingedeeld d.m.v. het indelingsprogramma.
De penningmeester, omdat veranderingen in het ledenaantal gevolgen kunnen voor het budget van de vereniging.
De secretaris, omdat hij de persoonsgegevens moet bijhouden van de actieve leden en dan is het handig als de digitale lijst actueel is.

Allround
Ook wel "Meerkamp" genoemd, is een competitietype waarbij 4 spelers in een groep minimaal 1 keer tegen elkaar spelen.
Allround roundTypeRoundType is het type "Enkelrondig" of "Dubbelrondig" voor meerkamp, wat inhoud op welke manier de spelers in een meerkampgroep tegen elkaar spelen.
Tournament
Dit is een competitietype waarbij de spelers in een groep via het zwitsers systeem tegen elkaar spelen, na elke ronde kan de indeling van de volgende ronde pas gemaakt worden.
PeriodCompetition
Periodecompetitie is een competitietype waarbij spelers in groepen tegen elkaar spelen, na elke periode promoveren en degraderen spelers naar een andere groep.
PeriodCompetitionperiodPeriode houdt geeft aan voor welke periode de competitie is.
Competition
Competitie is het algemene concept waarmee all competities bij samenkomen.
Competition nameNaam geeft de naam van de competitie aan.
CompetitioncompetitionTypeDe competitie heeft een type, dit kan meerkamp, toernooi of periodecompetitie zijn.
Competition startDateStartdatum geeft de datum waarop de competitie start aan.
Competition maxRoundsMax rondes is het maximum aantal rondes die een competitie kan hebben.
Competition winPointsWinpunten is het aantal punten dat je krijgt bij een winst.
Competition drawPointsGelijkpunten is het aantal punten dat je krijgt bij een gelijkspel.
Competition losePointsVerliespunten is het aantal punten dat je krijgt bij een verlies.
Competition unevenPointsOnevenpunten is het aantal punten dat je krijgt als het aantal personen in de groep oneven is.
Competition byePointsByepunten is het aantal punten dat je krijg bij een bye.
Group
Een competitie heeft een aantal groepen waar spelers in zitten.
Group nameEen groep heeft een naam waarmee de groep geidentificeerd kan worden.
Round
Een groep heeft een aantal ronden waarin wedstrijden zitten.
Round roundNumberOmdat er verschillende ronden in een competitie kunnen zitten heeft een ronde een rondenummer.
Round dateEen ronde heeft een datum waarop hij gespeeld wordt.
Match
Een wedstrijd is een schaakpartij tussen twee spelers waarbij er een wit is en de andere zwart.
Match resultHet resultaat van een wedstrijd wordt moet opgeslagen worden om bij te houden wie er gewonnen heeft.
Player
Een speler is een schaker.
Player RatingDe rating van de speler geeft aan hoe goed de speler is.
Internal player
Een interne speler is een speler die bij de club zit.
Internal player firstNameDe voornaam geeft de voornaam van de interne speler aan.
Internal player lastNameDe achternaam geeft de achternaam van de interne speler aan.
Internal player startratingDe startrating geeft de rating van de interne speler aan het begin van het seizoen aan.
Internal player playerTypeDe speler is een Gast of een Lid, afhankelijk van zijn lidmaatschap binnen de club.
External player
De externe speler is een speler waarover bijna niks bekend is die wordt gebruikt als een speler binnen de club een wedstrijd tegen een speler speelt van een andere club.
GlobalRanking
De globalRanking is een ranglijst waarbij alle spelers te zien zijn gesorteerd op de rating.
SchemeList
Het schema voor een ronde wordt laten zien in een schemalijst
ResultList
Het resultaat van een ronde wordt laten zien in een resultatenlijst
ScoreTable
De scoretable laat de totale punten van de spelers in een groep zien.
CrossTable
De kruistabel laat de totale punten van de spelers in een groep zien als kruistabel.
GroupRanking
De ranglijst laat de punten in een groep zien.

Use-casebeschrijvingen

Beheren spelers

UC 1.1: Spelers bekijken

...

Brief description:

De wedstrijdleiders willen leden en gasten registreren binnen het systeem zodat zij ingedeeld kunnen worden binnen competities en toernooien

...

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open. 

...

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe speler geregistreerd. 

...

Main Success Scenario (Basic Flow):

...

Actor Action

...

System Responsibility

1. De wedstrijdleider geeft aan de spelerslijst te willen zien.

4. De wedstrijdleider vult de voornaam, achternaam, rating en type van de nieuwe speler in.

...

3. Systeem toont invulvelden voor de voornaam, achternaam, rating en type van de speler. 

5. Systeem registreert de nieuwe Speler.

UC 1.3: Spelers verwijderen

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat hij goed geïnformeerd wil dat de leden goed kunnen worden ingedeeld d.m.v. het indelingsprogramma.zijn over wie de leden zijn en hoeveel leden er in totaal zijn.
De penningmeester, omdat inactieve of niet betalende spelers een negatieve invloed hebben op het verwachte budgetveranderingen in het ledenaantal gevolgen kunnen voor het budget van de vereniging.
De secretaris, omdat er met inactieve spelers geen accurate toernooiplanning gemaakt kan wordenhij de persoonsgegevens moet bijhouden van de actieve leden en dan is een digitale lijst erg handig.

Brief description:

De wedstrijdleiders willen spelers kunnen verwijderen omdat zij niet meer actief zijn bij de verenigingde spelers kunnen bekijken zodat ze weten wie er in het systeem staat.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open. 

Postconditions (Success Guarantee): De wedstrijdleider heeft een speler verwijderd. ziet alle bekende spelers.

Main Success Scenario (Basic Flow): 

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de spelerslijst te willen zien.

4. De wedstrijdleider geeft aan een speler te willen verwijderen.

6. De wedstrijdleider bevestigt de keuze  .


 
2. Systeem toont voornaam, 2. Systeem toont voornaam, achternaam, rating en type van de bekende spelers.

3. Systeem toont invulvelden voor de voornaam, achternaam, rating en type van de speler. 

5. Systeem vraagt of de gebruiker het zeker weet.

7. [keuze = ja] Systeem verwijdert de gekozen speler.

Extensions (Alternative Flow): Keuze is nee.

 

7a Speler wordt niet verwijdert.
Usecase verwijderen stopt.


UC 1.42: Spelers bewerkentoevoegen

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat hij wil dat de gegevens van de leden correct in het systeem staan zodat er geen misverstanden kunnen ontstaan..leden goed kunnen worden ingedeeld d.m.v. het indelingsprogramma.
De penningmeester, omdat veranderingen in het ledenaantal gevolgen kunnen voor het budget van de vereniging.
De secretaris, omdat incorrecte hij de persoonsgegevens moet bijhouden van de actieve leden niet goed is voor de communicatie tussen de vereniging en de leden. en dan is het handig als de digitale lijst actueel is.

Brief description:

De wedstrijdleiders willen leden en gasten kunnen bewerken omdat de gegevens van de speler anders is.registreren binnen het systeem zodat zij ingedeeld kunnen worden binnen competities en toernooien

PreconditionsPreconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open. 

Postconditions (Success Guarantee): De wedstrijdleider heeft de gegevens van een nieuwe speler aangepastgeregistreerd. 

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de spelerslijst te willen zien.



4. De wedstrijdleider geeft aan een speler te willen bewerken.6. De wedstrijdleider past de gegevens aan en geeft aan te willen opslaanvult de voornaam, achternaam, rating en type van de nieuwe speler in.



2. Systeem toont voornaam, achternaam, rating en type van de bekende spelers.

3. Systeem toont invulvelden voor de voornaam, achternaam, rating en type van de speler. 


5. Systeem toont de voornaam, achternaam, type en de rating van de speler. 

7. Systeem slaat de nieuwe gegevens op.

System Sequence Diagram 

Omdat deze vier usecases allemaal CRUD zijn is er voor gekozen om alleen het aanmaken van een speler uit te werken in een system sequence diagram. De wedstrijdleider vraagt als eerste alle spelers en de invulvelden op, het systeem laat deze vervolgens zien in een tabel. Daarna vult de wedstrijdleider de velden in en maakt een nieuwe speler aan.

Image Removed

Beheren van competities

Use Case 2.1: Competitie aanmaken

Systeem registreert de nieuwe Speler.


UC 1.3: Spelers verwijderen

Primary actorPrimary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat activiteiten als competities nieuwe mensen aantrekken om bij de vereniging te betrekkenhij wil dat de leden goed kunnen worden ingedeeld d.m.v. het indelingsprogramma.
De penningmeester, omdat activiteiten soms financiële aspecten hebben, zoals inschrijfgeld of prijsgeldinactieve of niet betalende spelers een negatieve invloed hebben op het verwachte budget.
De secretaris, omdat hij verantwoordelijk is voor het administratieve werk rondom de competities. er met inactieve spelers geen accurate toernooiplanning gemaakt kan worden

Brief description:

De wedstrijdleider moet een nieuwe competitie kunnen aanmaken, zodat deze kan worden ingezet voor het organiseren van schaakwedstrijdenwedstrijdleiders willen spelers kunnen verwijderen omdat zij niet meer actief zijn bij de vereniging.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open. 

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe competitie aangemaaktspeler verwijderd. 

Main Success Scenario (Basic Flow): 

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competities spelerslijst te willen zien.


34. De wedstrijdleider geeft aan een competitie speler te willen toevoegenverwijderen.


56. De wedstrijdleider vult de gegevens in voor de competitie.bevestigt de keuze  .

 
2. Systeem toont de naam, competitie type en aantal spelers van de bestaande competities.voornaam, achternaam, rating en type van de bekende spelers

34. Systeem toont invulvelden voor de naamvoornaam, soort competitie, aantal rondes, aantal keer dezelfde kleur, aantal punten voor winst, verlies, remise, oneven en vrijgesteld.

6. Systeem maakt een nieuwe competitie aan.

achternaam, rating en type van de speler. 


5. Systeem vraagt of de gebruiker het zeker weet.


7. [keuze = ja] Systeem verwijdert de gekozen speler.

Extensions (Alternative Flow): Speler wordt niet verwijdert


 

7a [keuze = nee] Speler wordt niet verwijdert.
Usecase verwijderen stopt.


UC 1.4: Spelers bewerkenUse Case 2.2: Competities bekijken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Spelers, omdat zij met een duidelijk overzicht gemakkelijk kunnen zien welke competities er zijn voor een inschrijving.
Sponsoren, omdat zij met een overzicht gemakkelijk kunnen zien welke activiteit wanneer is. Hiermee kunnen ze mogelijk reclame maken voor de activiteit zoals flyers.
Voorzitters, omdat hij wilt weten welke competities relevant zijn voor de leden.De voorzitter, omdat hij wil dat de gegevens van de leden correct in het systeem staan zodat er geen misverstanden kunnen ontstaan..
De secretaris, omdat incorrecte persoonsgegevens van de leden niet goed is voor de communicatie tussen de vereniging en de leden. 

Brief description:

De wedstrijdleider wilt de competities kunnen bekijken zodat hij alle competities in een ogenblik kan zienwedstrijdleiders willen leden en gasten kunnen bewerken omdat de gegevens van de speler anders is.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open. 

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe competitie aangemaaktde gegevens van een speler aangepast.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competities spelerslijst te willen zien.



4. De wedstrijdleider geeft aan een speler te willen bewerken.


6. De wedstrijdleider past de gegevens aan en geeft aan te willen opslaan.


2. Systeem toont de naam, competitie type en aantal spelers van de bestaande competities.

Use Case 2.3: Competitie bewerken

voornaam, achternaam, rating en type van de bekende spelers

3. Systeem toont invulvelden voor de voornaam, achternaam, rating en type van de speler. 


5. Systeem toont de voornaam, achternaam, type en de rating van de speler. 


7. Systeem slaat de nieuwe gegevens op.

System Sequence Diagram 

Omdat deze vier usecases allemaal CRUD zijn is er voor gekozen om alleen het aanmaken van een speler uit te werken in een system sequence diagram. De wedstrijdleider vraagt als eerste alle spelers en de invulvelden op, het systeem laat deze vervolgens zien in een tabel. Daarna vult de wedstrijdleider de velden in en maakt een nieuwe speler aan.

Image Added

Beheren van competities

Use Case 2.1: Competitie aanmaken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat activiteiten als competities nieuwe mensen aantrekken om bij de vereniging te betrekken.
De penningmeester, omdat activiteiten soms financiële aspecten hebben, zoals inschrijfgeld of prijsgeld.
De secretaris, omdat hij verantwoordelijk is voor het administratieve werk rondom de competities. 

Brief description:

De wedstrijdleider moet een nieuwe competitie kunnen aanmaken, zodat deze kan worden ingezet voor het organiseren van schaakwedstrijden.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open.

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe competitie aangemaakt.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competities te willen zien.


3. De wedstrijdleider geeft aan een competitie te willen toevoegen.


5. De wedstrijdleider vult de gegevens in voor de competitie.


2. Systeem toont de naam, competitie type en aantal spelers van de bestaande competities.

4. Systeem toont invulvelden voor de naam, soort competitie, aantal rondes, aantal keer dezelfde kleur

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Secretaris, omdat zij actuele informatie willen over de competities zodat er geen misverstanden ontstaan.
Voorzitters, omdat hij wilt weten welke competities relevant zijn voor de leden.
Penningmeester, omdat met veranderingen aan de competitie het inschrijfgeld of prijzengeld mogelijk kan veranderen.

Brief description:

De wedstrijdleider moet een nieuwe competitie kunnen aanmaken, zodat deze kan worden ingezet voor het organiseren van schaakwedstrijden.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open.

Postconditions (Success Guarantee): De wedstrijdleider heeft een competitie bijgewerkt.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competities te willen zien.

3. De wedstrijdleider geeft aan een competitie te willen bewerken.

5. De wedstrijdleider vult de bewerkte gegevens van de competitie in.

2. Systeem toont de naam, competitie type en aantal spelers van de bestaande competities.4. Systeem toont invulvelden voor de naam, soort competitie, aantal rondes, aantal keer dezelfde kleur, aantal punten voor winst, verlies, remise, oneven en vrijgesteld.


6. Systeem bewerkt de competitie met de nieuwe gegevensmaakt een nieuwe competitie aan.


Use Case 2.42: Competitie verwijderenCompetities bekijken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

SecretarisSpelers, omdat zij geen inactieve of incorrecte informatie over de competities willen zodat er geen onduidelijkheden komen.
Voorzitters, omdat hij wilt dat de oude informatie weggehaald wordt zodat er focus kan gelegd worden op nieuwe competitiesmet een duidelijk overzicht gemakkelijk kunnen zien welke competities er zijn voor een inschrijving.
Sponsoren, omdat zij met een overzicht gemakkelijk kunnen zien welke activiteit wanneer is. Hiermee kunnen ze mogelijk reclame maken voor de activiteit zoals flyers.
Voorzitters, omdat hij wilt weten welke competities relevant zijn voor de leden.

Brief description:

De wedstrijdleider moet een competitie kunnen verwijderen als deze niet meer nodig zijn binnen het systeemwilt de competities kunnen bekijken zodat hij alle competities in een ogenblik kan zien.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open.

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe competitie aangemaakt.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competities te willen zien.

3. De wedstrijdleider geeft aan een competitie te willen verwijderen.

7. De wedstrijdleider bevestigt de keuze.

2. Systeem toont de naam, competitie type en aantal spelers van de bestaande competities.

4. Systeem vraagt of de gebruiker het zeker weet.

6. [keuze = ja] Systeem verwijderd de gekozen competitie.

Extensions (Alternative Flow): Keuze is nee.

6a Competitie wordt niet verwijdert.
Usecase verwijderen stopt.

System Sequence Diagram 

Omdat deze vier usecases allemaal CRUD zijn is er voor gekozen om alleen het aanmaken van een speler uit te werken in een system sequence diagram, zodat toch duidelijk is hoe het werkt. De wedstrijdleider wil een nieuwe competitie aanmaken, daarom wordt de createCompetition functie aangeroepen.

Image Removed

Beheren van competitiegroepen

Use Case 3.1: Competitiegroepen bekijken


2. Systeem toont de naam, competitie type en aantal spelers van de bestaande competities.


Use Case 2.3: Competitie bewerken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Secretaris, omdat zij actuele informatie willen over de competities zodat er geen misverstanden ontstaan.
Voorzitters, omdat hij wilt weten welke competities relevant zijn voor de leden.
Penningmeester, omdat met veranderingen aan de competitie het inschrijfgeld of prijzengeld mogelijk kan veranderen.

Brief description:

De wedstrijdleider moet een nieuwe competitie kunnen aanmaken, zodat deze kan worden ingezet voor het organiseren van schaakwedstrijden.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open.

Postconditions (Success Guarantee): De wedstrijdleider heeft een competitie bijgewerkt.

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat hij goed geïnformeerd wil zijn over de competitiegroepen. 

De secretaris, omdat hij verantwoordelijk is voor het administratieve werk rondom de competities. 

Brief description:

De wedstrijdleiders willen de competitiegroepen kunnen bekijken zodat ze weten welke er in het systeem staan.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft de competities open. 

Postconditions (Success Guarantee): De wedstrijdleider ziet alle competitiegroepen van de gekozen competitie.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen competities te willen zien.

3. De wedstrijdleider geeft aan een competitie te willen bewerken.

5. De wedstrijdleider vult de bewerkte gegevens van de gekozen competitie in.


2. Systeem toont de groepsletters en de naam, competitie type en aantal spelers van de bestaande groepen van de gekozen competitie. competities.

4. Systeem toont invulvelden voor de naam, soort competitie, aantal rondes, aantal keer dezelfde kleur, aantal punten voor winst, verlies, remise, oneven en vrijgesteld.

6. Systeem bewerkt de competitie met de nieuwe gegevens.


Use Case 2.4: Competitie verwijderenUse Case 3.2: Competitiegroep aanmaken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De wedstrijdleiders willen de competitiegroepen kunnen bekijken zodat ze weten welke er in het systeem staan.
De secretaris, omdat hij verantwoordelijk is voor het administratieve werk rondom de competities. Secretaris, omdat zij geen inactieve of incorrecte informatie over de competities willen zodat er geen onduidelijkheden komen.
Voorzitters, omdat hij wilt dat de oude informatie weggehaald wordt zodat er focus kan gelegd worden op nieuwe competities.

Brief description:

De wedstrijdleider moet een nieuwe competitiegroep kunnen aanmaken, zodat er spelers aan toegevoegd kunnen worden en zo aan de competitie toegevoegd kunnen wordenkunnen verwijderen als deze niet meer nodig zijn binnen het systeem.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft de competities het hoofdscherm open.

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe competitiegroep competitie aangemaakt bij een competitie.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen competities te willen zien van de gekozen competitie.


3. De wedstrijdleider geeft aan een competitiegroep competitie te willen toevoegenverwijderen.


57. De wedstrijdleider vult de groepsletter in voor de competitiegroepbevestigt de keuze.


2. Systeem toont de groepsletter en de naam, competitie type en aantal spelers van de bestaande competitiegroepen van de gekozen competitiecompetities.


4. Systeem toont invulvelden voor de groepsletter. vraagt of de gebruiker het zeker weet.


6. Systeem maakt een nieuwe competitiegroep aan.

Use Case 3.3: Competitiegroep bewerken

...

Primary actor: Wedstrijdleider

...

Stakeholders and Interests:

Secretaris, omdat zij actuele informatie willen over de competities zodat er geen misverstanden ontstaan.
Voorzitters, omdat hij wilt weten welke competities relevant zijn voor de leden.
Penningmeester, omdat met veranderingen aan de competitie het inschrijfgeld of prijzengeld mogelijk kan veranderen.

...

Brief description:

De wedstrijdleider moet een competitiegroep kunnen bewerken, zodat deze aangepast kan worden wanneer dat nodig is.

...

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft de competities open.

...

Postconditions (Success Guarantee): De wedstrijdleider heeft een competitiegroep bijgewerkt van een competitie.

...

Main Success Scenario (Basic Flow):

...

Actor Action

...

System Responsibility

...

1. De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie

3. De wedstrijdleider geeft aan een competitiegroep te willen bewerken.

5. De wedstrijdleider vult de bewerkte groepsletter van de competitiegroep in.

...

4. Systeem toont een invulveld voor de groepsletter.

6. Systeem bewerkt de competitie met de nieuwe gegevens.

[keuze = ja] Systeem verwijderd de gekozen competitie.

Extensions (Alternative Flow): Competitie wordt niet verwijdert



6a [keuze = nee] Competitie wordt niet verwijdert.
Usecase verwijderen stopt.


System Sequence Diagram 

Omdat deze vier usecases allemaal CRUD zijn is er voor gekozen om alleen het aanmaken van een speler uit te werken in een system sequence diagram, zodat toch duidelijk is hoe het werkt. De wedstrijdleider wil een nieuwe competitie aanmaken, daarom wordt de createCompetition functie aangeroepen.

Image Added

Beheren van competitiegroepen

Use Case 3.1: Competitiegroepen bekijken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat hij goed geïnformeerd wil zijn over de competitiegroepen. 

De secretaris, omdat hij verantwoordelijk is voor het administratieve werk rondom de competities. 

Brief description:

De wedstrijdleiders willen de competitiegroepen kunnen bekijken zodat ze weten welke er in het systeem staan.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft de competities open. 

Postconditions (Success Guarantee): De wedstrijdleider ziet alle competitiegroepen van de gekozen competitie.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie.


2. Systeem toont de groepsletters en de spelers van de bestaande groepen van de gekozen competitie. 


Use Case 3.2: Competitiegroep aanmakenUse Case 3.4: Competitiegroep verwijderen

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Secretaris, omdat zij geen inactieve of incorrecte informatie over de competities willen zodat er geen onduidelijkheden komen.
Voorzitters, omdat hij wilt dat de oude informatie weggehaald wordt zodat er focus kan gelegd worden op nieuwe competitiegroepen.De wedstrijdleiders willen de competitiegroepen kunnen bekijken zodat ze weten welke er in het systeem staan.
De secretaris, omdat hij verantwoordelijk is voor het administratieve werk rondom de competities. 

Brief description:

De wedstrijdleider moet een competitiegroep kunnen verwijderen als deze niet meer nodig is binnen het systeemnieuwe competitiegroep kunnen aanmaken, zodat er spelers aan toegevoegd kunnen worden en zo aan de competitie toegevoegd kunnen worden.

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft de competities open.

Postconditions (Success Guarantee): De wedstrijdleider heeft een nieuwe competitiegroep verwijderd van aangemaakt bij een competitie.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie


3.   De wedstrijdleider geeft aan een competitiegroep te willen verwijderentoevoegen.


5. De wedstrijdleider bevestigt de keuzevult de groepsletter in voor de competitiegroep.


2. Systeem toont de groepsletter en de spelers van de bestaande competitiegroepen van de gekozen competitie.


4. Systeem vraagt of de gebruiker het zeker weet.toont invulvelden voor de groepsletter. 


6. [keuze = ja] Systeem verwijderd de gekozen competitiegroep.

Extensions (Alternative Flow): Keuze is nee.

6a Competitiegroep wordt niet verwijdert.
Usecase verwijderen stopt.

Beheren van spelers in competitiegroep

UC 4.1: Spelers van competitiegroep bekijken

Systeem maakt een nieuwe competitiegroep aan.


Use Case 3.3: Competitiegroep bewerken

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter

Secretaris, omdat

hij wil dat de leden goed kunnen worden ingedeeld in de competities. 
De secretaris, omdat hij de persoonsgegevens moet bijhouden van de actieve leden en dan is het handig als de digitale lijst actueel is

zij actuele informatie willen over de competities zodat er geen misverstanden ontstaan.
Voorzitters, omdat hij wilt weten welke competities relevant zijn voor de leden.
Penningmeester, omdat met veranderingen aan de competitie het inschrijfgeld of prijzengeld mogelijk kan veranderen.

Brief description:

De

wedstrijdleiders willen spelers in

wedstrijdleider moet een competitiegroep

bekijken zodat ze weten welke spelers in de groep zitten

kunnen bewerken, zodat deze aangepast kan worden wanneer dat nodig is.

Preconditions:

 

De wedstrijdleider heeft KlukKluk geopend en heeft

het competitiegroep scherm

de competities open.

 

Postconditions (Success Guarantee):

 De spelers in de competitiegroepen zijn getoond

De wedstrijdleider heeft een competitiegroep bijgewerkt van een competitie.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie

3. De wedstrijdleider geeft aan

de spelers in

een

groep

competitiegroep te willen

zien door een competitiegroep te selecteren

bewerken.

5. De wedstrijdleider vult de bewerkte groepsletter van de competitiegroep in.


2. Systeem toont

alle groepen

de groepsletter en de spelers van de bestaande competitiegroepen van de gekozen competitie

4. Systeem toont

de beschikbare spelers die in de groep kunnen en de huidige spelers in de groep.

een invulveld voor de groepsletter.

6. Systeem bewerkt de competitie met de nieuwe gegevens.


Use Case 3.4: Competitiegroep verwijderenUC 4.2: Spelers toevoegen aan competitiegroep

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter

Secretaris, omdat

hij wil dat de leden goed kunnen worden ingedeeld in de competities. 
De secretaris, omdat hij de persoonsgegevens moet bijhouden van de actieve leden en dan is het handig als de digitale lijst actueel is.

zij geen inactieve of incorrecte informatie over de competities willen zodat er geen onduidelijkheden komen.
Voorzitters, omdat hij wilt dat de oude informatie weggehaald wordt zodat er focus kan gelegd worden op nieuwe competitiegroepen.

Brief description:

De wedstrijdleider moet een competitiegroep kunnen verwijderen als deze niet meer nodig is binnen het systeem.

Preconditions:

Brief description:

De wedstrijdleiders willen spelers toevoegen in een competitiegroep zodat deelnemers mee kunnen doen aan een competitie. 

Preconditions:  

De wedstrijdleider heeft KlukKluk geopend en heeft

het competitiegroep scherm

de competities open.

 

Postconditions (Success Guarantee):

 Er zijn nieuwe spelers toegevoegd aan de gekozen competitiegroep.

De wedstrijdleider heeft een competitiegroep verwijderd van een competitie

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie


3. De wedstrijdleider geeft aan

de spelers in

een

groep

competitiegroep te willen

zien door een groepsletter te selecteren

verwijderen.


5. De wedstrijdleider

geeft aan welke speler hij wil toevoegen aan de competitiegroep

bevestigt de keuze.


2. Systeem toont

alle groepen

de groepsletter en de spelers van de bestaande competitiegroepen van de gekozen competitie.


4. Systeem

toont de beschikbare spelers die in de groep kunnen en de huidige spelers in de groep

vraagt of de gebruiker het zeker weet.


6. [keuze = ja] Systeem

voegt de spelers toe aan de

verwijderd de gekozen competitiegroep.

UC 4.3: Spelers verwijderen van een competitiegroep

Extensions (Alternative Flow): Competitiegroep wordt niet verwijdert



6a [keuze = nee] Competitiegroep wordt niet verwijdert.
Usecase verwijderen stopt.

Beheren van spelers in competitiegroep

UC 4.1: Spelers van competitiegroep bekijken

Primary actor: Wedstrijdleider

Primary actor: Wedstrijdleider

Stakeholders and Interests:

De voorzitter, omdat hij wil dat de leden goed kunnen worden ingedeeld in een competitiegroepde competities. 
De penningmeester, omdat inactieve of niet betalende spelers een negatieve invloed hebben op het verwachte budget.
De secretaris, omdat er met inactieve spelers geen accurate toernooiplanning gemaakt kan worden

Brief description:

De wedstrijdleiders willen spelers kunnen verwijderen van een competitiegroep omdat zij niet meer actief zijn bij de competitie.

secretaris, omdat hij de persoonsgegevens moet bijhouden van de actieve leden en dan is het handig als de digitale lijst actueel is.

Brief description:

De wedstrijdleiders willen spelers in een competitiegroep bekijken zodat ze weten welke spelers in de groep zitten.

Preconditions:  Preconditions:De wedstrijdleider heeft KlukKluk geopend en heeft het competitiegroep scherm open. 

Postconditions (Success Guarantee): De gekozen spelers zijn verwijderd uit de gekozen competitiegroepin de competitiegroepen zijn getoond.

Main Success Scenario (Basic Flow): 

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie

3. De wedstrijdleider geeft aan de spelers in een groep te willen zien .5. De wedstrijdleider geeft aan welke speler(s) hij wil verwijderen uit de competitiegroepdoor een competitiegroep te selecteren.



2. Systeem toont alle groepen van de gekozen competitie


4. Systeem toont de beschikbare spelers die in de groep kunnen en de huidige spelers in de groep.

6. Systeem verwijderd de speler(s) uit de competitiegroep.

Vastleggen startrating

...

UC 4.2: Spelers toevoegen aan competitiegroep

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Spelers: deze willen aan het einde van een seizoen hun voortgang kunnen vergelijken met het begin van het seizoen

De voorzitter, omdat hij wil dat de leden goed kunnen worden ingedeeld in de competities. 
De secretaris, omdat hij de persoonsgegevens moet bijhouden van de actieve leden en dan is het handig als de digitale lijst actueel is.

Brief description:

De

wedstrijdleider wil aan het begin van het seizoen de startrating van elke speler vastleggen, zodat hier na het seizoen mee vergeleken kan worden

wedstrijdleiders willen spelers toevoegen in een competitiegroep zodat deelnemers mee kunnen doen aan een competitie. 

Preconditions:  

Preconditions:

De wedstrijdleider heeft KlukKluk geopend en heeft het

hoofdscherm

competitiegroep scherm open. 

Postconditions (Success Guarantee): 

Voor elke speler is een startrating vastgesteld in de database, en deze wordt afgebeeld binnen de applicatie

Er zijn nieuwe spelers toegevoegd aan de gekozen competitiegroep.

Main Success Scenario (Basic Flow):

Actor Action

System Responsibility

 

1. De wedstrijdleider geeft aan de

algemene spelerslijst

competitiegroepen te willen zien

.

van de gekozen competitie

3. De wedstrijdleider

drukt op de knop om startrating vast te stellen.

geeft aan de spelers in een groep te willen zien door een groepsletter te selecteren.


5. De wedstrijdleider

bevestigt de startrating op te willen slaan. 

geeft aan welke speler hij wil toevoegen aan de competitiegroep.


2. Systeem toont

voornaam, achternaam, rating en type

alle groepen van de

bekende spelers.

gekozen competitie


4.

Het systeem toont een pop-up ter bevestiging van het vaststellen van de startratings.

6. [Keuze = ja] Het systeem slaat de huidige ratings van de spelers op als de startrating van het nieuwe seizoen.

Extensions (Alternative Flow): Keuze is nee

 

 6a. Het systeem sluit de pop-up en de startrating wordt niet vastgelegd.

Ronde resultaten invoeren

UC 6: Ronde resultaten invoeren

Systeem toont de beschikbare spelers die in de groep kunnen en de huidige spelers in de groep.


6. Systeem voegt de spelers toe aan de competitiegroep.


UC 4.3: Spelers verwijderen van een competitiegroep

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Spelers: de spelers die deel hebben genomen aan een match willen dat hun rating up-to-date blijft.
Voorzitter: Als de wedstrijdresultaten correct worden ingevuld geeft dit een beter inzicht op de status van de huidige competities.

De voorzitter, omdat hij wil dat de leden goed kunnen worden ingedeeld in een competitiegroep.
De penningmeester, omdat inactieve of niet betalende spelers een negatieve invloed hebben op het verwachte budget.
De secretaris, omdat er met inactieve spelers geen accurate toernooiplanning gemaakt kan worden

Brief description:

De

wedstrijdleider voert het resultaat van een wedstrijd in voor de interne spelers. Hierna wordt de rating van de interne spelers aangepast.Preconditions: De interne spelers zijn aanwezig in het systeem en ronde is al ingedeeld.

wedstrijdleiders willen spelers kunnen verwijderen van een competitiegroep omdat zij niet meer actief zijn bij de competitie.

Preconditions:De wedstrijdleider heeft KlukKluk geopend en heeft het competitiegroep scherm open. 

Postconditions (Success Guarantee):

Het resultaat van de wedstrijden in de ronde is opgenomen in het systeem en de rating van de interne spelers zijn aangepast. 

 De gekozen spelers zijn verwijderd uit de gekozen competitiegroep.

Main Success Scenario (Basic Flow): 

Actor Action

System Responsibility

1. De wedstrijdleider geeft aan

dat hij de resultaten van een ronde wedstijden in wilt voeren.

de competitiegroepen te willen zien van de gekozen competitie

3. De wedstrijdleider

voert één voor één de resultaten in voor gespeelde wedstrijden.

geeft aan de spelers in een groep te willen zien.


5. De wedstrijdleider geeft aan welke speler(s) hij wil verwijderen uit de competitiegroep.

 


2. Systeem

geeft een lijst van gespeelde wedstrijden.

toont alle groepen van de gekozen competitie

4.

Het systeem berekent de nieuwe rating van de spelers, slaat de nieuwe rating en het resultaat van de wedstrijden binnen de ronde op, en toont de net ingevoerde ronde.

Resultaat externe ronde invoeren

UC 7: Resultaat externe ronde invoeren

Systeem toont de beschikbare spelers die in de groep kunnen en de huidige spelers in de groep.


6. Systeem verwijderd de speler(s) uit de competitiegroep.


Vastleggen startrating

UC 5:Vastleggen startrating

Primary actor:
Primary actor: Externe
Wedstrijdleider

Stakeholders and Interests:

Spelers:

de speler die deel heeft genomen aan een externe match wil dat zijn rating up-to-date blijft.

deze willen aan het einde van een seizoen hun voortgang kunnen vergelijken met het begin van het seizoen

Brief description:

De

externe

wedstrijdleider

voert

wil aan het

resultaat van een externe wedstrijd in voor een interne speler. Hierna wordt de rating van de interne speler aangepast.

Preconditions:

De interne speler is aanwezig in het systeem.

Een externe match heeft plaatsgevonden. 

begin van het seizoen de startrating van elke speler vastleggen, zodat hier na het seizoen mee vergeleken kan worden

Preconditions: De wedstrijdleider heeft KlukKluk geopend en heeft het hoofdscherm open.
Postconditions (Success Guarantee):
Het resultaat van de externe wedstrijd is opgenomen in het systeem en de rating van de interne speler is aangepast. 
 Voor elke speler is een startrating vastgesteld in de database, en deze wordt afgebeeld binnen de applicatie
Main Success Scenario (Basic Flow):
Actor ActionSystem Responsibility

 1. De

externe

wedstrijdleider geeft aan

dat hij het resultaat van een externe wedstrijd in wilt voeren

de algemene spelerslijst te willen zien.


3. De

externe

wedstrijdleider

geeft aan of de witspeler intern of extern was

drukt op de knop om startrating vast te stellen.


5. De

externe

wedstrijdleider

geeft de naam van de interne witspeler

7. De externe wedstrijdleider geeft de rating van de externe zwartspeler

9. De externe wedstrijdleider bevestigt de input

bevestigt de startrating op te willen slaan.

 

2.

Het systeem vraagt of de speler die wit speelde intern of extern was

4. [witspeler is intern] Het systeem vraagt om de naam van de interne speler

6. Het systeem vraagt om de rating van de externe zwartspeler

Systeem toont voornaam, achternaam, rating en type van de bekende spelers.


4. Het systeem toont een pop-up

8. Het systeem toont een popup

ter bevestiging van het

opslaan

vaststellen van

het resultaat van

de

match

startratings.

 

10


6. [

wedstrijdleider bevestigt] Het

Keuze = ja] Het systeem slaat de

externe match met een interne witspeler en een externe zwartspeler op. De rating van de interne speler wordt geupdate. 

huidige ratings van de spelers op als de startrating van het nieuwe seizoen.

Extensions (Alternative Flow):

De witspeler is extern

Startratings moeten niet opgeslagen worden

 

5a. De externe wedstrijdleider geeft de rating van de externe witspeler

7a. De externe wedstrijdleider geeft de naam van de interne zwartspeler

9a. De externe wedstrijdleider bevestigt de input.

4a. Het systeem vraagt om de rating van de externe witspeler

6a. Het systeem vraagt om de naam van de interne zwartspeler

8a. Het systeem toont een popup ter bevestiging van het opslaan van het resultaat van de match. 

10a. [wedstrijdleider bevestigt] Het systeem slaat de externe match met een interne zwartspeler en een externe witspeler op. De rating van de interne speler wordt geupdate.  

De wedstrijdleider wijst de input af

10b. Het systeem bewaart tijdelijk de ingevoerde inputs en gaat terug naar stap 2

Andere functionele eisen (optional)

Code

Description

FR1

Het programma moet in staat zijn om op een gemakkelijke manier te schakelen tussen verschillende databases, zodat de gebruikers zonder veel moeite tussen verschillende databases kunnen schakelen.

FR2

Het programma moet in staat zijn om alle input die door de gebruiker wordt ingevoerd te valideren voordat hij deze door stuurt naar de database zodat er geen kwaadaardige query's naar de database worden gestuurd.

FR3

Het programma moet in staat zijn om te draaien op zowel Windows als MacOS zodat het zoveel mogelijk gebruikers kan ondersteunen door op de meest recente OS'en te kunnen draaien.

FR4

Het programma moet standalone worden kunnen gelanceerd zodat de gebruiker geen externe webhosting hoeft te onderhouden.

 

Non-functionele eisen 

De volgende non-functionele requirements zijn geschreven volgens FURPS.

Usability

...

Code

...

Description

...

NFR1

...

Een gebruiker moet de resultaten van een competitie in kunnen voeren zonder elk lid of resultaat aan te hoeven klikken.

...

NFR2

...

Een gebruiker moet met weinig klikken tot de functies kunnen komen.

...

NFR3

...

Reliability

...

Code

...

Description

...

NFR1

Performance

Code

Description

NFR2

Alle schermen moeten binnen minimaal 2 seconden laden

Security

Code

Description

NFR2

SQL-injecties moeten voorkomen worden door prepared statements.

User interface schetsen

Wireframe spelers

Image Removed

...


 6a. [keuze = nee] Het systeem sluit de pop-up en de startrating wordt niet vastgelegd.

Ronde resultaten invoeren

UC 6: Ronde resultaten invoeren

Primary actor: Wedstrijdleider

Stakeholders and Interests:

Spelers: de spelers die deel hebben genomen aan een match willen dat hun rating up-to-date blijft.
Voorzitter: Als de wedstrijdresultaten correct worden ingevuld geeft dit een beter inzicht op de status van de huidige competities.

Brief description:

De wedstrijdleider voert het resultaat van een wedstrijd in voor de interne spelers. Hierna wordt de rating van de interne spelers aangepast.

Preconditions: De interne spelers zijn aanwezig in het systeem en ronde is al ingedeeld.
Postconditions (Success Guarantee): Het resultaat van de wedstrijden in de ronde is opgenomen in het systeem en de rating van de interne spelers zijn aangepast. 
Main Success Scenario (Basic Flow):
Actor ActionSystem Responsibility

1 De wedstrijdleider geeft aan de competitiegroepen te willen zien van de gekozen competitie


3 De wedstrijdleider geeft aan de ronden van een groep te willen zien


5 Systeem geeft aan de wedstrijden van een ronde te willen zien.


7 De wedstrijdleider geeft resultaat van een wedstrijd aan

 

2 Systeem geeft lijst van groepen in de competitie


4 Systeem geeft een lijst van rondes van een groep


6 Systeem toont wedstrijden van de ronde.


8 Het systeem berekent de nieuwe rating van de spelers, slaat de nieuwe rating en het resultaat van de wedstrijden binnen de ronde op.


Resultaat externe ronde invoeren

UC 7: Resultaat externe ronde invoeren

Primary actor: Externe Wedstrijdleider

Stakeholders and Interests:

Spelers: de speler die deel heeft genomen aan een externe match wil dat zijn rating up-to-date blijft.

Brief description:

De externe wedstrijdleider voert het resultaat van een externe wedstrijd in voor een interne speler. Hierna wordt de rating van de interne speler aangepast.

Preconditions:

De interne speler is aanwezig in het systeem.

Een externe match heeft plaatsgevonden. 

Postconditions (Success Guarantee): De rating van de interne speler is aangepast. 
Main Success Scenario (Basic Flow):
Actor ActionSystem Responsibility

 1. De externe wedstrijdleider geeft aan dat hij het resultaat van een externe wedstrijd in wilt voeren


3. De externe wedstrijdleider geeft de naam van de interne speler


5. De externe wedstrijdleider geeft de rating van de externe speler


7. De externe wedstrijdleider kiest de uitslag van de wedstrijd.


9. De externe wedstrijdleider geeft aan de gegevens op te willen slaan


11. De externe wedstrijdleider geeft aan dat de gegevens kloppen

 

2. Het systeem vraagt om de naam van de interne speler


4. Het systeem vraagt om de rating van de externe speler


6. Het systeem vraagt wat de uitslag van de wedstrijd was


8. Het systeem geeft de optie om de gegevens op te slaan



10. Het systeem vraagt met een pop-up of de gegevens kloppen


11. [wedstrijdleider bevestigt]

De rating van de interne speler wordt geüpdatet. 

Extensions (Alternative Flow): De wedstrijdleider wijst de input af


11b. [wedstrijdleider bevestigt niet] Het systeem bewaart tijdelijk de ingevoerde gegevens en gaat terug naar stap 2

Indeling genereren voor competitie

UC8: Indeling genereren voor competitie

Primary actor: Interne Wedstrijdleider

Stakeholders and Interests:

Spelers: spelers willen ingedeeld worden in een competitie zodat ze kunnen spelen.

Brief description:

De interne wedstrijdleider geeft aan een competitie indeling te willen genereren waarna het systeem een indeling genereert met de beschikbare spelers en groepen.

Preconditions:

Er zijn spelers in een competitie/groep ingedeeld.

Postconditions (Success Guarantee): Er is een indeling gegenereerd voor de competitie.
Main Success Scenario (Basic Flow):
Actor ActionSystem Responsibility

 1. De interne wedstrijdleider geeft aan dat hij een indeling voor een competitie wil laten genereren.

 

2. Het systeem kiest het juiste indeel systeem en maakt een indeling

System Sequence Diagram

Image Added


Gegevens publiceren op website

UC9: Gegevens publiceren op website

Primary actor: Interne Wedstrijdleider

Stakeholders and Interests:

Spelers: spelers willen de stand, indeling en uitslagen van wedstrijden en ronden kunnen zien

Brief description:

De interne wedstrijdleider geeft aan de gegevens van een competitie te willen publiceren op de website waarna het systeem html bestanden genereert en op de website plaatst.

Preconditions:

De wedstrijdleider heeft het competitiescherm open en er zitten competities in het systeem 

Postconditions (Success Guarantee): 

De gegevens van een competitie zijn op de website te zien. 


Main Success Scenario (Basic Flow):
Actor ActionSystem Responsibility
  1. De wedstrijdleider geeft aan de competities te willen zien.


3. De wedstrijdleider selecteert een competitie


5. De wedstrijdleider geeft voor de competitie aan de gegevens te willen publiceren

 

2. Het systeem toont de competities in het systeem


4. Het systeem selecteert de competitie en maakt de uploadknop klikbaar


6. Het systeem genereert html bestanden

7. Het systeem plaatst de html bestanden op de webserver


Printen ronde indeling

UC10: Printen ronde indeling

Primary actor: Interne Wedstrijdleider

Stakeholders and Interests:

Spelers: willen de indeling kunnen bekijken zodat zij kunnen zien tegen wie zij moeten gaan spelen.

Brief description:

De interne wedstrijdleider geeft aan de indeling van een ronde binnen een competitie uit te willen printen.

Preconditions:

De wedstrijdleider heeft het competitiescherm open en er zitten competities in het systeem.

Postconditions (Success Guarantee): 

De wedstrijdleider heeft een pdf ontvangen met daarin de indeling van de ronde.


Main Success Scenario (Basic Flow):
Actor ActionSystem Responsibility

1. De wedstrijdleider geeft aan de indeling van een ronde uit te willen printen.


3. De wedstrijdleider geeft voor een competitie aan de indeling uit te willen printen.


5. De wedstrijdleider geeft voor een competitie aan welke ronde hij uit wilt printen.


7. De wedstrijdleider selecteert waar deze de PDF wil laten genereren


9. De wedstrijdleider drukt op "PDF genereren"


2. Het systeem toont de competities in het systeem.


4. Het systeem toont de rondes binnen de competities.


6. Het systeem toont de gekozen ronde van de competitie


8. Het systeem toont het gekozen pad naast de "Browse" knop


10. Het systeem genereert een pdf-bestand met kolommen voor de namen van de witspeler en de zwartspeler, een kolom met de uitslag, de indeling met welke competitie, de hoeveelste ronde en de datum van de ronde.

Alternate flow 


3a. De wedstrijdleider kiest een datum.

4a. De wedstrijdleider selecteert waar deze de PDF wil laten genereren.


6a. De wedstrijdleider drukt op "PDF genereren"



5a. Het systeem toont het gekozen pad naast de "Browse" knop


7a. Het systeem genereert pdf-bestanden voor alle rondes op de gekozen datum met kolommen voor de namen van de witspeler en de zwartspeler, een kolom met de uitslag, de indeling met welke competitie, de hoeveelste ronde en de datum van de ronde.


Andere functionele eisen (optional)

Code

Description

FR1

Het programma moet in staat zijn om alle input die door de gebruiker wordt ingevoerd te valideren voordat hij deze door stuurt naar de database zodat er geen kwaadaardige query's naar de database worden gestuurd.

 

Non-functionele eisen 

De volgende non-functionele requirements zijn geschreven volgens FURPS.

Usability

Code

Description

NFR1

Een gebruiker moet de resultaten van een competitie in kunnen voeren zonder elk lid of resultaat aan te hoeven klikken.

NFR2

Een gebruiker moet met minder dan 4 kliks tot de functies kunnen komen.

NFR3

Een gebruiker moet de functies kunnen gebruiken zonder pop-up windows tenzij er een foutmelding binnen komt of er een vraag wordt gesteld.

NFR4

Het programma moet standalone worden kunnen gelanceerd zodat de gebruiker geen externe webhosting hoeft te onderhouden.

Reliability

Supportability

Code

Description

NFR5

Het programma moet in staat zijn om op een gemakkelijke manier te schakelen tussen verschillende databases, zodat de gebruikers zonder veel moeite tussen verschillende databases kunnen schakelen.

NFR6

Het programma moet in staat zijn om te draaien op zowel Windows als MacOS zodat het zoveel mogelijk gebruikers kan ondersteunen door op de meest recente OS'en te kunnen draaien.

Performance

Code

Description

NFR7

Alle schermen moeten binnen minimaal 2 seconden laden

Security

Code

Description

NFR8

SQL-injecties moeten voorkomen worden door prepared statements.

User interface schetsen


Use case code

Naam

Link

UC 1 

Spelers beheren

https://xd.adobe.com/view/0a0b6f64-ed0a-4627-b127-86517d217cb5-5f58/?fullscreen

UC 2

Beheren van competities

https://xd.adobe.com/view/b81481fb-0e42-49b6-bfe1-cb8dffccd965-ed47/

UC 3 & 4

Beheren van competitiegroepen en beheren van spelers in competitiegroepen 

https://xd.adobe.com/view/63beb593-c1ed-4b5b-ae15-0d3a6257fc35-36ed/ 

UC 6:

 Ronde resultaten invoeren

Image Added

UC 7

Resultaat externe ronde invoeren

https://xd.adobe.com/view/ba9fd358-17d6-4903-b4e1-57183531a57a-efcc/

UC 10

Printen ronde indeling

Image Added