Skip to main content

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

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-LIVE-006
NaamTerugkeren naar actuele live vraag
DomeinDocent
SubdomeinOnline leerlingen en live meekijken
Primaire actorDocent
Secundaire actor(en)Leerling, OefenHub-systeem, realtime-kanaal
RolcontextDocentcontext met actieve docent-leerlingrelatie en geldige niveauautorisatie
Betrokken schermenSCH-DOC-07-01 — Meekijken — Live meekijkweergave, live-meekijkweergave
Gerelateerde usecasesUC-DOC-LIVE-001, UC-DOC-LIVE-002, UC-DOC-LIVE-003, UC-DOC-LIVE-007, UC-LLN-OEF-004, UC-LLN-OEF-007, UC-LLN-OEF-008
Primaire entiteitenLiveViewAudit, ExerciseRuns, ExerciseRunProgress, UserRelationships, StudentLevelAuthorizations
Secundaire entiteiten / eventsSignalR-verbinding, realtime voortgangsevent, sessie-einde-event, verbindingsfout
Gerelateerde popupsNiet van toepassing voor normale route; technische verbindingsmelding bij foutafhandeling
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een docent vanuit browsemodus terugkeert naar de vraag waarmee de leerling op dat moment live bezig is. De actie herstelt de livevolgpositie zonder dat de oefening van de leerling wordt gewijzigd.

De usecase beschrijft uitsluitend het docentgedrag binnen een reeds toegestane live-meekijkcontext. Het starten van de oefening door de leerling, het beantwoorden van vragen en het opslaan van voortgang blijven bronhoudend in de leerling-oefenusecases. De docentweergave is alleen-lezen en mag nooit leiden tot antwoordmutaties of correcties in de lopende run.

3. Scope

Binnen scope:

  • Activeren van de terugkeeractie vanuit browsemodus.
  • Opnieuw bepalen van de actuele livepositie.
  • Terugzetten van de weergave naar de actuele vraag.
  • Voortzetten van realtime live volgen.

Buiten scope:

  • Door vragen bladeren zelf; dat is UC-DOC-LIVE-005.
  • Live voortgang verwerken; dat is UC-DOC-LIVE-004.
  • Afgeronde resultaten bekijken.
  • Beheer van autorisaties of relaties.

4. Pre-condities

IDVoorwaarde
PRE-001De docent is succesvol ingelogd en handelt binnen een actieve docentcontext.
PRE-002Er bestaat een actieve docent-leerlingrelatie tussen de docent en de leerling.
PRE-003De leerling heeft een actieve of recent live beschikbare exercise run die binnen de docentcontext valt.
PRE-004De docent heeft via niveauautorisatie recht op inzage in de oefencontext van de leerling.
PRE-005De live-meekijkfeature is sitebreed beschikbaar.
PRE-006De leerlingrun levert server-side voortgangsinformatie die via het realtime-kanaal kan worden getoond.

5. Post-condities

IDResultaat
POST-001De docent heeft de live-meekijkweergave volgens de toegestane context gebruikt.
POST-002De leerlingrun is inhoudelijk niet gewijzigd door de docent.
POST-003Eventuele live-meekijk-audit blijft herleidbaar via LiveViewAudit waar de flow dat vereist.
POST-004Niet-geautoriseerde voortgang of resultaten zijn niet zichtbaar gemaakt.
POST-005De applicatiecontext blijft consistent bij realtime updates, sessie-einde of verbindingsproblemen.

6. Trigger

De usecase start wanneer de docent binnen een bestaande live-meekijkweergave een live handeling uitvoert of wanneer het systeem een relevante realtime wijziging ontvangt.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentLive-meekijkweergaveStaat in browsemodus op een eerdere of toekomstige vraag.Systeem toont dat de docent niet op de actuele live vraag staat.Browsepositie aanwezig.
2DocentLive-meekijkweergaveKlikt op Terug naar actuele live vraag.Systeem vraagt de actuele livepositie op uit het viewmodel of backend.BR-001
3SysteemBackend / realtime stateControleert of de run nog actief en geautoriseerd is.Bij geldige context wordt de actuele vraagcontext teruggegeven.BR-002
4SysteemLive-meekijkweergaveZet de weergave terug naar de actuele live vraag.Browsemodus eindigt; live-indicator staat weer op actuele vraag.Geen persistente mutatie.
5SysteemRealtime-kanaalBlijft volgende updates rechtstreeks op de actuele livepositie tonen.Docent volgt weer live.UC-DOC-LIVE-004

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012De docent staat al op de actuele live vraag.Systeem laat de actie uitgeschakeld of zonder effect.Geen popup.Geen mutatie.
ALT-0023Run is net afgerond.Systeem toont dat live volgen is beëindigd en verwijst naar resultaten/geschiedenis wanneer beschikbaar.Sessie-einde-indicatie.LiveViewAudit.EndedAtUtc indien nog niet gezet.
ALT-0033Docentcontext is niet meer geldig.Systeem blokkeert terugkeer en beëindigt liveweergave.Generieke toegangafhandeling.Eventueel LiveViewAudit.EndedAtUtc.
ALT-0043Realtime state ontbreekt tijdelijk.Systeem toont laatste veilige bekende livepositie of verbindingsstatus.Inline verbindingsindicatie.Geen domeinmutatie.
ALT-0054Actuele vraag is gewijzigd sinds browsemodus startte.Systeem toont de nieuwste actuele livevraag.Geen popup.Geen mutatie.

9. Business rules

