Skip to main content

UC-OVG-LIVE-004 — Live voortgang van kind volgen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-LIVE-004
NaamLive voortgang van kind volgen
DomeinOuder/voogd / Online en live meekijken
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, database, realtime service
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenLive meekijkweergave
Gerelateerde usecasesUC-OVG-LIVE-003, UC-OVG-LIVE-005, UC-OVG-LIVE-007
Primaire entiteitenExerciseRuns, ExerciseRunProgress, LiveViewAudit, SignalRMessages
Secundaire entiteiten / eventsLiveProgressUpdated
Gerelateerde popupsPOP-OVG-LIVE-SESSION-ENDED, POP-OVG-LIVE-ACCESS-DENIED
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een ouder/voogd de actuele voortgang van een kind volgt tijdens een live-meekijksessie. Na elk bevestigd antwoord van het kind wordt de voortgang door de leerlingflow server-side opgeslagen en via realtime updates zichtbaar voor bevoegde meekijkers.

De ouder/voogd ziet de actuele vraag, voortgang en status, maar kan geen antwoord wijzigen, geen vraag overslaan en geen feedback naar de oefenrun schrijven.

Uitgangspunten

  • Server-side voortgang is bron van waarheid.
  • SignalR transporteert updates.
  • De weergave is read-only.
  • LiveViewAudit blijft open tijdens de sessie.
  • Einde van de run beëindigt liveweergave veilig.

3. Scope

Deze usecase beschrijft:

  • ontvangen van voortgangsupdates;
  • tonen van actuele vraag en beantwoorde vragenstatus;
  • bijwerken van voortgangsindicator;
  • afhandelen van run-afronding of verlaten oefencontext;
  • voorkomen dat de meekijker mutaties uitvoert.

Deze usecase beschrijft niet:

  • antwoorden geven;
  • score aanpassen;
  • vraagvolgorde beïnvloeden;
  • resultaat als eigenaar van run wijzigen.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Leerling / Oefenen en voortgangDe leerlingflow schrijft ExerciseRunProgress, totalen en runstatus. Deze usecase leest alleen de opgeslagen voortgang.
Docent / Online en live meekijkenDe technische liveweergave kan gelijkend zijn, maar docentautorisatie blijft beperkt tot eigen docentcontext en niveauautorisaties.
Generiek / RelatiesDe actieve ouder-/voogdrelatie bepaalt de toegang; relatievorming en uitnodigingen blijven buiten deze live-usecases.
Technische realtime-laagSignalR transporteert updates; de server-side opgeslagen voortgang blijft bron van waarheid.

4. Pre-condities

| 001 | Live sessie is gestart. | | 002 | LiveViewAudit staat open. | | 003 | Run is actief of wordt net beëindigd. | | 004 | Realtimeverbinding is actief. |

5. Post-condities

| 001 | Voortgang is actueel getoond. | | 002 | Geen oefenstatus is gewijzigd door ouder/voogd. | | 003 | Bij einde run is vervolgafhandeling gestart. | | 004 | LiveViewAudit blijft herleidbaar. |

6. Trigger

Het kind bevestigt een antwoord of de server verwerkt een voortgangswijziging binnen de actieve run.

7. Normale processtroom

StapActor / componentActieResultaatData / controle
1Kind / oefenschermBevestigt antwoordLeerlingflow verwerkt voortgangExerciseRunProgress
2BackendSlaat voortgang op binnen leerlingflowNieuwe bronstatus beschikbaarDatabase
3Realtime servicePubliceert updateMeekijker ontvangt voortgangSignalR group
4FrontendVervers actuele vraagstatusOuder/voogd ziet live standLiveViewModel
5FrontendMarkeert beantwoorde vragenVraaglijst wordt bijgewerktProgress status
6Backend / frontendDetecteert eventueel einde runLive-eindeafhandeling wordt voorbereidExerciseRuns

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 | Update komt te laat of dubbel binnen: frontend past idempotente volgordecontrole toe. | | 002 | Run wordt afgerond: liveweergave toont afsluiting en beëindigt sessie via UC-OVG-LIVE-007. | | 003 | Relatie vervalt tijdens sessie: vervolgupdates worden gestopt en toegang wordt veilig beëindigd. | | 004 | Meekijker heeft naar eerdere vraag gebladerd: actuele update wordt gemarkeerd, maar scherm blijft in browse-modus. | | 005 | Realtimeverbinding valt weg: UC-OVG-LIVE-008 wordt gestart. |

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 | Meekijkweergave wijzigt geen run. | | 002 | Updates komen pas na server-side verwerking door de leerlingflow. | | 003 | Actuele vraag wordt bepaald uit opgeslagen voortgang. | | 004 | Meerdere meekijkers mogen dezelfde update ontvangen. | | 005 | Bij einde van run wordt liveweergave veilig beëindigd. |

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
Actuele vraagVraagpositie volgens server-side voortgang.Niet alleen clientstate van leerling.
VraagstatusOnbeantwoord, goed, fout of Geen idee waar bekend.Alleen read-only.
VoortgangstellerVraag x van n.Afgeleid uit rungegevens.
Live-modusMeekijker volgt actuele vraag tenzij handmatig gebladerd.Browse-modus in UC-OVG-LIVE-005.

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 | Update moet bij dezelfde run horen. | | 002 | LiveViewAudit moet nog open zijn. | | 003 | Meekijker moet nog geautoriseerd zijn. | | 004 | Updatevolgorde moet consistent zijn. | | 005 | Payload mag geen bewerkbare leerlinginvoer aan meekijker geven. |

11. Datamutaties en events

| 001 | Geen mutatie door ouder/voogd. | | 002 | De voortgangsmutatie behoort tot de leerlingantwoordflow en valt buiten deze usecase. | | 003 | Functioneel event LiveProgressUpdated beschrijft de realtime publicatie van reeds opgeslagen voortgang. |

12. Geen datamutaties

| 001 | Geen antwoordmutatie door ouder/voogd. | | 002 | Geen scoremutatie door ouder/voogd. | | 003 | Geen relatiemutatie. | | 004 | Geen wijziging van oefenconfiguratie of vraagvolgorde. |

13. State diagram

Niet van toepassing. Deze usecase volgt een bestaande live sessie en wijzigt zelf geen persistent statusobject. Het beëindigen van de sessie valt onder UC-OVG-LIVE-007.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruik
POP-OVG-LIVE-SESSION-ENDEDWordt gebruikt wanneer de live sessie eindigt doordat de run is beëindigd.
POP-OVG-LIVE-ACCESS-DENIEDWordt gebruikt wanneer actuele autorisatie tijdens de sessie ontbreekt.

Popupteksten, knopteksten, inputlabels en themakeuzes worden niet in deze usecase gedupliceerd. Het popupregister en de popupthemes blijven bronhoudend.

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

| 001 | Live meekijken volgt opgeslagen voortgang en is read-only. | | 002 | Updates worden vrijwel direct gedeeld na bevestigde antwoorden. | | 003 | LiveViewAudit scheidt live monitoring van autorisatie-audit. |

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.