Skip to main content

UC-DOC-LIVE-007 — Live-meekijksessie beëindigen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-LIVE-007
NaamLive-meekijksessie beëindigen
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 de eigen live-meekijksessie beëindigt. De docent stopt met kijken en ontvangt geen realtime updates meer, terwijl de oefening van de leerling ongewijzigd doorgaat of volgens de leerlingflow verder wordt afgehandeld.

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:

  • Afsluiten van de live-meekijkweergave.
  • Verbreken van het realtime-abonnement.
  • Auditbaar afsluiten van LiveViewAudit.
  • Navigeren naar een veilige docentcontext.

Buiten scope:

  • Beëindigen van de leerlingrun.
  • Resultaten berekenen.
  • Autorisaties wijzigen.
  • Meldingen of berichten aanmaken.

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-meekijkweergaveKiest voor sluiten, terug naar overzicht of verlaat de liveweergave.Systeem start beëindiging van de live-meekijksessie.BR-001
2SysteemFrontendVerbreekt realtime-abonnement voor de run.De docent ontvangt geen verdere updates voor deze sessie.SignalR subscription eindigt.
3SysteemBackendRegistreert het einde van de meekijksessie waar een LiveViewAudit-record actief is.EndedAtUtc wordt gevuld wanneer nog leeg.LiveViewAudit.
4SysteemFrontendNavigeert terug naar online-overzicht of veilige vorige context.Docent ziet geen liveweergave meer.Geen oefenrunmutatie.
5SysteemBackendLaat leerlingrun ongemoeid.Leerling kan ongestoord verder oefenen.BR-003

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011Docent sluit browser/tab zonder expliciete actie.Systeem beëindigt realtimeverbinding via disconnect-afhandeling.Geen popup.EndedAtUtc vullen zodra disconnect verwerkt is.
ALT-0022Realtimeverbinding was al verbroken.Systeem rondt audit alsnog veilig af als dat nog niet is gebeurd.Geen popup.EndedAtUtc vullen indien nodig.
ALT-0033EndedAtUtc is al gevuld.Systeem voert geen tweede afsluitmutatie uit.Geen popup.Idempotent; geen dubbele mutatie.
ALT-0044Vorige route is niet meer toegestaan.Systeem navigeert naar online-overzicht of docent-frontpage.Generieke routeguardafhandeling.Geen mutatie.
ALT-0055Leerlingrun is tegelijk afgerond.Systeem laat leerlingafronding door leerlingflow verwerken en sluit alleen meekijkcontext af.Geen popup.Geen runmutatie door docentflow.

9. Business rules

IDRegel
BR-001Een docent mag een eigen live-meekijksessie altijd beëindigen.
BR-002Beëindiging van meekijken beëindigt de oefening van de leerling niet.
BR-003De leerlingrun, antwoorden, scores en voortgang blijven onaangetast.
BR-004LiveViewAudit registreert sessieniveau; EndedAtUtc wordt maximaal één keer functioneel gevuld.
BR-005Na beëindiging ontvangt de docent geen realtime updates meer voor die sessie.
BR-006Bij browserdisconnect moet auditafsluiting best-effort en idempotent gebeuren.

10. Datavalidatie

Veld / objectValidatie
LiveViewAudit.IdMoet horen bij de actieve meekijksessie van de docent.
EndedAtUtcWordt alleen gevuld wanneer deze nog leeg is.
Realtime subscriptionMoet horen bij de betreffende run en gebruiker.
TerugkeerrouteMoet na routeguardcontrole toegestaan zijn.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
2TechnischRealtime subscriptionAbonnement op de live voortgangsstroom wordt beëindigd.
3UpdateLiveViewAudit.EndedAtUtcEindmoment wordt gevuld wanneer dit nog niet eerder is vastgelegd.
4PresentatieNavigatiecontextDocent keert terug naar een veilige docentroute; geen domeinmutatie.

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 beëindigingGeen popup; beëindiging verloopt als navigatie- of sluitactie.

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-007-001SRS-TCH-001
SRS-LIVE-001
AC-TCH-001
AC-LIVE-001
Een docent toestaan een eigen live-meekijksessie te beëindigen
REQ-UC-DOC-LIVE-007-002SRS-TCH-001
SRS-ARCH-003
AC-TCH-001
AC-ARCH-003
Bij beëindiging het realtime-abonnement voor die sessie verbreken
REQ-UC-DOC-LIVE-007-003SRS-TCH-001
SRS-LIVE-003
SRS-NFR-AUD-001
AC-TCH-001
AC-LIVE-003
AC-NFR-AUD-001
LiveViewAudit.EndedAtUtc vullen wanneer de sessie eindigt en het veld nog leeg is
REQ-UC-DOC-LIVE-007-004SRS-TCH-001
SRS-ARCH-004
AC-TCH-001
AC-ARCH-004
Beëindiging idempotent verwerken wanneer dezelfde sessie meerdere afsluitsignalen oplevert
REQ-UC-DOC-LIVE-007-005SRS-LRN-009
SRS-TCH-001
SRS-LIVE-001
AC-LRN-009
AC-TCH-001
AC-LIVE-001
Door beëindiging van meekijken de leerlingrun niet beëindigen
REQ-UC-DOC-LIVE-007-006SRS-LRN-003
SRS-TCH-001
AC-LRN-003
AC-TCH-001
Door beëindiging geen antwoorden, scores of voortgang wijzigen
REQ-UC-DOC-LIVE-007-007SRS-TCH-001
AC-TCH-001
Browser- of verbindingsdisconnects best-effort verwerken als sessie-einde
REQ-UC-DOC-LIVE-007-008SRS-TCH-001
SRS-NFR-SEC-001
AC-TCH-001
AC-NFR-SEC-001
Na beëindiging naar een veilige docentroute navigeren
REQ-UC-DOC-LIVE-007-009SRS-TCH-001
AC-TCH-001
Voorkomen dat na beëindiging nog updates aan de docent worden geleverd
REQ-UC-DOC-LIVE-007-010SRS-LRN-006
SRS-TCH-001
SRS-LIVE-001
AC-LRN-006
AC-TCH-001
AC-LIVE-001
Beëindiging van live meekijken onderscheiden van afronding of onderbreking door de leerling