IDRegel
BR-001Terugkeren naar actuele live vraag is alleen beschikbaar wanneer de docent niet op de actuele livevraag staat.
BR-002De actuele livevraag wordt server-side of via geautoriseerde realtime state bepaald; clientstate is niet leidend voor autorisatie.
BR-003Terugkeren naar de actuele vraag wijzigt geen run, vraag, antwoord, score of voortgang.
BR-004Wanneer de run niet meer live is, mag het systeem niet doen alsof live volgen nog actief is.
BR-005Na terugkeer volgt de docent weer de actuele live updates volgens UC-DOC-LIVE-004.

10. Datavalidatie

Veld / objectValidatie
BrowsepositieMoet afwijken van de actuele livepositie om de actie functioneel actief te maken.
Actuele livepositieMoet horen bij dezelfde run en binnen het vraagaantal liggen.
DocentcontextMoet opnieuw geldig zijn bij terugkeer.
Realtime stateMag niet als autorisatiebron zonder backendcontrole worden gebruikt.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
2PresentatieBrowsepositieNiet-persistente browsepositie wordt opgeheven binnen de livecomponent.
4PresentatieLive viewmodelWeergave springt terug naar de actuele vraag; geen domeindata wijzigt.
5Realtime transportSignalR live view streamVolgende updates worden weer als actuele liveweergave getoond.

12. Geen datamutaties

EntiteitReden
ExerciseRunsDe docent wijzigt geen runinhoud, afronding of resultaat.
ExerciseRunProgressDe docentweergave leest voortgang, maar corrigeert geen antwoorden en markeert geen vragen.
UserRelationshipsRelaties worden niet aangemaakt, gewijzigd of beëindigd binnen live meekijken.
StudentLevelAuthorizationsAutorisaties worden uitsluitend gelezen; beheer hoort in docent-autorisatieusecases.
SystemMessagesLive meekijken maakt geen systeemberichten aan.
PrivateMessageThreadsLive meekijken start geen privébericht en voegt geen thread-event toe.
TicketsVerbindings- of livefouten worden niet automatisch als melding geregistreerd.

13. State diagram

De usecase raakt geen persistent statusobject met eigen statusmodel. De live-meekijktoestand is een afgeleide sessie- en realtimecontext. Waar LiveViewAudit.EndedAtUtc wordt gevuld, betreft dit auditafronding en geen zelfstandige functionele statusmachine.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyMomentDoel
Niet van toepassingNormale terugkeeractieGeen popup; de actie werkt inline.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft de live-meekijkinteractie binnen een geautoriseerde docentcontext en bevestigt het alleen-lezen karakter van de docentweergave.
Technisch OntwerpTechnisch Ontwerp: live meekijken met SignalR, oefenruns en voortgang en readmodels en livebeschikbaarheid beschrijven de technische uitwerking. Werkt realtime-verwerking, SignalR-abonnementen, routeguardcontrole, LiveViewAudit-grenzen en foutafhandeling technisch uit.
Software Requirements SpecificationBorgt autorisatie, alleen-lezen gedrag, realtime updates, veilige foutafhandeling en het ontbreken van onbedoelde runmutaties.
Database-informatieGebruikt LiveViewAudit, ExerciseRuns en voortgangsopslag als bestaande bronnen; er ontstaat geen aparte live-weergavetabel.
OntwerpbronnenAutorisatiematrix en business rules beschrijven de live-meekijkgrenzen binnen docentcontext.

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-afleidingDektUsecasecontext
REQ-UC-DOC-LIVE-006-001SRS-TCH-001
SRS-LIVE-004
AC-TCH-001
AC-LIVE-004
Een docent vanuit browsemodus kunnen terugbrengen naar de actuele live vraag
REQ-UC-DOC-LIVE-006-002SRS-TCH-001
SRS-LIVE-001
AC-TCH-001
AC-LIVE-001
De terugkeeractie alleen actief maken wanneer de docent niet op de actuele livevraag staat
REQ-UC-DOC-LIVE-006-003SRS-AUTH-001
SRS-TCH-001
SRS-LIVE-002
AC-AUTH-001
AC-TCH-001
AC-LIVE-002
Bij terugkeer opnieuw controleren dat de livecontext geautoriseerd is
REQ-UC-DOC-LIVE-006-004SRS-AUTH-001
SRS-AUTH-002
SRS-TCH-001
SRS-LIVE-001
AC-AUTH-001
AC-AUTH-002
AC-TCH-001
AC-LIVE-001
De actuele livevraag niet bepalen op basis van ongecontroleerde clientstate
REQ-UC-DOC-LIVE-006-005SRS-TCH-001
SRS-LIVE-001
SRS-ARCH-003
AC-TCH-001
AC-LIVE-001
AC-ARCH-003
Na terugkeer volgende realtime updates weer als actuele liveweergave tonen
REQ-UC-DOC-LIVE-006-006SRS-LRN-003
SRS-TCH-001
SRS-LIVE-001
AC-LRN-003
AC-TCH-001
AC-LIVE-001
Door terugkeren naar live geen antwoord-, score- of runmutatie uitvoeren
REQ-UC-DOC-LIVE-006-007SRS-LRN-009
SRS-TCH-001
SRS-NFR-SEC-001
AC-LRN-009
AC-TCH-001
AC-NFR-SEC-001
Veilig afhandelen dat de run inmiddels is afgerond of verlaten
REQ-UC-DOC-LIVE-006-008SRS-TCH-001
SRS-NFR-SEC-001
SRS-ARCH-003
AC-TCH-001
AC-NFR-SEC-001
AC-ARCH-003
Veilig afhandelen dat realtime state tijdelijk ontbreekt
REQ-UC-DOC-LIVE-006-009SRS-TCH-001
AC-TCH-001
Browsemodus als presentatiestate behandelen en niet als domeindata
REQ-UC-DOC-LIVE-006-010SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Verhinderen dat de docent een oude browserpositie gebruikt om buiten autorisatie data te zien