Skip to main content

UC-OVG-KIND-001 — Kinderenoverzicht bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-KIND-001
NaamKinderenoverzicht bekijken
DomeinOuder/voogd / Kinderen en koppelingen
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenKinderen
Gerelateerde usecasesUC-OVG-KIND-002, UC-OVG-KIND-003, UC-OVG-KIND-004, UC-OVG-FP-003
Primaire entiteitenUsers, UserRelationships, UserSettings
Secundaire entiteiten / eventsKinderenoverzicht-readmodel
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

De usecase beschrijft hoe een ouder/voogd de pagina Kinderen opent. Deze pagina toont de actief gekoppelde kinderen binnen de ouder-/voogdcontext. De pagina is functioneel eenvoudiger dan de docentpagina Leerlingen, omdat er geen statusfilters zoals Alles, Actief of Wachtend nodig zijn.

De pagina ondersteunt selectie van één kind tegelijk. Vervolgacties zoals Toon informatie, Bekijk geschiedenis en Ontkoppel leerling vereisen een geselecteerd kind.

Uitgangspunten

  • Alleen actieve ouder-/voogdrelaties worden getoond.
  • De pagina toont geen generieke statusfilters Alles, Actief of Wachtend.
  • Er kan steeds maar één kind geselecteerd zijn.
  • Vervolgacties vereisen expliciete selectie.
  • De ouder/voogd kan geen oefening starten voor het kind.

3. Scope

Deze usecase beschrijft:

  • Laden van actief gekoppelde kinderen.
  • Tonen van naamgegevens en compacte relatie-informatie.
  • Ondersteunen van één geselecteerd kind tegelijk.
  • Acties pas activeren na selectie.
  • Lege staat tonen wanneer geen kinderen gekoppeld zijn.

Deze usecase beschrijft niet:

  • Nieuwe ouder-/voogdrelatie uitnodigen of accepteren.
  • Volledige geschiedenis tonen.
  • Live meekijken starten.
  • Oefeningen starten of genereren.

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 actieve ouder-/voogdcontext.
002De pagina Kinderen is via de navigatie bereikbaar.
003Actieve ouder-/voogdrelaties zijn raadpleegbaar.

5. Post-condities

IDWaarde
001Het overzicht toont nul of meer gekoppelde kinderen.
002Er is maximaal één kind geselecteerd.
003Geen relatie of resultaat is gewijzigd.

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 KinderenFrontend vraagt overzicht opNavigatie
2BackendControleert ouder-/voogdcontextRoute is toegestaanAutorisatie
3BackendLeest actieve relatiesKinderenlijst wordt samengesteldUserRelationships
4BackendLaadt toegestane kindgegevensNaamgegevens en gekoppeld sinds beschikbaarUsers
5FrontendToont overzichtActies zijn inactief tot selectieViewmodel
6Ouder/voogdSelecteert eventueel één kindVervolgacties worden beschikbaarSelectie

7.1 Scherm- en routegedrag

  • De pagina Kinderen toont een compacte lijst en gebruikt selectie als bewuste tussenstap.
  • Vervolgacties blijven uitgeschakeld totdat een kind is geselecteerd.
  • Bij wijziging van relatie- of autorisatiestatus wordt oude clientstate ongeldig gemaakt.
  • De gebruiker krijgt geen docentgerichte filters of beheeracties te zien.

8. Alternatieve en exceptionele processtromen

IDWaarde
001Geen kinderen: toon lege staat zonder actieknoppen voor kinddetail.
002Relatie beëindigd tijdens laden: kind verdwijnt uit overzicht bij volgende refresh of serverrespons.
003Meerdere kinderen: er blijft steeds maximaal één geselecteerd kind actief.
004Gekoppeld kind geanonimiseerd of inactief: actuele persoonsgegevens worden beperkt volgens privacyregels.

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
001Alleen actieve ouder-/voogdrelaties worden getoond.
002De pagina toont geen generieke statusfilters Alles, Actief of Wachtend.
003Er kan steeds maar één kind geselecteerd zijn.
004Vervolgacties vereisen expliciete selectie.
005De ouder/voogd kan geen oefening starten voor het kind.

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
KinderenlijstActieve ouder-/voogdrelaties voor ingelogde gebruiker.Afgehandelde uitnodigingen en beëindigde relaties staan niet in de lijst.
ActiestatusToon informatie, Bekijk geschiedenis en Ontkoppel leerling zijn actief na selectie.Zonder selectie blijven vervolgacties uitgeschakeld.
SelectieMaximaal één kind tegelijk.Meervoudige selectie via clientmanipulatie wordt server-side genegeerd.

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 relatie moet ouder-/voogdrelatie zijn.
002Relatie moet IsActive = true zijn.
003Het kindaccount moet binnen de relatie het leerlingaccount zijn.
004Selectie-ID moet server-side tot de ouder-/voogdscope behoren.

11. Datamutaties en events

IDWaarde
001Geen domeinmutaties.

12. Geen datamutaties

IDWaarde
001UserRelationships worden niet gewijzigd.
002Users worden niet gewijzigd.
003ExerciseRuns worden niet gelezen buiten benodigde samenvatting.
004UserSettings worden binnen deze usecase niet gewijzigd; presentatievoorkeuren worden behandeld in UC-OVG-KIND-002.

13. State diagram

Niet van toepassing.

Deze usecase wijzigt geen persistente domeinstatus. De pagina laadt een readmodel over actieve ouder-/voogdrelaties en houdt selectie uitsluitend als tijdelijke UI-state bij.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruikOpmerking
Niet van toepassingDeze usecase gebruikt geen popupregister-popup.Eventuele lege staten of inline meldingen zijn scherminhoud en geen popupdefinitie.

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

AspectAfleiding
FO/TO/SRS-001De pagina Kinderen lijkt technisch op Leerlingen maar is functioneel eenvoudiger.
FO/TO/SRS-002Er zijn geen filters Alles/Actief/Wachtend.
FO/TO/SRS-003Er kan steeds één leerling tegelijk geselecteerd worden.

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-KIND-001-001SRS-GUA-001
AC-GUA-001
Alleen actief gekoppelde kinderen tonen
REQ-UC-OVG-KIND-001-002SRS-AUTH-004
SRS-GUA-001
AC-AUTH-004
AC-GUA-001
Vervolgacties uitschakelen zolang geen kind is geselecteerd
REQ-UC-OVG-KIND-001-003SRS-AUTH-004
SRS-GUA-001
SRS-NFR-PER-001
AC-AUTH-004
AC-GUA-001
AC-NFR-PER-001
Maximaal één geselecteerd kind tegelijk ondersteunen
REQ-UC-OVG-KIND-001-004SRS-RDM-001
SRS-RDM-005
SRS-TCH-001
SRS-GUA-001
AC-RDM-001
AC-RDM-005
AC-TCH-001
AC-GUA-001
Geen docentgerichte statusfilters tonen op de ouder-/voogdpagina Kinderen
REQ-UC-OVG-KIND-001-005SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
Kindselecties server-side controleren bij iedere vervolgactie