Skip to main content

UC-OVG-FP-001 — Ouder-/voogd-frontpage bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-FP-001
NaamOuder-/voogd-frontpage bekijken
DomeinOuder/voogd / Frontpage en context
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, autorisatiecomponent, database, systeemnotificatiecomponent
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenOuder-/voogd-frontpage
Gerelateerde usecasesUC-OVG-FP-002, UC-OVG-FP-003, UC-OVG-FP-004, UC-OVG-FP-005, UC-GEN-NOT-001, UC-GEN-NOT-002, UC-GEN-ACC-002
Primaire entiteitenUsers, Roles, UserRoles, UserRelationships, UserSettings, ExerciseRuns
Secundaire entiteiten / eventsSystemNotifications, relatie-readmodels, resultaat-readmodels; geen domeinevents
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

De usecase beschrijft hoe een gebruiker met actieve ouder-/voogdrol de ouder-/voogd-frontpage opent. De frontpage is een compacte oriëntatiepagina met samenvattingsblokken voor gekoppelde kinderen en resultaten. De pagina bevat geen live-statusblok en start geen detailacties die eerst een specifiek kind vereisen.

De frontpage wordt volledig server-side opgebouwd vanuit de actuele ouder-/voogdcontext. Clientstate, routeparameters of eerder gekozen kinderen mogen niet bepalen welke kinderen of resultaten zichtbaar worden. Systeemnotificaties worden pas na het succesvol laden van de frontpage gecontroleerd en blokkeren de frontpage niet vooraf.

Uitgangspunten

  • Een ouder-/voogd-frontpage is een overzichts- en oriëntatiepagina, geen detail- of beheerscherm.
  • De frontpage bevat geen live-statusblok; live meekijken loopt via Online.
  • Contextafhankelijke acties vereisen eerst een gekozen kind of expliciete rolcontext.
  • Een ouder/voogd kan geen oefeningen genereren of starten voor een kind.
  • Alle zichtbare kinderen worden server-side afgeleid uit actieve ouder-/voogdrelaties.

3. Scope

Deze usecase beschrijft:

  • Laden van de ouder-/voogd-frontpage na server-side contextcontrole.
  • Tonen van compacte blokken Kinderenoverzicht en Resultatenoverzicht.
  • Bepalen van veilige lege staat wanneer geen actieve kindrelaties bestaan.
  • Startpunten tonen naar Kinderen en Online zonder een kinddetailactie direct uit te voeren.
  • Controle op systeemnotificaties na succesvolle frontpageload.

Deze usecase beschrijft niet:

  • Kindinformatie openen; dit hoort bij UC-OVG-KIND-004.
  • Geschiedenis of resultaatdetails tonen; dit hoort bij ouder-/voogdresultaten en geschiedenis.
  • Live meekijken starten; dit hoort bij ouder-/voogd online en live meekijken.
  • Relatie-uitnodigingen maken of accepteren; dit blijft bronhoudend in generiek/relaties.

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 is ingelogd.
002De backend heeft een actieve ouder-/voogdrol vastgesteld.
003De gebruiker heeft geen actieve leerlingrol.
004De frontpage-route is bereikbaar binnen de actieve frontendcontext.

5. Post-condities

