Skip to main content

UC-OVG-KIND-002 — Kinderen sorteren en naamweergave toepassen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-KIND-002
NaamKinderen sorteren en naamweergave toepassen
DomeinOuder/voogd / Kinderen en koppelingen
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, database, gebruikersinstellingendomein
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenKinderen
Gerelateerde usecasesUC-OVG-KIND-001, UC-GEN-PROF-007
Primaire entiteitenUserSettings, Users, UserRelationships
Secundaire entiteiten / eventsKinderenoverzicht-readmodel
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWShould

2. Omschrijving

De usecase beschrijft hoe de pagina Kinderen persoonlijke voorkeuren voor sortering en naamweergave toepast. De voorkeur beïnvloedt alleen de presentatievolgorde en naamrepresentatie, niet de zichtbare gegevensset.

Wanneer de ouder/voogd de sortering of naamweergave wijzigt, wordt deze keuze als gebruikersinstelling opgeslagen binnen het UserSettings-domein. De server blijft verantwoordelijk voor het bepalen welke kinderen zichtbaar zijn.

Uitgangspunten

  • Voorkeuren wijzigen alleen presentatiegedrag.
  • Voorkeuren mogen geen autorisaties of zichtbare gegevenssets wijzigen.
  • Rolgebonden voorkeuren worden alleen toegepast binnen een rolcontext die de gebruiker bezit.
  • Sortering moet deterministisch zijn bij gelijke waarden.
  • Naamweergave mag geen persoonsgegevens tonen buiten de ouder-/voogdscope.

3. Scope

Deze usecase beschrijft:

  • Toepassen van bestaande voorkeuren op het kinderenoverzicht.
  • Wijzigen van sortering, bijvoorbeeld alfabetisch of gekoppeld sinds.
  • Wijzigen van naamweergave, bijvoorbeeld voornaam of volledige naam waar toegestaan.
  • Opslaan van voorkeur in UserSettings.

Deze usecase beschrijft niet:

  • Nieuwe kinderen zichtbaar maken of verbergen op basis van voorkeur.
  • Relaties wijzigen.
  • Autorisatie wijzigen.
  • Profielgegevens van kinderen wijzigen.

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 ouder/voogd heeft toegang tot Kinderen.
002UserSettings is beschikbaar of kan veilig met defaults worden geïnitialiseerd.
003Er zijn nul of meer zichtbare kinderen.

5. Post-condities

IDWaarde
001Het overzicht is weergegeven volgens de gekozen voorkeur.
002Bij wijziging is UserSettings bijgewerkt.
003De zichtbare gegevensset is niet verruimd of beperkt door de voorkeur.

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
1BackendLaadt UserSettingsVoorkeuren zijn bekend of defaults actiefUserSettings
2BackendLaadt geautoriseerde kinderenDataset is server-side gefilterdUserRelationships
3FrontendPast sortering en naamweergave toeOverzicht verschijnt volgens voorkeurViewmodel
4Ouder/voogdWijzigt voorkeurNieuwe presentatiekeuze wordt verzondenUI
5BackendValideert voorkeurAlleen toegestane waarden worden opgeslagenValidatie
6DatabaseSlaat UserSettings opVoorkeur is persistent voor volgende bezoekenUserSettings

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
001UserSettings ontbreekt: systeem initialiseert veilige defaults.
002Ongeldige sorteerwaarde: wijziging wordt geweigerd en bestaande voorkeur blijft gelden.
003Voorkeur verwijst naar niet meer ondersteunde optie: systeem gebruikt default en kan instelling herstellen.
004Geen kinderen: voorkeur blijft wel opgeslagen maar heeft geen zichtbaar effect.

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
001Voorkeuren wijzigen alleen presentatiegedrag.
002Voorkeuren mogen geen autorisaties of zichtbare gegevenssets wijzigen.
003Rolgebonden voorkeuren worden alleen toegepast binnen een rolcontext die de gebruiker bezit.
004Sortering moet deterministisch zijn bij gelijke waarden.
005Naamweergave mag geen persoonsgegevens tonen buiten de ouder-/voogdscope.

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
SorteervolgordeUserSettings of veilige default.Wijzigt alleen presentatievolgorde.
NaamweergaveUserSettings of veilige default.Mag geen extra persoonsgegevens zichtbaar maken.
DatasetActieve ouder-/voogdrelaties.Voorkeuren bepalen niet welke kinderen zichtbaar zijn.

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
001Sorteerwaarde moet uit een toegestane lijst komen.
002Naamweergavewaarde moet uit een toegestane lijst komen.
003UserSettings-mutatie moet bij de ingelogde gebruiker horen.
004De dataset moet voor toepassing van voorkeur al server-side geautoriseerd zijn.

11. Datamutaties en events

IDWaarde
001UserSettings wordt bijgewerkt wanneer de ouder/voogd een voorkeur wijzigt.
002Er wordt geen afzonderlijk domeinevent vereist voor deze presentatievoorkeur.

12. Geen datamutaties

IDWaarde
001UserRelationships worden niet gewijzigd.
002Users van kinderen worden niet gewijzigd.
003Resultaten en geschiedenis worden niet gewijzigd.
004Voorkeuren maken geen verborgen kind alsnog zichtbaar.

13. State diagram

Niet van toepassing.

Sortering en naamweergave hebben geen eigen statusmodel. Bij een wijziging wordt uitsluitend de toegestane presentatievoorkeur in UserSettings bijgewerkt.

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-001Naamweergave en sortering zijn persoonlijke voorkeuren voor de ouder-/voogdpagina Kinderen.
FO/TO/SRS-002Voorkeuren wijzigen uitsluitend presentatiegedrag.
FO/TO/SRS-003UserSettings is de functionele opslag voor voorkeuren.

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-002-001SRS-RDM-001
SRS-RDM-008
SRS-ACC-003
SRS-GUA-001
AC-RDM-001
AC-RDM-008
AC-ACC-003
AC-GUA-001
Sortering en naamweergave als presentatievoorkeur behandelen
REQ-UC-OVG-KIND-002-002SRS-ACC-003
SRS-RDM-008
SRS-GUA-001
AC-ACC-003
AC-RDM-008
AC-GUA-001
Voorkeuren opslaan in UserSettings wanneer de gebruiker ze wijzigt
REQ-UC-OVG-KIND-002-003SRS-AUTH-001
SRS-ACC-003
SRS-RDM-008
SRS-GUA-001
SRS-NFR-SEC-001
AC-AUTH-001
AC-ACC-003
AC-RDM-008
AC-GUA-001
AC-NFR-SEC-001
Ongeldige voorkeurwaarden weigeren of veilig vervangen door defaults
REQ-UC-OVG-KIND-002-004SRS-AUTH-001
SRS-ACC-003
SRS-RDM-008
SRS-GUA-001
AC-AUTH-001
AC-ACC-003
AC-RDM-008
AC-GUA-001
Voorkeuren niet gebruiken als autorisatiebron
REQ-UC-OVG-KIND-002-005SRS-AUTH-001
SRS-RDM-001
SRS-RDM-008
SRS-GUA-001
AC-AUTH-001
AC-RDM-001
AC-RDM-008
AC-GUA-001
Sortering toepassen op de reeds geautoriseerde dataset