Skip to main content

UC-OVG-LIVE-005 — Door vragen bladeren tijdens live meekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-LIVE-005
NaamDoor vragen bladeren tijdens live meekijken
DomeinOuder/voogd / Online en live meekijken
Primaire actorOuder/voogd
Secundaire actor(en)Frontend, backend, realtime service
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenLive meekijkweergave, Vraaglijst
Gerelateerde usecasesUC-OVG-LIVE-004, UC-OVG-LIVE-006, UC-DOC-LIVE-005
Primaire entiteitenExerciseRuns, ExerciseRunProgress, LiveViewAudit
Secundaire entiteiten / eventsNiet van toepassing
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een ouder/voogd tijdens live meekijken door eerdere of toekomstige vragen bladert. Dit verandert alleen de lokale kijkpositie van de meekijker en heeft geen effect op de oefening van het kind.

Bij eerdere vragen mag het gegeven antwoord zichtbaar zijn als de vraag al beantwoord is. Bij toekomstige vragen wordt alleen informatie getoond die de runstructuur en module veilig beschikbaar mogen maken.

Uitgangspunten

  • Bladeren is lokaal en read-only.
  • De actuele livevraag blijft server-side leidend.
  • Eerdere antwoorden zijn alleen zichtbaar wanneer al beantwoord.
  • De terug-naar-liveactie wordt actief in browse-modus.
  • Bladeren wijzigt geen voortgang.

3. Scope

Deze usecase beschrijft:

  • selecteren van vraagnummers in liveweergave;
  • tonen van eerdere vraagdetails;
  • tonen van toekomstige vragen zonder leerlingantwoord;
  • inschakelen van terug-naar-liveactie;
  • behouden van realtime updates op de achtergrond.

Deze usecase beschrijft niet:

  • vraagvolgorde wijzigen;
  • antwoord aanpassen;
  • run pauzeren;
  • nieuwe vraag genereren.

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 | Vraaglijst is geladen. | | 003 | Meekijker is geautoriseerd. | | 004 | Runstructuur is bekend. |

5. Post-condities

| 001 | De gekozen vraag is read-only getoond. | | 002 | De live sessie blijft actief. | | 003 | De terug-naar-liveactie is actief wanneer niet de actuele vraag wordt getoond. | | 004 | Geen rungegevens zijn gewijzigd. |

6. Trigger

De ouder/voogd klikt op een vraagnummer in de live vraaglijst.

7. Normale processtroom

StapActor / componentActieResultaatData / controle
1Ouder/voogdKlikt vraagnummerFrontend schakelt naar browse-modusQuestionIndex
2FrontendValideert vraagstatusEerder, actueel of toekomstigProgressReadModel
3FrontendToont vraaginhoudRead-only weergaveQuestion payload
4FrontendToont antwoord indien beantwoordHistorische voortgang zichtbaarProgress status
5Realtime serviceBlijft updates ontvangenActuele vraagstatus wordt gemarkeerdRealtime updates
6FrontendActiveert terug-naar-liveactieTerugkeer naar actuele vraag mogelijkUC-OVG-LIVE-006

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 | Gekozen vraag bestaat niet: selectie wordt genegeerd of hersteld naar actuele vraag. | | 002 | Run eindigt tijdens browse-modus: live-eindeafhandeling start. | | 003 | Actuele vraag verandert terwijl eerdere vraag getoond wordt: statusindicator wordt bijgewerkt. | | 004 | Toekomstige vraag mag inhoudelijk niet vooraf zichtbaar zijn voor module: frontend toont beperkte veilige informatie. | | 005 | Verbinding valt weg tijdens bladeren: 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 | Bladeren is alleen een weergavestand van de meekijker. | | 002 | Beantwoorde vragen mogen antwoordinformatie tonen. | | 003 | Toekomstige vragen tonen geen leerlingantwoord. | | 004 | De live sessie blijft read-only. | | 005 | De actuele livevraag blijft herkenbaar in de vraaglijst. |

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
VraaglijstVragen 1 t/m n uit de run.Geen mutatie.
Actuele vraagmarkeringVraag volgens server-side voortgang.Blijft zichtbaar tijdens browse.
Browse-modusLokale UI-stand van meekijker.Niet persistent als domeindata.
AntwoordweergaveAlleen bij reeds beantwoorde vragen.Geen bewerkveld.

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 | QuestionIndex moet binnen runbereik vallen. | | 002 | Run moet bij actieve live sessie horen. | | 003 | Meekijker moet geautoriseerd blijven. | | 004 | Toekomstige vraagweergave moet modulespecifieke beperkingen respecteren. | | 005 | Geen invoerelementen voor antwoord mogen actief zijn. |

11. Datamutaties en events

| 001 | Geen domeinmutaties. | | 002 | Lokale clientstate voor browse-modus wijzigt. |

12. Geen datamutaties

| 001 | ExerciseRuns worden niet gewijzigd. | | 002 | ExerciseRunProgress wordt niet gewijzigd. | | 003 | LiveViewAudit blijft open. | | 004 | SignalR-subscription blijft actief. |

13. State diagram

Niet van toepassing. Browse-modus is lokale UI-state en 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 liveweergave moet bladeren door vragen ondersteunen zonder de run te beïnvloeden. | | 002 | De terugkeer naar actuele vraag moet zichtbaar worden zodra de meekijker afwijkt van live-modus. | | 003 | Toekomstige vraagweergave mag de modulegrenzen niet doorbreken. |

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.