Skip to main content

UC-OVG-FP-002 — Ouder-/voogdcontext bepalen

1. Kerngegevens​

VeldWaarde
Usecase-IDUC-OVG-FP-002
NaamOuder-/voogdcontext bepalen
DomeinOuder/voogd / Frontpage en context
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, autorisatiecomponent, database
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenOuder-/voogd-frontpage, rolcontext-routering
Gerelateerde usecasesUC-OVG-FP-001, UC-OVG-FP-005, UC-GEN-ACC-002, UC-GEN-PROF-007
Primaire entiteitenUsers, Roles, UserRoles, UserSettings
Secundaire entiteiten / eventsRolcontext-readmodel; geen domeinevents
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving​

De usecase beschrijft hoe OefenHub bepaalt of de ingelogde gebruiker de ouder-/voogdcontext mag gebruiken. De context wordt niet uit de URL of browserstate afgeleid, maar uit de server-side sessie, actieve rollen en geldige applicatiestatus.

Wanneer een gebruiker meerdere niet-leerlingrollen heeft, kan de applicatie een gecombineerde of contextspecifieke frontendweergave samenstellen. De rol Leerling blijft uitgesloten van combinaties met Ouder/voogd.

Uitgangspunten

  • De server-side rolcontext is leidend boven clientstate.
  • Leerling mag nooit gecombineerd worden met Ouder/voogd.
  • Ouder/voogd mag gecombineerd zijn met Docent en/of Beheerder.
  • Een actieve ouder-/voogdcontext betekent nog niet dat er actieve kindrelaties bestaan.
  • Contextbepaling wijzigt geen rollen of relaties.

3. Scope​

Deze usecase beschrijft:

  • Server-side bepalen of de ouder-/voogdcontext actief mag worden.
  • Uitsluiten van leerlingrolcombinaties.
  • Bepalen van gecombineerde context wanneer Docent en Ouder/voogd samen aanwezig zijn.
  • Veilig afhandelen van oude routeparameters of clientstate.

Deze usecase beschrijft niet:

  • Rollen beheren; dit hoort bij beheerder/accountbeheer.
  • Relaties maken of accepteren; dit hoort bij generiek/relaties.
  • Kinderenoverzicht laden; dit hoort bij UC-OVG-KIND-001.

3.1 Afbakening met aangrenzende domeinen​

OnderdeelAfbakening
Generiek / RelatiesRelatie-uitnodigingen, acceptatie en algemene relatievorming blijven bronhoudend in het generieke relatiedomein.
Generiek / BerichtenSysteemberichten en leesstatussen blijven bronhoudend in het centrale berichtendomein.
LeerlingDe leerling blijft eigenaar van eigen oefenuitvoering; ouder/voogd kan niet namens het kind oefenen.
DocentDocentautorisaties en docentresultaatinzage blijven begrensd door docentcontext; ouder-/voogdcontext gebruikt eigen relatiegrens.

4. Pre-condities​

IDWaarde
001De gebruiker heeft een geldige OefenHub-sessie.
002UserRoles zijn beschikbaar voor server-side autorisatie.
003De rolcontext-routering is actief.

5. Post-condities​

IDWaarde
001De ouder-/voogdcontext is vastgesteld, geweigerd of gecombineerd volgens de rolregels.
002Er is geen rol, relatie of voorkeur gewijzigd.
003Vervolgschermen gebruiken dezelfde server-side context.

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​

StapActor / componentActieResultaatData / controle
1FrontendVraagt context voor ouder-/voogdroute opBackend ontvangt routeverzoekSessie
2BackendLeest actieve rollenBeschikbare rolcontexten zijn bekendUserRoles
3BackendControleert leerlinguitsluitingLeerlingcombinatie wordt geblokkeerdRolregels
4BackendBepaalt ouder-/voogdcontextContext wordt toegestaan of geweigerdAutorisatie
5BackendBepaalt gecombineerde contextDocent + Ouder/voogd wordt als gecombineerde frontend behandeldRolprioriteit
6FrontendRendert passende routeFrontpage of veilige afhandeling verschijntContextresultaat

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​

