Ouder/voogd usecases
Deze map bevat de usecases voor gebruikers die binnen OefenHub handelen vanuit de rol Ouder/voogd. De ouder-/voogdrol is gericht op het ondersteunen en volgen van gekoppelde kinderen: kinderen bekijken, resultaatinformatie raadplegen, geschiedenis openen en live meekijken wanneer een gekoppeld kind actief oefent.
De ouder-/voogdcontext maakt geen oefeningen aan, start geen oefeningen namens een kind en wijzigt geen oefenresultaten. De rol gebruikt bestaande relatie-, oefenrun-, resultaat- en live-meekijkdata binnen een eigen server-side bepaalde autorisatiecontext.
Subdomeinen
| Subdomein | Inhoud |
|---|---|
| Frontpage en context | Ouder-/voogd-frontpage, rolcontext, samenvattingsblokken en gecombineerde docent/ouder-frontpage. |
| Kinderen en koppelingen | Overzicht van gekoppelde kinderen, kindselectie, kindinformatie, ontkoppelen en communicatie over ontkoppeling. |
| Resultaten en geschiedenis | Resultaatoverzichten, geschiedenis, resultaatdetails, statistieken, PDF-export en blokkade zonder actieve ouder-/voogdrelatie. |
| Online en live meekijken | Online kinderen, beschikbaarheid van live meekijken, live voortgang volgen, bladeren door vragen en sessie-afhandeling. |
Relevante schermdocumentatie
| Schermgebied | Relevantie |
|---|---|
| Ouder/voogd — Frontpage | Startpunt voor ouder-/voogdcontext, kinderenoverzichtsamenvatting, resultatensamenvatting en gecombineerde docent/ouder-frontpage. |
| Ouder/voogd — Kinderen | Overzicht van gekoppelde kinderen, naamweergave, sortering, selectie, kindinformatie en ontkoppelen. |
| Ouder/voogd — Kindinformatie | Bundelt kindgegevens, compacte resultaatinformatie en routes naar geschiedenis. |
| Ouder/voogd — Resultaten en geschiedenis | Raadplegen, filteren, openen van resultaatdetails, statistieken en PDF-export. |
| Ouder/voogd — Online | Tonen van online gekoppelde kinderen en beschikbaarheid van live meekijken. |
| Ouder/voogd — Live meekijkweergave | Read-only meekijken met actieve oefenrun, inclusief actuele vraag, vraaglijst, browse-modus, terugkeer naar live en verbindingsafhandeling. |
| Generiek — Relaties | Bronhoudend voor relatievorming, uitnodigingen, acceptatie en relatie-lifecycle buiten ouder-/voogdspecifieke ontkoppelactie. |
| Generiek — Berichten en systeemberichten | Bronhoudend voor mailbox- en berichtgedrag; ouder-/voogd-usecases verwijzen alleen functioneel naar communicatiegevolgen. |
| Generiek — Popups | Bronhoudend voor popuptekst, knoptekst, inputlabels en themakeuzes. Usecases verwijzen alleen naar PopupKey. |
Uitgangspunten
| Onderwerp | Regel |
|---|---|
| Rolcontext | Ouder/voogd werkt altijd vanuit een server-side bepaalde ouder-/voogdcontext. |
| Relatievoorwaarde | Kinderen zijn alleen zichtbaar wanneer een actieve ouder-/voogdrelatie met het kind bestaat. |
| Kindselectie | Kindselectie is UI-context en nooit een autorisatiebron. |
| Resultaattoegang | Een ouder/voogd mag resultaten en geschiedenis van alle niveaus van gekoppelde kinderen bekijken. |
| Geen oefenstart | Een ouder/voogd kan geen oefeningen genereren, starten, hervatten of opnieuw maken namens een kind. |
| Geen resultaatmutatie | Een ouder/voogd kan geen antwoord, score, statistiek, voortgang, runstatus of resultaat wijzigen. |
| Live meekijken | Live meekijken is read-only en alleen toegestaan bij actief oefenende gekoppelde kinderen. |
| Historische bron | Resultaten, geschiedenis en PDF-export gebruiken dezelfde historische runcontext als leerling- en docentweergaven. |
| Autorisatie | Clientstate, routeparameters, filters, browsergeschiedenis en geselecteerde kind-ID’s mogen ouder-/voogdtoegang nooit verruimen. |
| Relatiedomein | Uitnodigen, accepteren en afwijzen van ouder-/voogdrelaties blijft bronhoudend onderdeel van het generieke relatiedomein. |
| Berichten | Systeemberichten en privéberichten blijven bronhoudend onderdeel van het generieke berichtendomein. |
| Combinatierollen | Bij een gecombineerde docent/ouder-frontpage worden docentblokken en ouder-/voogdblokken runtime samengesteld binnen de gekozen rolcontext. |
| Lege toestanden | Geen gekoppelde kinderen, geen online kinderen, geen afgeronde resultaten of lege filterresultaten zijn geldige toestanden. |
| PDF-export | PDF-export levert een tijdelijke downloadresponse en maakt geen verplicht permanent documentrecord aan. |
Usecases per subdomein
Frontpage en context
| Usecase | Naam | Omschrijving |
|---|---|---|
| UC-OVG-FP-001 | Ouder/voogd-frontpage bekijken | Toont de frontpage binnen ouder-/voogdcontext. |
| UC-OVG-FP-002 | Ouder/voogdcontext bepalen | Bepaalt server-side of de gebruiker de ouder-/voogdcontext kan gebruiken. |
| UC-OVG-FP-003 | Kinderenoverzichtsamenvatting tonen | Toont compacte informatie over gekoppelde kinderen op de frontpage. |
| UC-OVG-FP-004 | Resultatenoverzichtsamenvatting tonen | Toont compacte resultaatinformatie voor gekoppelde kinderen. |
| UC-OVG-FP-005 | Gecombineerde docent-ouder-frontpage tonen | Stelt docent- en ouder-/voogdblokken runtime samen voor combinatierollen. |
Kinderen en koppelingen
| Usecase | Naam | Omschrijving |
|---|---|---|
| UC-OVG-KIND-001 | Kinderenoverzicht bekijken | Toont alle actief gekoppelde kinderen binnen ouder-/voogdcontext. |
| UC-OVG-KIND-002 | Kinderen sorteren en naamweergave toepassen | Past sortering en naamweergave toe zonder autorisatie of brondata te wijzigen. |
| UC-OVG-KIND-003 | Kind selecteren | Zet de gekozen kindregel als tijdelijke UI-context voor vervolginzage. |
| UC-OVG-KIND-004 | Kindinformatie bekijken | Toont read-only kindinformatie en compacte resultaatgegevens. |
| UC-OVG-KIND-005 | Kind ontkoppelen | Beëindigt de ouder-/voogdrelatie auditbaar zonder historie of resultaten te verwijderen. |
| UC-OVG-KIND-006 | Ontkoppeling aan kind communiceren | Zorgt voor functionele communicatie aan het kind na ontkoppeling. |
Resultaten en geschiedenis
| Usecase | Naam | Omschrijving |
|---|---|---|
| UC-OVG-RES-001 | Resultatensamenvatting van kind bekijken | Toont compacte resultaatstatistieken voor één gekoppeld kind. |
| UC-OVG-RES-002 | Kindgeschiedenis openen | Opent de volledige geschiedenis van afgeronde runs van een gekoppeld kind. |
| UC-OVG-RES-003 | Geschiedenis filteren op niveau, categorie en oefening | Filtert de kindgeschiedenis binnen de toegestane ouder-/voogdcontext. |
| UC-OVG-RES-004 | Afgeronde oefenrun van kind bekijken | Opent een read-only resultaatdetail van een afgeronde run. |
| UC-OVG-RES-005 | Resultaatdetails en statistieken bekijken | Toont vraagdetails, scores en statistieken van een afgeronde run. |
| UC-OVG-RES-006 | Resultaat als PDF downloaden binnen oudercontext | Genereert een tijdelijke PDF-download van een geautoriseerd resultaat. |
| UC-OVG-RES-007 | Geen toegang zonder actieve ouder-/voogdrelatie | Blokkeert resultaatinzage wanneer actuele ouder-/voogdautorisatie ontbreekt. |
Online en live meekijken
| Usecase | Naam | Omschrijving |
|---|---|---|
| UC-OVG-LIVE-001 | Online kinderenoverzicht bekijken | Toont gekoppelde kinderen met online- en oefenstatus. |
| UC-OVG-LIVE-002 | Live meekijken-beschikbaarheid bepalen | Bepaalt server-side of Kijk live mee beschikbaar is. |
| UC-OVG-LIVE-003 | Live meekijksessie starten | Start een read-only live-meekijksessie en maakt LiveViewAudit aan. |
| UC-OVG-LIVE-004 | Live voortgang van kind volgen | Toont voortgangsupdates uit de opgeslagen oefenvoortgang. |
| UC-OVG-LIVE-005 | Door vragen bladeren tijdens live meekijken | Laat de ouder/voogd lokaal door vragen bladeren zonder de run te beïnvloeden. |
| UC-OVG-LIVE-006 | Terugkeren naar actuele live vraag | Zet de weergave terug naar de actuele livevraag. |
| UC-OVG-LIVE-007 | Live meekijksessie beëindigen | Beëindigt een live-meekijksessie auditbaar en idempotent. |
| UC-OVG-LIVE-008 | Live verbinding verbroken afhandelen | Handelt verbindingsverlies, herverbindingspogingen en veilige beëindiging af. |
Afbakening ten opzichte van andere domeinen
| Onderdeel | Bronhoudend domein | Afbakening binnen ouder/voogd |
|---|---|---|
| Relatie-uitnodigingen | Generiek / Relaties | Ouder/voogd-usecases gebruiken bestaande relaties, maar beschrijven uitnodigen, accepteren en afwijzen niet opnieuw. |
| Relatie-lifecycle | Generiek / Relaties en Ouder/voogd / Kinderen en koppelingen | Generieke relatievorming blijft generiek; ouder-/voogdontkoppeling vanuit kindoverzicht wordt binnen dit domein beschreven. |
| Berichten en systeemberichten | Generiek / Berichten | Ontkoppeling of updates kunnen berichten veroorzaken, maar berichtopbouw en mailboxgedrag blijven generiek. |
| Oefeningen maken | Leerling / Oefenen en voortgang | Een ouder/voogd bekijkt resultaten en live voortgang, maar start of wijzigt geen oefening. |
| Resultaatdetails en PDF-export | Leerling / Resultaten en geschiedenis | De ouder-/voogdweergave gebruikt dezelfde historische resultaatbron, met een eigen autorisatiegrens. |
| Docentresultaten | Docent / Resultaten en geschiedenis | Docenten zien alleen eigen docentcontext; ouder/voogd ziet alle niveaus van gekoppelde kinderen. |
| Live meekijken door docent | Docent / Online en live meekijken | De livecomponent kan technisch gedeeld zijn, maar ouder-/voogdautorisatie is gebaseerd op de actieve ouder-/voogdrelatie. |
| Accountstatus en anonimisering | Beheerder / Accountbeheer | Accountstatus en anonimisering kunnen zichtbaarheid beïnvloeden, maar worden niet door ouder-/voogd-usecases gewijzigd. |
| Featuretoggles | Beheerder / Features en systeemnotificaties | Live meekijken kan sitebreed worden geschakeld; ouder-/voogd-usecases lezen alleen de actuele beschikbaarheid. |
Readmodel- en tellerdefinities
| Waarde | Definitie |
|---|---|
| Gekoppeld kind | Gebruiker met actieve ouder-/voogdrelatie met de ingelogde ouder/voogd. |
| Kinderenoverzichtsamenvatting | Afgeleide frontpageweergave van actief gekoppelde kinderen en compacte contextinformatie. |
| Resultatensamenvatting | Afgeleide totalen uit afgeronde, niet-test runs van gekoppelde kinderen. |
| Kindgeschiedenisregel | Eén afgeronde run met afrondmoment, niveau, categorie, oefening en beschikbare totalen. |
| Resultaatdetail | Read-only weergave van één afgeronde run met historische context, vraagdetails en statistieken. |
| Online kind | Actief gekoppeld kind met recente sessie of realtime aanwezigheid volgens het online-readmodel. |
| Live beschikbaar | Actieve ouder-/voogdrelatie, actieve live-feature en actieve oefenrun bij het gekoppelde kind. |
| Live-meekijksessie | Open LiveViewAudit-record met ouder-/voogdrolcontext, gekoppeld kind, run en startmoment. |
| Browse-modus | Lokale UI-stand waarin de ouder/voogd tijdens live meekijken een andere vraag bekijkt dan de actuele livevraag. |
| PDF-exportmodel | Tijdelijk exportmodel uit dezelfde historische runbron als resultaatdetail en statistieken. |
Bijzondere regels
- Een ouder/voogd zonder gekoppelde kinderen ziet een geldige lege toestand.
- Een gekoppeld kind zonder afgeronde runs ziet geldige lege resultaat- en geschiedenisblokken.
- Een gekoppeld kind dat online is maar niet oefent, krijgt geen actieve liveknop.
- Iedere resultaat-, geschiedenis-, detail-, export- en liveactie herhaalt server-side de relatiecontrole.
- Een run-ID, kind-ID, oude route, bookmark, filter of browserselectie geeft nooit zelfstandig toegang.
- Resultaatweergaven tonen alleen afgeronde runs; lopende runs worden via live meekijken gevolgd, niet als historisch resultaat getoond.
- Historische niveau-, categorie- en oefeningcontext blijft leidend voor resultaten en PDF-export.
- Ontkoppelen verwijdert geen kindaccount, runs, resultaten, geschiedenis of PDF-brondata.
- Live meekijken is volledig read-only en gebruikt SignalR uitsluitend als transportlaag.
- Het starten van live meekijken maakt
LiveViewAuditaan; overzicht en beschikbaarheidsbepaling doen dat niet. - Het beëindigen van live meekijken is idempotent en wijzigt de oefenrun niet.
- Popupteksten, knopteksten, inputlabels en themakeuzes worden niet in usecases gedupliceerd; usecases verwijzen alleen naar
PopupKey.
Diagramgebruik
| Diagramtype | Toepassing binnen ouder/voogd |
|---|---|
| State diagram | Alleen inhoudelijk gebruikt waar een persistent statusobject of audit-lifecycle wijzigt, zoals LiveViewAudit. Read-only overzichts-, selectie-, filter- en resultaatflows gebruiken geen persistent state diagram. |
| Decision flow | Gebruikt voor contextbepaling, relatiecontrole, lege toestanden, toegang geweigerd, filtervalidatie, livebeschikbaarheid en sessie-afhandeling. |
| Data lifecycle diagram | Gebruikt om te tonen welke bestaande relatie-, run-, resultaat- en realtimegegevens worden gelezen en waar echte mutaties plaatsvinden. |
| Sequence diagrammen | Gebruikt voor interacties tussen ouder/voogd, frontend, backend, database, realtime service en PDF-exportservice. |
Impact voor ontwerpbronnen en matrices
| Onderdeel | Impact |
|---|---|
| Autorisatiematrix | Moet ouder-/voogdraadpleging onderscheiden van leerling-, docent- en beheerdercontext. |
| Usecase-scherm-matrix | Moet ouder-/voogdfrontpage, kinderen, kindinformatie, geschiedenis, resultaatdetail, PDF-export, online en liveweergave koppelen aan de juiste usecases. |
| Usecase-popup-matrix | Moet alleen PopupKey-verwijzingen opnemen; tekst en labels blijven in popupregister en popupthemes. |
| Usecase-requirement-matrix | Moet requirements uit alle ouder-/voogd-usecases opnemen onder SRS-OVG-*. |
| Database-informatie | Moet relatiecontrole, readmodels voor resultaten/geschiedenis en LiveViewAudit met ouder-/voogdrolcontext ondersteunen. |
| FO/TO/SRS | Moet ouder-/voogd expliciet beschrijven als read-only toezicht- en inzagerol met eigen autorisatiegrens. |