Skip to main content

UC-DOC-LIVE-003 — Live-meekijksessie starten

Deze usecase hoort bij het subdomein Online leerlingen en live meekijken binnen het domein Docent. Relatievorming, leerlingautorisatiebeheer en oefenvoortgang zelf zijn elders bronhoudend uitgewerkt; deze usecase gebruikt die gegevens alleen voor online- en live-inzage binnen de docentcontext.

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-LIVE-003
NaamLive-meekijksessie starten
DomeinDocent
SubdomeinOnline leerlingen en live meekijken
Primaire actorDocent
Secundaire actor(en)Systeem, leerling, SignalR-service
RolcontextIngelogde docent met actieve docentcontext en geldige autorisatie voor de actieve oefenrun van de leerling
Betrokken schermenDocentpagina Online; live-meekijkweergave
Gerelateerde usecasesUC-DOC-LIVE-001; UC-DOC-LIVE-002; UC-DOC-LIVE-004; UC-LLN-OEF-004
Primaire entiteitenLiveViewAudit, ExerciseRuns, ExerciseRunProgress, Users, UserRelationships, TeacherStudentLevelAuthorizations
Secundaire entiteiten / eventsSignalR group/session, SystemMessages of in-app notificatie aan leerling, LiveViewSessionStarted
Gerelateerde popupsPOP-DOC-LIVE-001 wanneer start niet meer beschikbaar is
PopupregisterPOP-DOC-LIVE-001
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een docent vanuit het online-overzicht bewust een live-meekijksessie start bij een leerling die op dat moment met een oefening bezig is.

Het starten van live meekijken is een expliciete actie. Bij start voert het systeem opnieuw alle server-side controles uit die ook voor beschikbaarheid relevant zijn.

Alleen wanneer de docent nog steeds bevoegd is, de leerling nog steeds een actieve run heeft en de run binnen de docentcontext valt, wordt de meekijksessie geopend.

Bij een succesvolle start wordt een LiveViewAudit-record aangemaakt met onder meer de meekijkende docent, rolcontext, leerling, exercise run en startmoment. Daarna wordt de docent gekoppeld aan de real-time voortgangsstroom voor die run.

3. Scope

Binnen scope

  • startactie Kijk live mee verwerken
  • opnieuw server-side valideren van docentcontext, relatie, autorisatie en actieve run
  • aanmaken van LiveViewAudit bij succesvolle start
  • aansluiten van de docent op de live voortgangsstroom
  • openen van de live-meekijkweergave
  • vastleggen of informeren dat live meekijken is gestart, voor zover functioneel vereist

Buiten scope

  • inhoudelijk beantwoorden van vragen door de docent
  • wijzigen van de oefening door de docent
  • door vragen bladeren tijdens de sessie
  • beëindigen of herstellen van een verbroken liveverbinding
  • ouder-/voogd-meekijkflow
  • beheerderinzage

4. Pre-condities

IDVoorwaarde
PRE-001De docent is ingelogd met actieve docentcontext.
PRE-002De docent heeft in het online-overzicht een leerling geselecteerd waarvoor live meekijken beschikbaar lijkt.
PRE-003De leerling heeft een actieve, niet-afgeronde oefenrun.
PRE-004De oefenrun valt binnen de docentcontext en niveau-autorisatie van de docent.
PRE-005De SignalR-/realtime-infrastructuur is beschikbaar om voortgangsupdates te leveren.

5. Post-condities

IDResultaat
POST-001Bij succesvolle start is een LiveViewAudit-record aangemaakt met startmoment.
POST-002De docent ziet de live-meekijkweergave voor de actuele exercise run.
POST-003De docent is aangesloten op de real-time voortgangsstroom voor de run.
POST-004De leerlingrun zelf is niet gewijzigd door het starten van meekijken.
POST-005Bij mislukte start is geen LiveViewAudit-record aangemaakt.
POST-006De docent kan niet ingrijpen in de oefening van de leerling.

6. Trigger