IDWaarde
001Geen ouder-/voogdrol: toegang tot ouder-/voogdroute wordt geweigerd.
002Gebruiker heeft leerlingrol: ouder-/voogdcontext wordt niet gecombineerd en route wordt geweigerd.
003Oude browsercontext wijst naar ouder-/voogd maar rol is ingetrokken: server-side rolcontrole is leidend.
004Docent + Ouder/voogd: gecombineerde frontpage wordt runtime samengesteld volgens vaste volgorde.
005Beheerder + Docent + Ouder/voogd: beheerderprioriteit geldt in de beheerderfrontpage; ouder-/voogdcontext blijft wel afzonderlijk bereikbaar waar toegestaan.

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​

IDWaarde
001De server-side rolcontext is leidend boven clientstate.
002Leerling mag nooit gecombineerd worden met Ouder/voogd.
003Ouder/voogd mag gecombineerd zijn met Docent en/of Beheerder.
004Een actieve ouder-/voogdcontext betekent nog niet dat er actieve kindrelaties bestaan.
005Contextbepaling wijzigt geen rollen of relaties.

9.1 Readmodel- en tellerdefinities​

WaardeDefinitieUitsluitingen / grenzen
Beschikbare rolcontextenAfgeleid uit actieve UserRoles van de ingelogde gebruiker.Clientstate en routeparameters mogen geen extra rolcontext creëren.
Combinatie Docent + Ouder/voogdRuntime bepaald wanneer beide rollen actief zijn.Er wordt geen apart persistent combinatierecord gebruikt.
LeerlinguitsluitingAfgeleid uit aanwezigheid van leerlingrol.Leerling mag niet gecombineerd worden met ouder-/voogdcontext.

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​

IDWaarde
001UserId uit sessie moet bestaan en actief zijn.
002De rol Ouder/voogd moet actief zijn op het moment van routecontrole.
003Routeparameters mogen geen andere rolcontext afdwingen dan server-side toegestaan.
004Bij combinatierollen moet de vaste volgorde voor frontpages toepasbaar zijn.

11. Datamutaties en events​

IDWaarde
001Geen domeinmutaties.
002Contextbepaling is runtime autorisatie- en routeringslogica op basis van de actuele sessie en rollen.

12. Geen datamutaties​

IDWaarde
001UserRoles worden niet gewijzigd.
002UserRelationships worden niet gelezen als autorisatiebron voor de rol zelf.
003UserSettings worden niet aangepast door contextbepaling.

13. State diagram​

Niet van toepassing. Deze usecase wijzigt geen persistent statusobject. De ouder-/voogdcontext is een runtimebesluit en geen opgeslagen lifecyclestatus.

14. Decision flow​

15. Data lifecycle diagram​

16. Sequence diagrammen​

17. Popupverwijzingen​

PopupKeyGebruikOpmerking
Niet van toepassingDeze 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​

AspectAfleiding
FO/TO/SRS-001Ouder/voogd is een zelfstandige rolcontext.
FO/TO/SRS-002De rol Leerling kan niet gecombineerd worden met Ouder/voogd.
FO/TO/SRS-003Docent en Ouder/voogd mogen gecombineerd voorkomen.

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-afleidingDektUsecasecontext
REQ-UC-OVG-FP-002-001SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
Ouder-/voogdcontext server-side bepalen
REQ-UC-OVG-FP-002-002SRS-AUTH-001
SRS-LRN-009
SRS-GUA-001
AC-AUTH-001
AC-LRN-009
AC-GUA-001
Leerlingcombinaties met ouder-/voogd blokkeren
REQ-UC-OVG-FP-002-003SRS-AUTH-001
SRS-AUTH-002
SRS-GUA-001
AC-AUTH-001
AC-AUTH-002
AC-GUA-001
Oude clientstate negeren wanneer die niet overeenkomt met actuele rollen
REQ-UC-OVG-FP-002-004SRS-AUTH-003
SRS-LRN-009
SRS-TCH-001
SRS-GUA-001
AC-AUTH-003
AC-LRN-009
AC-TCH-001
AC-GUA-001
Gecombineerde Docent + Ouder/voogd-context runtime kunnen samenstellen
REQ-UC-OVG-FP-002-005SRS-REL-001
SRS-GUA-001
AC-REL-001
AC-GUA-001
Contextbepaling niet gebruiken om rollen of relaties te wijzigen