...
Het doel van dit project is het ontwikkelen van een nieuwe applicatie ter vervanging van het verouderde programma Rokade, gebruikt door Schaakvereniging UVS uit Nijmegen en mogelijk ook andere schaak- en damverenigingen. Daarnaast moeten frontend en backend gescheiden zijn, zodat eventuele toekomstige aanpassingen of uitbreidingen gemakkelijk kunnen worden geïmplementeerd. Belangrijk is ook dat er uitgebreide documentatie wordt gemaakt, zodat toekomstige ontwikkelaars van de vereniging het programma kunnen onderhouden en verder ontwikkelen. Ook moet het programma geschreven worden in een modernere taal dan Delphi, zodat de code toegankelijker is om uit te breiden of aan te passen door eventuele toekomstige gebruikers.
Opdracht
Uit gesprekken met schaakvereniging UVS en een beter begrip van hun wensen, is de opdracht verfijnd. We zullen een systeem ontwikkelen dat de volgende taken automatiseert:
...
- De applicatie-backend wordt ontwikkeld in Java.
- Om de applicatie te koppelen met een database wordt de Java Persistence API (JPA) toegepast, waardoor het later mogelijk is om relatief makkelijk andere databases met de applicatie te koppelen.
- Het uiteindelijke product moet werkzaam zijn op Windows en MacOS.
- Na oplevering is het team niet verantwoordelijk voor gebruikerstraining of systeemonderhoud; de oplevering omvat een installatiegids.
- Het hele database systeem moet gebackupt kunnen worden als een file via een cloud service als dropbox, zodat er geen kosten zijn om het database systeem te hosten.
Randvoorwaarden
Om het project succesvol te kunnen afronden zijn de volgende voorwaarden vastgesteld:
...
Deelproduct | Productkwaliteitseisen (//smart) | Benodigde activiteiten | Proceskwaliteitseisen (//5xW 1xH) |
---|---|---|---|
Plan van aanpak | Het plan van aanpak moet het doel van het project, de projectgrenzen, de randvoorwaarden, de eisen van de deelproducten en risicos bevatten. |
| Het plan van aanpak wordt in een assessment besproken waarna feedback volgt en aangepast wordt. |
Software Requirement Specification | Het SRS moet usecases bevatten, en de code/tests moeten traceerbaar zijn naar deze usecases.
|
| Nadat een onderdeel gemaakt is wordt het door de kwaliteitsmanager gereviewd. |
Software Design Document | Het SDD moet designkeuzes uitleggen en beargumenteren. In het SDD moet verwezen worden naar SOLID of GRASP principes, zoals aangeleerd in Object oriented analysis and design. |
| Nadat een onderdeel gemaakt is wordt het door de kwaliteitsmanager gereviewd. |
Java-code |
|
| Elke pull-request word door tenminste 2 andere teamleden nagekeken of de code voldoet aan de eisen gesteld in kolom 2. |
Database |
|
| Telkens als de database veranderd moet minimaal 1 ander persoon de structuur controleren om er zeker van te zijn dat het goed gedaan is. |
Testplan | Het testplan bevat informatie over de tests die uitgevoerd gaan worden, en instructies over hoe deze uitgevoerd moeten worden. De tests moeten traceerbaar zijn naar de usecases in het SRS. |
| Elke keer als er een Java test gemaakt is wordt deze in dit document toegelicht. |
Testrapport | Het testrapport bevat de resultaten van de tests die uitgevoerd zijn volgens het testplan. |
| Nadat alles is getest wordt er een rapport gemaakt waarin beschreven staat wat er wel goed gaat en wat er niet goed gaat. |
Installatiegids |
|
| De installatiegids moet getest en gereviewed worden door iemand anders dan die hem geschreven heeft. |
...