Skip to main content

UC-OVG-RES-005 — Resultaatdetails en statistieken bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-RES-005
NaamResultaatdetails en statistieken bekijken
DomeinOuder/voogd / Resultaten en geschiedenis
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, database, module-renderer
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenResultaatdetail, Statistieken, Vraagdetails
Gerelateerde usecasesUC-OVG-RES-004, UC-OVG-RES-006, UC-LLN-RES-002, UC-DOC-RES-004
Primaire entiteitenExerciseRuns, ExerciseRunProgress, ExerciseModulePayload
Secundaire entiteiten / eventsGuardianResultStatisticsReadModel
Gerelateerde popupsPOP-OVG-RESULT-DETAIL-NOT-AVAILABLE
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een ouder/voogd binnen een afgeronde run de vraagdetails en statistiekensectie bekijkt. De gegevens zijn gelijkwaardig aan de historische resultaatweergave voor de leerling, maar worden via ouder-/voogdautorisatie ontsloten.

De statistieken worden gelezen uit opgeslagen runvelden of consistent afgeleid uit opgeslagen rungegevens. De frontend herberekent geen scores vanuit clientstate en de ouder/voogd kan geen antwoorden corrigeren.

Uitgangspunten

  • Statistiekweergave is read-only.
  • Opgeslagen uniforme runvelden zijn leidend.
  • Vraagdetails mogen alleen zichtbaar zijn voor gekoppelde kinderen.
  • Ouder/voogd kan geen score of antwoord wijzigen.
  • Module-specifieke weergave blijft ondersteunend aan de historische runbron.

3. Scope

Deze usecase beschrijft:

  • tonen van vraag-antwoordregels;
  • tonen van goed/fout/Geen idee;
  • tonen van gemiddelde tijd, mediaan, doorlooptijd en uitschieters waar beschikbaar;
  • tonen van juiste antwoord bij fout of Geen idee;
  • veilig omgaan met module-specifieke representatie.

Deze usecase beschrijft niet:

  • herberekenen van statistieken als normale schermactie;
  • antwoorden aanpassen;
  • nieuwe run maken;
  • moduleconfiguratie bewerken.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Leerling / ResultatenDe historische run, statistiekvelden en PDF-bron blijven dezelfde bron als in het leerlingdomein; de ouder-/voogdweergave voegt alleen autorisatie en selectie op oudercontext toe.
Docent / ResultatenDocentresultaten blijven beperkt tot de eigen docentcontext; ouder/voogd mag juist alle niveaus van het gekoppelde kind zien.
Generiek / RelatiesRelatievorming, uitnodigingen en algemene relatie-lifecycle blijven buiten deze resultaatusecases.
Database / ReadmodelsTellers, filters en overzichten zijn afgeleide readmodels boven bestaande relatie-, niveau-, oefening- en rungegevens.

4. Pre-condities

| 001 | Er is een geautoriseerde afgeronde run geopend. | | 002 | De run bevat opgeslagen detail- of payloadgegevens. | | 003 | De uniforme totalen en statistiekvelden zijn beschikbaar of veilig afleidbaar. | | 004 | De ouder-/voogdrelatie is nog actief. |

5. Post-condities

| 001 | Vraagdetails en statistieken zijn read-only getoond. | | 002 | Geen antwoord, score of statistiek is gewijzigd. | | 003 | Ontbrekende detaildata is veilig afgehandeld. | | 004 | PDF-export kan dezelfde historische bron gebruiken. |

6. Trigger

De ouder/voogd opent de detail- of statistiekensectie binnen een resultaatdetail.

7. Normale processtroom

StapActor / componentActieResultaatData / controle
1Ouder/voogdOpent statistiekensectieFrontend vraagt uitgebreid detail opRunId
2BackendHerhaalt autorisatiecontroleRun blijft toegestaanUserRelationships
3BackendLeest vraagdetails en statistiekveldenReadmodel wordt opgebouwdExerciseRunProgress + ExerciseRuns
4Module-rendererLevert veilige representatie waar nodigComplexe notatie wordt veilig weergegevenModule renderer
5FrontendToont vraagdetailsOuder/voogd ziet antwoorden en statusReadmodel
6FrontendToont statistiekenGemiddelden en uitschieters zichtbaarStored statistics

7.1 Scherm- en routegedrag

  • De resultatenroutes worden altijd opnieuw server-side geautoriseerd.
  • De ouder-/voogdweergave toont read-only informatie over gekoppelde kinderen.
  • De pagina gebruikt functionele namen en context, geen technische identifiers als herkenningsmiddel.
  • Oude filters, routeparameters of browserstate mogen geen toegang afdwingen.

8. Alternatieve en exceptionele processtromen

