Skip to main content

UC-OVG-LIVE-006 — Terugkeren naar actuele live vraag

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-LIVE-006
NaamTerugkeren naar actuele live vraag
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-005, UC-OVG-LIVE-004, UC-DOC-LIVE-006
Primaire entiteitenExerciseRuns, ExerciseRunProgress, LiveViewAudit
Secundaire entiteiten / eventsNiet van toepassing
Gerelateerde popupsPOP-OVG-LIVE-SESSION-ENDED, POP-OVG-LIVE-ACCESS-DENIED
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een ouder/voogd vanuit browse-modus terugkeert naar de actuele livevraag van het kind.

De actie wijzigt alleen de lokale weergavestand van de meekijker. De actuele vraag wordt opnieuw bepaald uit server-side opgeslagen voortgang of uit de laatst betrouwbare realtime update.

Uitgangspunten

  • Terugkeren is lokale UI-state.
  • Actuele vraag komt uit server-side voortgang.
  • Er vindt geen runmutatie plaats.
  • De actie is alleen actief buiten live-modus.
  • Bij beëindigde run volgt afsluitafhandeling.

3. Scope

Deze usecase beschrijft:

  • activeren van terugkeeractie;
  • bepalen van actuele vraag;
  • weergave terugzetten naar live-modus;
  • verder ontvangen van realtime updates;
  • afhandelen wanneer run net is beëindigd.

Deze usecase beschrijft niet:

  • voortgang corrigeren;
  • vraagselectie van kind wijzigen;
  • live sessie opnieuw starten;
  • run hervatten.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Docent / Online en live meekijkenDe technische liveweergave kan gelijkend zijn, maar docentautorisatie blijft beperkt tot eigen docentcontext en niveauautorisaties.
Leerling / Oefenen en voortgangDe leerlingrun en voortgang worden door de leerlingflow geschreven; ouder/voogd kijkt alleen read-only mee.
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 actief. | | 002 | Meekijker bevindt zich in browse-modus. | | 003 | Actuele voortgang is beschikbaar of kan opnieuw worden opgehaald. | | 004 | Realtimeverbinding is actief of kan resync uitvoeren. |

5. Post-condities

| 001 | De actuele livevraag is getoond of sessie-einde is afgehandeld. | | 002 | Browse-modus is beëindigd. | | 003 | Geen domeindata is gewijzigd. | | 004 | LiveViewAudit blijft open tenzij run of sessie eindigt. |

6. Trigger

De ouder/voogd klikt op Kijk live mee of een vergelijkbare terug-naar-liveactie tijdens browse-modus.

7. Normale processtroom

StapActor / componentActieResultaatData / controle
1Ouder/voogdKlikt terug naar liveFrontend verlaat browse-modusLocal state
2FrontendBepaalt actuele vraagGebruikt laatste update of resyncProgressReadModel
3BackendLevert actuele status indien nodigFrontend krijgt betrouwbare voortgangExerciseRunProgress
4FrontendToont actuele vraagMeekijker is terug in live-modusLiveViewModel
5Realtime serviceVervolgt updatesLiveweergave blijft actueelConnection
6FrontendSchakelt terugactie uitActie is niet actief in live-modusUI state

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 | Actuele vraag is intussen veranderd: nieuwste betrouwbare status wordt getoond. | | 002 | Run is beëindigd: sessie-afgelopenmelding wordt getoond. | | 003 | Realtimeverbinding ontbreekt: resync of verbindingsfoutafhandeling wordt gestart. | | 004 | Meekijker klikt terwijl al live: er vindt geen functionele wijziging plaats. | | 005 | Relatie is vervallen: liveweergave wordt gestopt. |

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 | Terugkeren naar live is geen domeinmutatie. | | 002 | Actuele vraag wordt niet uit oude browse-selectie bepaald. | | 003 | De terugactie is alleen actief wanneer de meekijker niet op actuele vraag kijkt. | | 004 | Bij twijfel vraagt frontend actuele status opnieuw op. | | 005 | Beëindigde runs worden niet als live hervat. |

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
Live-modusWeergave volgt actuele vraag.Geen terugactie actief.
Browse-modusWeergave volgt gekozen vraag.Terugactie actief.
ResyncOphalen actuele voortgang bij twijfel.Geen mutatie.
Run beëindigdGeen livevraag meer.Sessie-eindeafhandeling.

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 | LiveViewAudit moet nog open zijn. | | 002 | Run moet nog actief zijn voor live-modus. | | 003 | Meekijker moet geautoriseerd blijven. | | 004 | Actuele voortgang moet bij dezelfde run horen. | | 005 | Lokale vraagselectie mag geen runstatus wijzigen. |

11. Datamutaties en events

| 001 | Geen domeinmutaties. | | 002 | Lokale UI-state wijzigt van browse naar live. |

12. Geen datamutaties

| 001 | ExerciseRuns blijven ongewijzigd. | | 002 | ExerciseRunProgress blijft ongewijzigd. | | 003 | LiveViewAudit wordt niet aangepast tenzij sessie eindigt. | | 004 | Relaties blijven ongewijzigd. |

13. State diagram

Niet van toepassing. Terugkeren naar live is lokale UI-state en geen persistent statusobject.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruik
POP-OVG-LIVE-SESSION-ENDEDWordt gebruikt wanneer de run niet meer live beschikbaar is.
POP-OVG-LIVE-ACCESS-DENIEDWordt gebruikt wanneer actuele ouder-/voogdautorisatie 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 | Terugkeer naar live moet beschikbaar zijn na bladeren. | | 002 | De actuele livevraag moet server-side betrouwbaar bepaalbaar zijn. | | 003 | De actie mag geen runmutatie veroorzaken. |

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.