UC-OVG-LIVE-001 — Online kinderenoverzicht bekijken
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-OVG-LIVE-001 |
| Naam | Online kinderenoverzicht bekijken |
| Domein | Ouder/voogd / Online en live meekijken |
| Primaire actor | Ouder/voogd |
| Secundaire actor(en) | Frontend, backend, database, realtime service |
| Rolcontext | Actieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Online, Online kinderenoverzicht |
| Gerelateerde usecases | UC-OVG-FP-003, UC-OVG-KIND-001, UC-OVG-LIVE-002, UC-DOC-LIVE-001 |
| Primaire entiteiten | Users, UserRelationships, ExerciseRuns, LivePresenceReadModel |
| Secundaire entiteiten / events | GuardianOnlineOverviewReadModel |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Niet van toepassing |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een ouder/voogd de pagina Online opent en ziet welke gekoppelde kinderen online zijn en eventueel met een oefening bezig zijn.
De Online-pagina kan technisch dezelfde basiscomponenten gebruiken als docent/online, maar de ouder-/voogdroute gebruikt een eigen autorisatiegrens: alle actief gekoppelde kinderen, ongeacht docentcontext of niveauautorisaties.
Uitgangspunten
- Alleen actief gekoppelde kinderen worden getoond.
- Online-status is een afgeleid readmodel.
- De pagina toont geen ongekoppelde leerlingen.
- Live meekijken start pas na een bewuste actie.
- De ouder/voogd kan geen oefening starten of beïnvloeden.
3. Scope
Deze usecase beschrijft:
- openen van Online vanuit ouder-/voogdnavigatie;
- tonen van gekoppelde kinderen met online- en oefenstatus;
- tonen van actuele niveau-, categorie- en oefeninginformatie wanneer het kind oefent;
- aanbieden van
Kijk live meewaar beschikbaar; - aanbieden van een route naar geschiedenis waar passend.
Deze usecase beschrijft niet:
- live sessie starten;
- voortgang volgen;
- oefening starten of pauzeren;
- docentcontextfilters toepassen.
3.1 Afbakening met aangrenzende domeinen
| Onderdeel | Afbakening |
|---|---|
| Docent / Online en live meekijken | De technische liveweergave kan gelijkend zijn, maar docentautorisatie blijft beperkt tot eigen docentcontext en niveauautorisaties. |
| Leerling / Oefenen en voortgang | De leerlingrun en voortgang worden door de leerlingflow geschreven; ouder/voogd kijkt alleen read-only mee. |
| Generiek / Relaties | De actieve ouder-/voogdrelatie bepaalt de toegang; relatievorming en uitnodigingen blijven buiten deze live-usecases. |
| Technische realtime-laag | SignalR transporteert updates; de server-side opgeslagen voortgang blijft bron van waarheid. |
4. Pre-condities
| 001 | Gebruiker heeft een actieve ouder-/voogdcontext. | | 002 | Er bestaan nul of meer actieve ouder-/voogdrelaties. | | 003 | Het realtime-/online-readmodel is beschikbaar of veilig leeg te tonen. | | 004 | De pagina Online is bereikbaar vanuit ouder-/voogdnavigatie. |
5. Post-condities
| 001 | Online-overzicht is getoond. | | 002 | Geen live sessie is gestart. | | 003 | Geen rungegevens zijn gewijzigd. | | 004 | Acties zijn afgestemd op actuele beschikbaarheid. |
6. Trigger
De ouder/voogd opent de pagina Online.
7. Normale processtroom
| Stap | Actor / component | Actie | Resultaat | Data / controle |
|---|---|---|---|---|
| 1 | Ouder/voogd | Opent Online | Frontend vraagt online-overzicht op | Sessiecontext |
| 2 | Backend | Bepaalt actieve ouder-/voogdcontext | Dataset wordt beperkt tot actieve ouderrelaties | Users, UserRelationships |
| 3 | Backend | Leest online- en oefenstatus | Readmodel wordt opgebouwd | Presence, ExerciseRuns |
| 4 | Frontend | Toont overzicht | Kinderen en status zijn zichtbaar | GuardianOnlineOverviewReadModel |
| 5 | Frontend | Toont actieknoppen | Kijk live mee is alleen actief bij actuele beschikbaarheid | Availability flags |
| 6 | Ouder/voogd | Selecteert eventueel vervolgactie | Vervolg naar livebeschikbaarheid, live-start of geschiedenis | UC-OVG-LIVE-002/003 |
7.1 Scherm- en routegedrag
- De Online-pagina gebruikt ouder-/voogdcontext als actieve rol-ingang.
- De liveweergave is volledig read-only en bevat geen antwoord- of interventieacties.
- Actuele status wordt na relevante gebeurtenissen opnieuw afgeleid uit server-side voortgang.
- Bij gecombineerde rollen bepaalt de gekozen contexttab welke dataset en filters zichtbaar zijn.
8. Alternatieve en exceptionele processtromen
| 001 | Geen gekoppelde kinderen: pagina toont een geldige lege toestand. | | 002 | Geen kind online: overzicht toont gekoppelde kinderen zonder actieve liveknop. | | 003 | Realtimeverbinding tijdelijk niet beschikbaar: pagina toont veilige status of foutmelding zonder niet-geautoriseerde data te tonen. | | 004 | Kind is online maar niet aan het oefenen: liveknop is uitgeschakeld. | | 005 | Gecombineerde rol gebruiker: contexttab bepaalt of ouder- of docentdataset wordt gebruikt. |
8.1 Afhandeling van verouderde of ongeldige clientstate
- De backend herhaalt autorisatie bij iedere raadpleeg-, filter-, export- of liveactie.
- Oude routeparameters, browserselecties en clientcache worden genegeerd wanneer de actuele server-side context geen toegang geeft.
- De frontend mag het scherm herstellen door het actuele readmodel opnieuw op te vragen.
9. Business rules
| 001 | Online-overzicht is read-only. | | 002 | De ouder-/voogdcontext toont alle actief gekoppelde kinderen, niet alleen kinderen binnen docentniveaus. | | 003 | Liveknop is alleen beschikbaar bij een actieve oefenrun en actieve live-feature. | | 004 | Online-status mag niet als permanente bron van waarheid voor resultaten worden gebruikt. | | 005 | Filterwaarden verschillen per actieve rolcontext. |
9.1 Readmodel- en tellerdefinities
| Waarde | Definitie | Uitsluitingen / grenzen |
|---|---|---|
| Online kind | Actief gekoppeld kind met recente sessie of realtime status. | Niet-gekoppelde leerlingen uitgesloten. |
| Actieve oefenrun | Niet-afgeronde run waarbij het kind momenteel in oefencontext is. | Afgeronde of verlaten runs uitgesloten. |
| Liveknop beschikbaar | Actieve run plus ouderrelatie plus live-feature beschikbaar. | Beschikbaarheid wordt opnieuw bepaald bij start. |
| Contexttab | Ouder-/voogdcontext bij gecombineerde rollen. | Docentcontext gebruikt eigen autorisatiegrens. |
9.2 Autorisatie- en privacygrenzen
- De zichtbare dataset wordt altijd server-side beperkt tot actieve ouder-/voogdrelaties.
- Een gebruiker met gecombineerde rollen krijgt binnen deze route geen impliciete docent- of beheerderinzage.
- Resultaat- en livegegevens van niet-gekoppelde kinderen worden nooit gedeeltelijk getoond.
10. Datavalidatie
| 001 | Gebruiker moet ouder-/voogdrol hebben. | | 002 | Kinderen moeten actief gekoppeld zijn om zichtbaar te zijn. | | 003 | Online-readmodel mag alleen gekoppelde kinderen bevatten. | | 004 | Actieve run moet bij het getoonde kind horen. | | 005 | Feature Live meekijken moet beschikbaar zijn voordat liveacties actief worden. |
11. Datamutaties en events
| 001 | Geen functionele datamutaties. | | 002 | Een realtime subscription of readmodelverbinding kan technisch worden geopend, maar vormt geen domeinmutatie. |
12. Geen datamutaties
| 001 | ExerciseRuns worden niet gewijzigd. | | 002 | LiveViewAudit wordt nog niet aangemaakt. | | 003 | Relaties worden niet gewijzigd. | | 004 | Antwoorden, scores en voortgang worden niet beïnvloed. |
13. State diagram
Niet van toepassing. Deze usecase toont een read-only overzicht en wijzigt geen persistent statusobject.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
17. Popupverwijzingen
Niet van toepassing. Deze usecase gebruikt geen popupregister-popup als functionele stap.
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| 001 | De ouder-/voogd Online-pagina gebruikt gescheiden rol-ingang en contexttabs. | | 002 | De pagina mag technisch code delen met docent/online, maar niet dezelfde autorisatiegrens gebruiken. | | 003 | Live meekijken wordt niet automatisch gestart door het overzicht te openen. |
18.1 Impact voor database-informatie en ontwerpbronnen
| 001 | Autorisatiematrix moet ouder-/voogdraadpleging onderscheiden van docentraadpleging. | | 002 | Usecase-scherm-matrix moet de betrokken ouder-/voogdschermen koppelen aan deze usecase. | | 003 | Usecase-requirement-matrix moet de requirements uit hoofdstuk 19 opnemen. | | 004 | LiveViewAudit en realtime-afhandeling moeten ouder-/voogdrolcontext expliciet ondersteunen. |
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.
Er zijn voor deze usecase geen aparte requirement-afleidingen vastgelegd. De procesbeschrijving blijft broncontext voor de SRS-traceability.