| 001 | Vraagpayload bevat modulespecifieke inhoud die niet volledig renderbaar is: generieke veilige representatie wordt gebruikt. | | 002 | Statistiekveld ontbreekt door historisch record: backend toont beschikbare velden zonder de run te overschrijven. | | 003 | Relatie vervalt tijdens bekijken: vervolgverzoeken worden geweigerd. | | 004 | Run is niet afgerond: statistiekensectie wordt niet getoond. | | 005 | PDF-export is beschikbaar, maar gebruikt dezelfde autorisatie opnieuw. |

8.1 Afhandeling van verouderde of ongeldige clientstate

  • De backend herhaalt autorisatie bij iedere raadpleeg-, filter-, export- of liveactie.
  • Oude routeparameters, browserselecties en clientcache worden genegeerd wanneer de actuele server-side context geen toegang geeft.
  • De frontend mag het scherm herstellen door het actuele readmodel opnieuw op te vragen.

9. Business rules

| 001 | Voor schermweergave zijn opgeslagen runvelden leidend. | | 002 | Vraagdetails worden alleen getoond voor geautoriseerde runs. | | 003 | Geen idee telt functioneel als fout en moet als afzonderlijke markering zichtbaar kunnen zijn. | | 004 | Module-specifieke rendering mag geen vrije HTML of actieve inhoud introduceren. | | 005 | Statistiekenweergave mag geen herstel- of herberekenactie triggeren. |

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
VraagregelsVraagnummer, opgave, gegeven antwoord, juiste antwoord en resultaatstatus.Alleen voor geautoriseerde afgeronde run.
StatistiekenGemiddelde, mediaan, totale doorlooptijd, uitschieters en grenzen indien opgeslagen.Geen clientside herberekening.
Geen ideeAparte markering naast fouttelling.Alleen tonen wanneer relevant voor de run.
ModuleweergaveVeilige representatie voor complexe notatie.Geen actieve inhoud.

9.2 Autorisatie- en privacygrenzen

  • De zichtbare dataset wordt altijd server-side beperkt tot actieve ouder-/voogdrelaties.
  • Een gebruiker met gecombineerde rollen krijgt binnen deze routes geen impliciete docent- of beheerderinzage.
  • Resultaat- en livegegevens van niet-gekoppelde kinderen worden nooit gedeeltelijk getoond.

10. Datavalidatie

| 001 | Run moet nog steeds geautoriseerd zijn. | | 002 | Run moet afgerond zijn. | | 003 | Vraagdetails moeten bij dezelfde run horen. | | 004 | Module-renderhulp mag alleen veilige output leveren. | | 005 | Statistiekvelden moeten consistent bij de runcontext horen. |

11. Datamutaties en events

| 001 | Geen functionele datamutaties. | | 002 | Detail- en statistiekweergave worden opgebouwd uit bestaande rungegevens. |

12. Geen datamutaties

| 001 | Antwoorden worden niet gewijzigd. | | 002 | Scores worden niet gewijzigd. | | 003 | Statistiekvelden worden niet herberekend of overschreven. | | 004 | Moduleconfiguratie wordt niet gewijzigd. |

13. State diagram

Niet van toepassing. Deze usecase toont read-only detail- en statistiekgegevens en wijzigt geen persistent statusobject.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruik
POP-OVG-RESULT-DETAIL-NOT-AVAILABLEWordt gebruikt wanneer detail- of statistiekgegevens veilig niet beschikbaar zijn.

Popupteksten, knopteksten, inputlabels en themakeuzes worden niet in deze usecase gedupliceerd. Het popupregister en de popupthemes blijven bronhoudend.

18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification

| 001 | Resultaatdetails voor ouder/voogd tonen dezelfde inhoudelijke runbron als leerlingresultaten. | | 002 | Statistieken worden niet vanuit clientstate berekend. | | 003 | Module-specifieke weergave mag ondersteunen, maar niet de generieke autorisatie- en opslagregels vervangen. |

18.1 Impact voor database-informatie en ontwerpbronnen

| 001 | Autorisatiematrix moet ouder-/voogdraadpleging onderscheiden van docentraadpleging. | | 002 | Usecase-scherm-matrix moet de betrokken ouder-/voogdschermen koppelen aan deze usecase. | | 003 | Usecase-requirement-matrix moet de requirements uit hoofdstuk 19 opnemen. | | 004 | Readmodeldefinities voor ouder-/voogdresultaten moeten alle niveaus van het gekoppelde kind omvatten. |

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.

Er zijn voor deze usecase geen aparte requirement-afleidingen vastgelegd. De procesbeschrijving blijft broncontext voor de SRS-traceability.