...
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 zou het fijn zijn als de 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 zoals Java of Python, zodat de code toegankelijker is om uit te breiden of aan te passen door eventuele toekomstige 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:
- Het maken van competities
- Het invoeren van resultaten voor rondes
- Het printen van rondeschema's
- Het publiceren van de competitieinformatie naar de website
- Het bijhouden van een ranglijst
- Het toevoegen van leden en gasten
Zie bijlage 1 voor de uitleg van de functionaliteiten.
Resultaten
Aan het einde van het project zal schaakvereniging UVS de volgende producten in handen hebben:
- Een Plan van aanpak waarin alle afspraken over het project zijn beschreven en waar de ontwikkelgroep op kan terugvallen.
- Een Software Requirement Specification waarin staat wat de software doet en geeft een beeld over het systeem aan de stakeholders.
- Een Software Design Document waarin staat hoe het product gemaakt is en wat de technische specificaties zijn.
- De Java-code van de te realiseren applicatie.
- Een Testplan dat beschrijft hoe er getest wordt.
- Een Testrapport waarin de resultaten van alle tests beschreven staan.
- Een Installatiegids die schaakvereniging UVS kan gebruiken om de applicatie op het eigen systeem te installeren, en hoe de ontwikkelomgeving kan worden opgezet.
- Een Gebruikershandleiding waarin staat beschreven hoe je welke acties in de applicatie kunt uitvoeren.
- Een Database waarmee de Database waarmee de java-code verbinding maakt.
...
- Er is broncode van het originele programma Rokade beschikbaar.
- Er is een testdatabase beschikbaar waarmee de nieuwe applicatie ontwikkeld en getest kan wordenvoorbeelddatabase beschikbaar die kan worden gebruikt bij de oude Rokade applicatie om te zien hoe functionaliteiten werken.
- De opdrachtgever is beschikbaar tijdens de geplande afspraken.
...
Deelproduct | Productkwaliteitseisen | Benodigde activiteiten | Proceskwaliteitseisen | |||
---|---|---|---|---|---|---|
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. |
|
| Nadat een onderdeel gemaakt is wordt het door de kwaliteitsmanager gereviewd. |
Java-code |
| Java-code |
|
| Elke pull-request word door tenminste 2 andere teamleden nagekeken of de code voldoet aan de eisen gesteld in kolom 2. Bij oplevering wordt de gehele codebase naar de opdrachtgever gestuurd. | |
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. | |||
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 beschrijven hoe de applicatie geïnstaleerd kan worden en hoe de ontwikkelomgeving moet worden opgezet. |
| Installatiegids |
| De installatiegids moet getest en gereviewed worden door iemand anders dan die hem geschreven heeft. | |
Gebruikershandleiding | Beschrijft hoe je de functies in de applicatie kunt uitvoeren. |
|
Ontwikkelmethoden
Gedurende de ontwikkeling van de nieuwe applicatie wordt gebruikgemaakt van scrum. Door via scrum te werken worden binnen de zogeheten sprintperiodes steeds deelproducten opgeleverd, die uiteindelijk samen het eindproduct vormen. Door via scrum te werken is bij ieder teamlid duidelijk wat er moet gebeuren en door wie, en door de voortgang bij te houden blijft het overzicht helder. Dankzij de flexibiliteit die scrum biedt is het ook makkelijk om gedurende de loop van het project aanpassingen door te voeren indien bijvoorbeeld de behoeften van de opdrachtgever veranderen.
...
Risico | Kans (groot - middel - klein) | Impact(groot - middel - klein) | Tegenmaatregel | Uitwijkstrategie |
---|---|---|---|---|
Ziekteverlof van een of meer van de teamleden. Hierdoor zal de voortgang van het project worden gehinderd | Klein | Klein | Duidelijk aanstellen wie welke taak heeft op genomen zodat de taken kunnen worden overgenomen door andere teamleden | Bij een langdurig ziekteverlof zal de planning opnieuw moeten worden gepland en de taken van het uitgevallen teamlid zullen moeten worden overgenomen door de rest van het team. Ook moet er contact op worden genomen met de werkgever voor mogelijke vertraging binnen het project. |
Bijlage 1
functionaliteit-indelingsprogramma-uvs.pdf