UC-OVG-KIND-001 — Kinderenoverzicht bekijken
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-OVG-KIND-001 |
| Naam | Kinderenoverzicht bekijken |
| Domein | Ouder/voogd / Kinderen en koppelingen |
| Primaire actor | Ouder/voogd |
| Secundaire actor(en) | Frontend, backend, database, autorisatiecomponent |
| Rolcontext | Actieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Kinderen |
| Gerelateerde usecases | UC-OVG-KIND-002, UC-OVG-KIND-003, UC-OVG-KIND-004, UC-OVG-FP-003 |
| Primaire entiteiten | Users, UserRelationships, UserSettings |
| Secundaire entiteiten / events | Kinderenoverzicht-readmodel |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
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
| Onderdeel | Afbakening |
|---|---|
| Generiek / Relaties | Relatie-uitnodigingen, acceptatie en algemene relatievorming blijven bronhoudend in het generieke relatiedomein. |
| Generiek / Berichten | Systeemberichten en leesstatussen blijven bronhoudend in het centrale berichtendomein. |
| Leerling | De leerling blijft eigenaar van eigen oefenuitvoering; ouder/voogd kan niet namens het kind oefenen. |
| Docent | Docentautorisaties en docentresultaatinzage blijven begrensd door docentcontext; ouder-/voogdcontext gebruikt eigen relatiegrens. |
4. Pre-condities
| ID | Waarde |
|---|---|
| 001 | De gebruiker heeft een actieve ouder-/voogdcontext. |
| 002 | De pagina Kinderen is via de navigatie bereikbaar. |
| 003 | Actieve ouder-/voogdrelaties zijn raadpleegbaar. |
5. Post-condities
| ID | Waarde |
|---|---|
| 001 | Het overzicht toont nul of meer gekoppelde kinderen. |
| 002 | Er is maximaal één kind geselecteerd. |
| 003 | Geen 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
| Stap | Actor / component | Actie | Resultaat | Data / controle |
|---|---|---|---|---|
| 1 | Ouder/voogd | Opent Kinderen | Frontend vraagt overzicht op | Navigatie |
| 2 | Backend | Controleert ouder-/voogdcontext | Route is toegestaan | Autorisatie |
| 3 | Backend | Leest actieve relaties | Kinderenlijst wordt samengesteld | UserRelationships |
| 4 | Backend | Laadt toegestane kindgegevens | Naamgegevens en gekoppeld sinds beschikbaar | Users |
| 5 | Frontend | Toont overzicht | Acties zijn inactief tot selectie | Viewmodel |
| 6 | Ouder/voogd | Selecteert eventueel één kind | Vervolgacties worden beschikbaar | Selectie |
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
| ID | Waarde |
|---|---|
| 001 | Geen kinderen: toon lege staat zonder actieknoppen voor kinddetail. |
| 002 | Relatie beëindigd tijdens laden: kind verdwijnt uit overzicht bij volgende refresh of serverrespons. |
| 003 | Meerdere kinderen: er blijft steeds maximaal één geselecteerd kind actief. |
| 004 | Gekoppeld 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
| ID | Waarde |
|---|---|
| 001 | Alleen actieve ouder-/voogdrelaties worden getoond. |
| 002 | De pagina toont geen generieke statusfilters Alles, Actief of Wachtend. |
| 003 | Er kan steeds maar één kind geselecteerd zijn. |
| 004 | Vervolgacties vereisen expliciete selectie. |
| 005 | De ouder/voogd kan geen oefening starten voor het kind. |
9.1 Readmodel- en tellerdefinities
| Waarde | Definitie | Uitsluitingen / grenzen |
|---|---|---|
| Kinderenlijst | Actieve ouder-/voogdrelaties voor ingelogde gebruiker. | Afgehandelde uitnodigingen en beëindigde relaties staan niet in de lijst. |
| Actiestatus | Toon informatie, Bekijk geschiedenis en Ontkoppel leerling zijn actief na selectie. | Zonder selectie blijven vervolgacties uitgeschakeld. |
| Selectie | Maximaal éé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
| ID | Waarde |
|---|---|
| 001 | De relatie moet ouder-/voogdrelatie zijn. |
| 002 | Relatie moet IsActive = true zijn. |
| 003 | Het kindaccount moet binnen de relatie het leerlingaccount zijn. |
| 004 | Selectie-ID moet server-side tot de ouder-/voogdscope behoren. |
11. Datamutaties en events
| ID | Waarde |
|---|---|
| 001 | Geen domeinmutaties. |
12. Geen datamutaties
| ID | Waarde |
|---|---|
| 001 | UserRelationships worden niet gewijzigd. |
| 002 | Users worden niet gewijzigd. |
| 003 | ExerciseRuns worden niet gelezen buiten benodigde samenvatting. |
| 004 | UserSettings 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
| PopupKey | Gebruik | Opmerking |
|---|---|---|
| Niet van toepassing | Deze 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
| Aspect | Afleiding |
|---|---|
| FO/TO/SRS-001 | De pagina Kinderen lijkt technisch op Leerlingen maar is functioneel eenvoudiger. |
| FO/TO/SRS-002 | Er zijn geen filters Alles/Actief/Wachtend. |
| FO/TO/SRS-003 | Er 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-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-OVG-KIND-001-001 | SRS-GUA-001 AC-GUA-001 | Alleen actief gekoppelde kinderen tonen |
REQ-UC-OVG-KIND-001-002 | SRS-AUTH-004 SRS-GUA-001 AC-AUTH-004 AC-GUA-001 | Vervolgacties uitschakelen zolang geen kind is geselecteerd |
REQ-UC-OVG-KIND-001-003 | SRS-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-004 | SRS-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-005 | SRS-AUTH-001 SRS-GUA-001 AC-AUTH-001 AC-GUA-001 | Kindselecties server-side controleren bij iedere vervolgactie |