IDWaarde
001De frontpage is getoond met ouder-/voogdblokinhoud of veilige lege staat.
002Er zijn geen relaties, resultaten of oefenruns gewijzigd.
003Systeemnotificatiecontrole kan na frontpageload starten.

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
1Ouder/voogdOpent de startpaginaFrontend vraagt ouder-/voogdfrontpage opActieve sessie
2BackendBepaalt rolcontextOuder-/voogdcontext is geldig of wordt geweigerdUserRoles
3BackendLaadt actieve kindrelatiesKinderenoverzicht kan worden opgebouwdUserRelationships
4BackendLaadt resultaatreadmodelsResultatenoverzicht krijgt compacte waardenExerciseRuns
5FrontendToont frontpageblokkenKinderenoverzicht en Resultatenoverzicht zijn zichtbaarReadmodel
6FrontendStart notificatiecontroleEerste relevante systeemnotificatie kan boven de geladen pagina verschijnenSystemNotifications

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 actieve ouder-/voogdrol: de route wordt server-side geweigerd en de gebruiker krijgt veilige toegang-geweigerdafhandeling.
002Geen gekoppelde kinderen: de frontpage toont een lege staat zonder foutmelding en zonder detailacties.
003Resultaatreadmodel tijdelijk niet beschikbaar: de frontpage blijft bruikbaar; het resultatenblok toont geen misleidende totalen.
004Gebruiker heeft ook docentrol: de gecombineerde frontpageflow uit UC-OVG-FP-005 is leidend.
005Systeemnotificatie actief: de notificatie wordt na frontpageload getoond en is geen onderdeel van het frontpage-readmodel.

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
001Een ouder-/voogd-frontpage is een overzichts- en oriëntatiepagina, geen detail- of beheerscherm.
002De frontpage bevat geen live-statusblok; live meekijken loopt via Online.
003Contextafhankelijke acties vereisen eerst een gekozen kind of expliciete rolcontext.
004Een ouder/voogd kan geen oefeningen genereren of starten voor een kind.
005Alle zichtbare kinderen worden server-side afgeleid uit actieve ouder-/voogdrelaties.

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
Aantal gekoppelde kinderenTelt actieve UserRelationships met ouder-/voogdrelatie voor de ingelogde ouder/voogd.Beëindigde relaties, verlopen uitnodigingen en niet-geaccepteerde uitnodigingen tellen niet mee.
ResultaatsamenvattingAfgeleid uit afgeronde ExerciseRuns van actief gekoppelde kinderen.Niet-afgeronde runs en docenttestruns tellen niet mee.
SysteemnotificatiecontroleAfgeleid na frontpageload uit actieve SiteNotifications/SystemNotifications.Notificaties blokkeren de frontpage niet vooraf.

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
001De backend valideert dat de gebruiker de rol Ouder/voogd bezit.
002De backend sluit accounts met leerlingrol uit van gecombineerde ouder-/voogdcontext.
003Alle tellerwaarden worden server-side afgeleid binnen de actieve ouder-/voogdrelaties.
004Een frontpageblok mag geen kindinformatie tonen waarvoor de relatie niet actief is.

11. Datamutaties en events

IDWaarde
001Geen domeinmutaties.
002De frontpageweergave, samenvattingswaarden en systeemnotificatiecontrole zijn afgeleide lees- en presentatielogica.

12. Geen datamutaties

IDWaarde
001UserRelationships worden niet aangemaakt, gewijzigd of beëindigd.
002ExerciseRuns, resultaten en statistieken worden niet gewijzigd.
003UserSettings worden niet gewijzigd.
004SystemMessages worden niet aangemaakt vanuit het openen van de frontpage.

13. State diagram

Niet van toepassing. Deze usecase wijzigt geen persistent statusobject. De zichtbare frontpagetoestand is een afgeleide UI-toestand op basis van actuele rolcontext, actieve ouder-/voogdrelaties, resultaatreadmodels en systeemnotificatiecontrole na de frontpageload.

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-/voogdnavigatie bevat Kinderen en Online.
FO/TO/SRS-002De ouder-/voogd-frontpage bevat compacte blokken Kinderenoverzicht en Resultatenoverzicht.
FO/TO/SRS-003Frontpages blokkeren niet op systeemnotificaties; notificaties worden na laden gecontroleerd.

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-001-001SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
De ouder-/voogd-frontpage alleen tonen na server-side vastgestelde ouder-/voogdcontext
REQ-UC-OVG-FP-001-002SRS-RDM-001
SRS-RDM-003
SRS-RDM-007
SRS-REL-001
SRS-GUA-001
AC-RDM-001
AC-RDM-003
AC-RDM-007
AC-REL-001
AC-GUA-001
Het Kinderenoverzicht op de frontpage uitsluitend baseren op actieve ouder-/voogdrelaties
REQ-UC-OVG-FP-001-003SRS-GUA-002
SRS-NFR-AUD-001
AC-GUA-002
AC-NFR-AUD-001
Resultaatwaarden op de frontpage uitsluitend samenvattend tonen en geen volledige geschiedenis laden
REQ-UC-OVG-FP-001-004SRS-GUA-001
AC-GUA-001
Vanaf de ouder-/voogd-frontpage geen kinddetailactie uitvoeren zonder expliciete selectie
REQ-UC-OVG-FP-001-005SRS-GUA-001
SRS-POP-002
AC-GUA-001
AC-POP-002
Systeemnotificaties pas na succesvolle frontpageload controleren