Resultaten en geschiedenis
Deze map bevat de leerlingusecases voor resultaatweergave, statistieken, oefengeschiedenis en PDF-export. Het subdomein begint nadat een leerling een oefening heeft afgerond of een eerder afgerond resultaat vanuit geschiedenis opnieuw opent.
De usecases zijn procesgericht. Zij beschrijven welke resultaat- en geschiedenisgegevens worden geladen, welke controles server-side plaatsvinden, welke vervolgacties beschikbaar zijn en welke gegevens bewust niet opnieuw worden berekend of gewijzigd. Exacte visuele uitwerking, microcopy en layoutdetails blijven onderdeel van schermdocumentatie en centrale ontwerpbronnen.
Usecases
Relevante schermdocumentatie
| Scherm / context | Relevantie |
|---|
| Oefenscherm | Startpunt voor afronding en directe resultaatweergave. |
| Oefeningpagina | Bevat acties naar geschiedenis, opnieuw maken, resultaat en vervolgacties. |
| Resultaatpopup / resultaatcomponent | Toont samenvatting, vraagdetails, statistieken en resultaatacties. |
| Oefeninggeschiedenis | Toont afgeronde runs binnen één oefeningcontext. |
| Geschiedenis alles | Toont brede geschiedenis over meerdere niveaus, categorieën en oefeningen. |
| PDF-export | Gebruikt dezelfde inhoudelijke brondata als de resultaatweergave. |
| Gedeelde oefeningen | Afgeronde gedeelde oefeningen kunnen als eigen runs in geschiedenis voorkomen. |
| Ontwerpbronnen — Business rules | Centrale bron voor resultaat-, geschiedenis- en PDF-regels. |
Domeinafbakening
| Onderwerp | Afbakening |
|---|
| Resultaatweergave | Toont opgeslagen resultaatdata van een afgeronde run. |
| Statistieken | Worden gelezen uit uniforme runvelden die bij afronding zijn opgeslagen. |
| Oefening opnieuw maken | Maakt een nieuwe run op basis van dezelfde vragen waar voorwaarden gelden. |
| PDF-export | Genereert een exportbestand vanuit dezelfde historische resultaatcontext. |
| Oefeninggeschiedenis | Toont afgeronde runs voor één oefeningcontext. |
| Geschiedenis alles | Toont brede afgeronde geschiedenis van de leerling over contexten heen. |
| Niet-afgeronde runs | Worden niet als afgeronde geschiedenisregel getoond. |
| Docent-testruns | Worden niet als permanente leerlinggeschiedenis getoond. |
| Autorisatiebeheer | Hoort bij docent- en beheerflows; dit subdomein gebruikt alleen de gevolgen voor zichtbaarheid. |
| Oefening maken | Het beantwoorden en afronden van vragen hoort bij oefenen-en-voortgang. |
Belangrijke brondata
| Bron | Gebruik |
|---|
ExerciseRuns | Hoofdbron voor afgeronde runs, totalen, afrondmoment, duplicate-context en runmetadata. |
| Vraag- en antwoordpayload | Bron voor vraagdetails, gegeven antwoorden en juiste antwoorden. |
| Uniforme statistiekvelden | Bron voor resultaatstatistieken zonder normale herberekening. |
| Historische niveaucontext | Bepaalt hoe het resultaat en de geschiedenis achteraf herkenbaar blijven. |
| Historische categorie- en oefeningcontext | Bepaalt zichtbare context in resultaat, geschiedenis en PDF. |
| Gedeelde-oefeningcontext | Bepaalt of een ontvangen gedeelde oefening als eigen afgeronde run in geschiedenis verschijnt. |
Bijzondere regels
| Onderwerp | Regel |
|---|
| Afgeronde runs | Alleen afgeronde runs worden als reguliere geschiedenis getoond. |
| Niet-afgeronde runs | Blijven hervatbaar via oefenflows maar verschijnen niet als afgeronde geschiedenisregel. |
| Testruns | Docent-testruns worden niet in leerlinggeschiedenis opgenomen. |
| Statistieken | Resultaat- en geschiedenisweergaven lezen opgeslagen statistieken en berekenen deze normaal niet opnieuw. |
| PDF | PDF-export bevat dezelfde inhoudelijke resultaatdata als de resultaatweergave. |
| Historische context | Resultaten blijven historisch herkenbaar, ook wanneer actuele naamgeving of autorisatie achteraf wijzigt. |
| Technische identifiers | Leerlingen krijgen geen technische GUID's als primaire herkenningswaarde te zien. |
| Filters | Filters beperken de eigen geautoriseerde dataset en openen geen extra data. |
| Gedeelde oefeningen | Een gedeelde oefening verschijnt pas in geschiedenis wanneer de ontvanger een eigen run heeft afgerond. |
| Popups | De meeste flows gebruiken resultaatcomponenten, routeguards en pagina-leegstaten; popupregister-popups worden niet als bron gedupliceerd. |
Diagramgebruik binnen deze usecases
| Diagramtype | Gebruik |
|---|
| Sequence diagram | Voor interactie tussen leerling, frontend, backend, database en PDF-service. |
| Decision flow | Voor autorisatie, runstatus, filter- en vervolgactiecontroles. |
| Data lifecycle | Voor onderscheid tussen opgeslagen run, readmodel, resultaatweergave, PDF en geschiedenis. |
| State diagram | Alleen wanneer een persistent statusobject geraakt wordt. Binnen deze batch is dat alleen inhoudelijk relevant bij het ontstaan van een nieuwe duplicate-run. |
Samenhang met andere leerling-subdomeinen
| Subdomein | Relatie |
|---|
| Oefenaanbod en toegang | Bepaalt welke oefeningen de leerling mag openen en starten. |
| Frontpage en niveaucontext | Kan samenvattingen tonen die uit afgeronde runs zijn afgeleid. |
| Oefenen en voortgang | Maakt en voltooit de runs die in resultaten en geschiedenis verschijnen. |
| Gedeelde oefeningen | Levert ontvangen gedeelde oefeningen die na afronding als eigen run in geschiedenis kunnen staan. |