De docent klikt op Kijk live mee bij een geselecteerde leerling waarvoor de live-meekijkactie beschikbaar is.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentOnline-overzichtKlikt op Kijk live mee.Frontend stuurt startverzoek naar backend.Start is expliciete actie.
2SysteemBackend / routeguardControleert docentcontext opnieuw.Blokkeert wanneer sessie, rol of context niet meer geldig is.Server-side hercontrole verplicht.
3SysteemRelatiecontroleControleert actieve docent-leerlingrelatie.Start gaat alleen door bij geldige relatiecontext.Relatiedomein is bronhouder.
4SysteemAutorisatiecontroleControleert niveau-autorisatie.Start gaat alleen door binnen eigen docentcontext.Geen toegang buiten context.
5SysteemExerciseRun serviceControleert actieve oefenrun.Run moet nog lopen, niet afgerond zijn en van de leerling zijn.ExerciseRun is bron van actieve oefencontext.
6SysteemRealtime serviceBereidt SignalR-koppeling voor.Docent wordt gekoppeld aan de voortgangsstroom van de run.Meerdere meekijkers mogen naast elkaar bestaan.
7SysteemDatabaseMaakt LiveViewAudit-record aan.Legt ViewerUserId, ViewerRoleId, ViewerRoleNameSnapshot, ObservedUserId, ExerciseRunId en StartedAtUtc vast.Audit is verplicht bij start.
8SysteemBerichten/notificatiecomponentRegistreert of communiceert dat live wordt meegekeken.Leerling kan tijdens of na de oefening geïnformeerd worden volgens bericht-/notificatieregels.Geen vrije chat.
9SysteemFrontendOpent live-meekijkweergave.Toont actuele vraag, voortgangslijst en alleen-lezen context.Vervolg in UC-DOC-LIVE-004.
10DocentLive-meekijkweergaveBekijkt de actuele voortgang.Kan niet antwoorden of de run wijzigen.Alleen-lezen.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Sessie of docentcontext is verlopen.Start wordt geblokkeerd en de gebruiker wordt naar login of toegestane context geleid.Routeguardafhandeling.Geen.
ALT-0023Relatie is niet meer actief.Start wordt geweigerd.POP-DOC-LIVE-001.Geen LiveViewAudit.
ALT-0034Autorisatie is ingetrokken.Start wordt geweigerd.POP-DOC-LIVE-001.Geen LiveViewAudit.
ALT-0045Leerling heeft de oefening inmiddels verlaten.Start wordt geweigerd omdat er geen actieve run meer is.POP-DOC-LIVE-001.Geen LiveViewAudit.
ALT-0055Run is inmiddels afgerond.Start wordt geweigerd; resultaat/geschiedenis kan eventueel via andere usecase worden geopend.POP-DOC-LIVE-001.Geen LiveViewAudit.
ALT-0066SignalR-koppeling kan niet worden opgezet.Start wordt niet als live sessie beschouwd of wordt direct beëindigd volgens verbindingsfoutflow.POP-DOC-LIVE-002 in vervolgbundel.Geen of direct gesloten LiveViewAudit, afhankelijk van technisch startmoment.
ALT-0077Aanmaken LiveViewAudit faalt.Live-meekijksessie wordt niet geopend omdat auditregistratie verplicht is.POP-DOC-LIVE-001.Geen bruikbare live sessie.
ALT-0088Leerling is actief bezig en badge/popup wordt niet direct getoond.Systeem bewaart de informatie via systeembericht of veilige notificatie volgens communicatieafspraken.Geen live-popup voor leerling in deze usecase.Eventueel SystemMessage volgens berichtenregels.

9. Business rules

IDRegel
BR-001Een live-meekijksessie start alleen na een expliciete actie van de docent.
BR-002Alle beschikbaarheidsvoorwaarden moeten bij start opnieuw server-side worden gevalideerd.
BR-003Bij succesvolle start moet een LiveViewAudit-record worden vastgelegd.
BR-004De meekijkweergave is alleen-lezen; de docent kan geen antwoorden invullen of voortgang wijzigen.
BR-005Meerdere bevoegde meekijkers mogen gelijktijdig dezelfde run volgen binnen hun eigen autorisatiegrenzen.
BR-006Een docent mag alleen live meekijken met oefeningen binnen de eigen docentcontext en niveau-autorisatie.
BR-007Het starten van live meekijken wijzigt de ExerciseRun of vraagvoortgang niet.
BR-008Auditregistratie van live meekijken staat los van autorisatie-audit en oefenresultaten.
BR-009Wanneer de leerling niet direct zichtbaar geïnformeerd wordt, blijft communicatie via bestaande systeembericht-/notificatieregels herleidbaar.
BR-010Een beheerder gebruikt deze docentflow niet om live mee te kijken.

10. Datavalidatie

Veld / objectValidatie
ViewerUserIdKomt uit de server-side sessie en moet een actieve docent zijn.
ViewerRoleIdMoet horen bij de actieve docentrolcontext.
ViewerRoleNameSnapshotMoet leesbaar worden vastgelegd voor audit, zodat latere rolnaamwijzigingen geen auditverlies geven.
ObservedUserIdMoet de geselecteerde leerling zijn binnen de docentcontext.
ExerciseRunIdMoet verwijzen naar een actieve, niet-afgeronde run van de leerling binnen de autorisatiecontext.
StartedAtUtcWordt server-side in UTC gevuld.
SignalR groupMag alleen worden verbonden na succesvolle autorisatiecontrole.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
2-5ReadUsers / relaties / autorisaties / ExerciseRunsHercontrole van startvoorwaarden.
6RuntimeSignalR live view connectionDocent wordt gekoppeld aan de live voortgangsstroom van de run.
7CreateLiveViewAuditNieuw auditrecord met docent, rolcontext, leerling, exercise run en startmoment.

12. Geen datamutaties

