UC-OVG-FP-004 — Resultatenoverzichtsamenvatting tonen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-OVG-FP-004 |
| Naam | Resultatenoverzichtsamenvatting tonen |
| Domein | Ouder/voogd / Frontpage en context |
| Primaire actor | Ouder/voogd |
| Secundaire actor(en) | Frontend, backend, database, autorisatiecomponent |
| Rolcontext | Actieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Ouder-/voogd-frontpage, Resultatenoverzichtblok |
| Gerelateerde usecases | UC-OVG-FP-001, UC-OVG-KIND-004, UC-OVG-RES-* |
| Primaire entiteiten | UserRelationships, ExerciseRuns, Levels, Categories, Exercises |
| Secundaire entiteiten / events | Resultatensamenvatting-readmodel; geen domeinevents |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
De usecase beschrijft het samenvattingsblok Resultatenoverzicht op de ouder-/voogd-frontpage. Het blok toont compacte totalen of recente resultaatinformatie over gekoppelde kinderen, zonder de volledige geschiedenis uit te schrijven.
Een ouder/voogd mag geschiedenis en resultaten over alle niveaus van het gekoppelde kind bekijken. De frontpage toont daarvan alleen samenvattende informatie; volledige filters, resultaatdetails en PDF-export horen in ouder-/voogdresultaten en geschiedenis.
Uitgangspunten
- Alleen afgeronde runs tellen mee voor frontpage-resultaatsamenvattingen.
- Een ouder/voogd ziet resultaten over alle niveaus van gekoppelde kinderen.
- De frontpage toont geen volledige geschiedenis of detailtabel.
- Resultaten worden niet opnieuw berekend uit clientstate.
- Docenttestruns tellen niet mee als kindresultaten.
3. Scope
Deze usecase beschrijft:
- Afleiden van compacte totalen voor gekoppelde kinderen.
- Uitsluiten van niet-afgeronde runs en docenttestruns.
- Tonen van recente of relevante resultaatinformatie zonder volledige geschiedenis.
- Doorverwijzen naar resultaten/geschiedenis pas na kindselectie.
Deze usecase beschrijft niet:
- Resultaatdetail en statistieken tonen.
- PDF-export uitvoeren.
- Geschiedenis filteren en pagineren.
- Resultaten wijzigen of herberekenen.
3.1 Afbakening met aangrenzende domeinen
| Onderdeel | Afbakening |
|---|---|
| Generiek / Relaties | Relatie-uitnodigingen, acceptatie en algemene relatievorming blijven bronhoudend in het generieke relatiedomein. |
| Generiek / Berichten | Systeemberichten en leesstatussen blijven bronhoudend in het centrale berichtendomein. |
| Leerling | De leerling blijft eigenaar van eigen oefenuitvoering; ouder/voogd kan niet namens het kind oefenen. |
| Docent | Docentautorisaties en docentresultaatinzage blijven begrensd door docentcontext; ouder-/voogdcontext gebruikt eigen relatiegrens. |
4. Pre-condities
| ID | Waarde |
|---|---|
| 001 | De ouder-/voogdcontext is vastgesteld. |
| 002 | Er bestaan nul of meer actieve kindrelaties. |
| 003 | Afgeronde exercise runs zijn raadpleegbaar binnen de geautoriseerde kindcontext. |
5. Post-condities
| ID | Waarde |
|---|---|
| 001 | Het Resultatenoverzichtblok toont compacte waarden of lege staat. |
| 002 | Geen run, statistiek of geschiedenisrecord is gewijzigd. |
| 003 | Geen kindcontext is impliciet geselecteerd voor detailactie. |
6. Trigger
De usecase start wanneer de ouder/voogd de betreffende ouder-/voogdroute opent of de beschreven actie uitvoert binnen de actieve ouder-/voogdcontext.
7. Normale processtroom
| Stap | Actor / component | Actie | Resultaat | Data / controle |
|---|---|---|---|---|
| 1 | Backend | Leest actieve kindrelaties | Kindscope is bekend | UserRelationships |
| 2 | Backend | Selecteert afgeronde runs | Alleen geautoriseerde kindruns tellen mee | ExerciseRuns |
| 3 | Backend | Sluit ongeschikte runs uit | Niet-afgerond en testrun blijven buiten samenvatting | Runstatus |
| 4 | Backend | Berekenen compacte totalen | Resultatenoverzicht is afgeleid | Readmodel |
| 5 | Frontend | Toont resultatenblok | Samenvatting zichtbaar op frontpage | Viewmodel |
7.1 Scherm- en routegedrag
- De pagina wordt opgebouwd als overzichts- en oriëntatiepagina, niet als mutatiepagina.
- Blokken tonen compacte waarden en verwijzen naar onderliggende routes voor detailacties.
- Bij lege of niet beschikbare data wordt een veilige lege staat getoond in plaats van gedeeltelijk ongeautoriseerde data.
- De frontend mag visuele keuzes tonen, maar backendautorisatie bepaalt de dataset.
8. Alternatieve en exceptionele processtromen
| ID | Waarde |
|---|---|
| 001 | Geen afgeronde runs: toon een lege of neutrale samenvatting zonder foutmelding. |
| 002 | Kindrelatie is beëindigd: resultaten van dat kind tellen niet meer mee in actuele ouder-/voogdfrontpage. |
| 003 | Historische run verwijst naar later gewijzigde categorie: frontpage gebruikt historische runcontext of betekenisvolle actuele samenvatting volgens readmodeldefinitie. |
| 004 | Te veel resultaten: frontpage toont alleen compacte samenvatting en verwijst naar geschiedenis. |
8.1 Afhandeling van verouderde of ongeldige clientstate
- De backend herhaalt de autorisatiecontrole bij iedere vervolgactie.
- Oude selectie-, route- of browsercontext wordt genegeerd wanneer de actuele server-side context geen toegang meer geeft.
- De frontend mag verouderde weergave herstellen door opnieuw het actuele viewmodel op te vragen.
9. Business rules
| ID | Waarde |
|---|---|
| 001 | Alleen afgeronde runs tellen mee voor frontpage-resultaatsamenvattingen. |
| 002 | Een ouder/voogd ziet resultaten over alle niveaus van gekoppelde kinderen. |
| 003 | De frontpage toont geen volledige geschiedenis of detailtabel. |
| 004 | Resultaten worden niet opnieuw berekend uit clientstate. |
| 005 | Docenttestruns tellen niet mee als kindresultaten. |
9.1 Readmodel- en tellerdefinities
| Waarde | Definitie | Uitsluitingen / grenzen |
|---|---|---|
| Totaal afgeronde oefeningen | Telt afgeronde ExerciseRuns van actief gekoppelde kinderen. | Niet-afgerond, geannuleerd of testrun telt niet mee. |
| Recente resultaatinformatie | Gebaseerd op afrondmoment van geautoriseerde runs. | Geen volledige geschiedenis op de frontpage. |
| Kindscope | Afgeleid uit actieve ouder-/voogdrelaties. | Resultaten van niet langer gekoppelde kinderen worden niet in actuele frontpagesamenvatting getoond. |
9.2 Autorisatie- en privacygrenzen
- De zichtbare dataset wordt altijd server-side beperkt tot de actieve ouder-/voogdcontext.
- Persoonsgegevens van kinderen worden alleen getoond zolang er een actieve ouder-/voogdrelatie bestaat.
- Historische oefenresultaten worden gelezen binnen de toegestane context, maar niet gewijzigd door raadplegen of samenvatten.
10. Datavalidatie
| ID | Waarde |
|---|---|
| 001 | Run moet bij een actief gekoppeld kind horen. |
| 002 | Run moet afgerond zijn. |
| 003 | Testruns moeten uitgesloten worden. |
| 004 | Tellerdefinities moeten eenduidig zijn: kindscope, runstatus en tijdvenster moeten expliciet bepaald zijn. |
11. Datamutaties en events
| ID | Waarde |
|---|---|
| 001 | Geen domeinmutaties. |
12. Geen datamutaties
| ID | Waarde |
|---|---|
| 001 | ExerciseRuns worden niet gewijzigd. |
| 002 | Runstatistieken worden niet herberekend. |
| 003 | UserRelationships worden niet gewijzigd. |
| 004 | Geen PDF-exportrecord wordt aangemaakt. |
13. State diagram
Niet van toepassing. Deze usecase wijzigt geen persistent statusobject. Het Resultatenoverzichtblok toont een afgeleide readmodeltoestand of een lege staat.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
17. Popupverwijzingen
| PopupKey | Gebruik | Opmerking |
|---|---|---|
| Niet van toepassing | Deze usecase gebruikt geen popupregister-popup. | Lege staten en inline meldingen zijn scherminhoud en geen popupdefinitie. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Aspect | Afleiding |
|---|---|
| FO/TO/SRS-001 | Ouder-/voogd-frontpage bevat een compact Resultatenoverzicht. |
| FO/TO/SRS-002 | Ouder/voogd kan geschiedenis over alle niveaus van gekoppelde kinderen bekijken. |
| FO/TO/SRS-003 | Volledige geschiedenis wordt niet op de frontpage uitgespreid. |
19. SRS-trace
Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.
| Usecase-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-OVG-FP-004-001 | SRS-GUA-001 AC-GUA-001 | Resultaten op de ouder-/voogdfrontpage samenvattend tonen |
REQ-UC-OVG-FP-004-002 | SRS-LRN-008 SRS-GUA-001 AC-LRN-008 AC-GUA-001 | Alleen afgeronde runs meetellen |
REQ-UC-OVG-FP-004-003 | SRS-LRN-009 SRS-TCH-005 SRS-GUA-001 AC-LRN-009 AC-TCH-005 AC-GUA-001 | Docenttestruns uitsluiten |
REQ-UC-OVG-FP-004-004 | SRS-GUA-001 AC-GUA-001 | Resultaten beperken tot actief gekoppelde kinderen |
REQ-UC-OVG-FP-004-005 | SRS-GUA-002 SRS-NFR-AUD-001 AC-GUA-002 AC-NFR-AUD-001 | Geen volledige geschiedenis op de frontpage laden |