EntiteitReden
ExerciseRunsStarten van meekijken wijzigt de run niet.
ExerciseRunProgressDe docent leest voortgang, maar schrijft geen voortgang.
TeacherStudentLevelAuthorizationsAutorisaties worden alleen gecontroleerd.
UserRelationshipsRelaties worden alleen gecontroleerd.
SystemMessagesStarten van live meekijken maakt binnen deze docentflow geen systeembericht aan.
PrivateMessagesLive meekijken start geen privébericht.
Ticket- of meldingsentiteitenLive meekijken is geen meldingenflow.

13. State diagram

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyMomentDoel
POP-DOC-LIVE-001Startvoorwaarden zijn bij hercontrole niet meer geldigLegt uit dat live meekijken niet kan worden gestart.
POP-DOC-LIVE-002Realtime verbinding kan niet worden opgezet of valt direct wegVerwijst naar de verbindingsfoutflow in UC-DOC-LIVE-008.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft dat de docent live meekijken bewust start en alleen-lezen volgt binnen eigen docentcontext.
Technisch OntwerpTechnisch Ontwerp: live meekijken met SignalR, oefenruns en voortgang en readmodels en livebeschikbaarheid beschrijven de technische uitwerking. Werkt startverwerking uit met hercontrole, LiveViewAudit en SignalR-koppeling.
Software Requirements SpecificationBorgt eisen voor hercontrole, auditregistratie, read-only gedrag en realtime koppeling.
Database-informatieLiveViewAudit is verplicht bij succesvolle start; ExerciseRun en ExerciseRunProgress blijven ongewijzigd.
OntwerpbronnenCommand- en autorisatieregels beschrijven het starten van een live-meekijksessie binnen docentcontext.
Popup-registerDe usecase verwijst uitsluitend naar PopupKey POP-DOC-LIVE-001 en POP-DOC-LIVE-002.

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-003-001SRS-TCH-001
SRS-LIVE-001
AC-TCH-001
AC-LIVE-001
Live meekijken alleen starten na een expliciete actie van de docent
REQ-UC-DOC-LIVE-003-002SRS-AUTH-001
SRS-REL-001
SRS-LRN-001
SRS-TCH-001
AC-AUTH-001
AC-REL-001
AC-LRN-001
AC-TCH-001
Bij start de docentcontext, relatie, autorisatie en actieve run opnieuw server-side valideren
REQ-UC-DOC-LIVE-003-003SRS-TCH-001
SRS-LIVE-003
SRS-NFR-AUD-001
AC-TCH-001
AC-LIVE-003
AC-NFR-AUD-001
Bij succesvolle start een LiveViewAudit-record aanmaken
REQ-UC-DOC-LIVE-003-004SRS-LRN-003
SRS-TCH-001
SRS-ARCH-003
AC-LRN-003
AC-TCH-001
AC-ARCH-003
Bij succesvolle start de docent verbinden met de realtime voortgangsstroom van de exercise run
REQ-UC-DOC-LIVE-003-005SRS-LRN-003
SRS-TCH-001
SRS-LIVE-001
AC-LRN-003
AC-TCH-001
AC-LIVE-001
Voorkomen dat een docent via live meekijken antwoorden of voortgang van de leerling wijzigt
REQ-UC-DOC-LIVE-003-006SRS-AUTH-001
SRS-LRN-009
SRS-TCH-001
SRS-LIVE-001
AC-AUTH-001
AC-LRN-009
AC-TCH-001
AC-LIVE-001
Live meekijken blokkeren wanneer de run niet langer actief of niet langer zichtbaar is binnen de docentcontext
REQ-UC-DOC-LIVE-003-007SRS-AUTH-001
SRS-LRN-001
SRS-TCH-001
SRS-LIVE-003
SRS-NFR-AUD-001
AC-AUTH-001
AC-LRN-001
AC-TCH-001
AC-LIVE-003
AC-NFR-AUD-001
Succesvolle live-meekijksessies auditbaar vastleggen met actor, rolcontext, leerling, run en startmoment
REQ-UC-DOC-LIVE-003-008SRS-AUTH-001
SRS-TCH-001
SRS-LIVE-002
AC-AUTH-001
AC-TCH-001
AC-LIVE-002
Meerdere gelijktijdige bevoegde meekijkers kunnen ondersteunen binnen hun eigen autorisatiegrenzen
REQ-UC-DOC-LIVE-003-009SRS-LRN-001
SRS-TCH-001
SRS-LIVE-001
AC-LRN-001
AC-TCH-001
AC-LIVE-001
De leerlingrun ongewijzigd laten door het starten van live meekijken
REQ-UC-DOC-LIVE-003-010SRS-SHR-001
SRS-TCH-001
SRS-LIVE-001
SRS-NFR-SEC-001
AC-SHR-001
AC-TCH-001
AC-LIVE-001
AC-NFR-SEC-001
Een startfout veilig afhandelen zonder gedeeltelijke live-meekijksessie