Skip to main content

UC-DOC-LIVE-004 — Live voortgang van leerling volgen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-LIVE-004
NaamLive voortgang van leerling volgen
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 tijdens een actieve live-meekijksessie de actuele voortgang van een leerling volgt. De docent ziet de actuele vraagpositie, de status van beantwoorde vragen en relevante voortgangsinformatie, maar kan de oefening niet beïnvloeden.

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:

  • Ontvangen van realtime voortgangsupdates.
  • Bijwerken van de live-meekijkweergave.
  • Tonen van vraagpositie en resultaatindicaties binnen autorisatiegrenzen.
  • Behouden van alleen-lezen gedrag.
  • Veilige afhandeling wanneer de run eindigt of niet meer toegankelijk is.

Buiten scope:

  • Starten van de live-meekijksessie.
  • Beantwoorden van vragen door de leerling.
  • Wijzigen van antwoorden, scores of correcties.
  • Geschiedenisweergave van afgeronde runs.
  • Relatie- of autorisatiebeheer.

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-meekijkweergaveBlijft op de liveweergave van de geselecteerde leerling.Systeem behoudt het realtime-abonnement voor de actieve run.LiveViewAudit bestaat voor de sessie.
2SysteemRouteguard / backendControleert dat docent, leerling, niveau en oefening nog binnen de toegestane context vallen.Bij geldige context blijft live meekijken actief.BR-001, BR-002
3LeerlingOefenschermBevestigt een antwoord of markeert een vraag volgens de leerling-oefenflow.Voortgang wordt server-side opgeslagen door de leerlingflow.Bron: leerling-oefenusecases.
4SysteemRealtime-kanaalPubliceert een voortgangsupdate voor geautoriseerde meekijkers.Docent ontvangt alleen de toegestane samenvatting en vraagcontext.SignalR / server-side voortgang.
5SysteemLive-meekijkweergaveWerkt actuele vraag, voortgang, resultaatindicatie en vraagnavigatie bij.Weergave blijft alleen-lezen.Geen antwoordmutatie.
6DocentLive-meekijkweergaveBekijkt de actuele voortgang.Docent kan niet ingrijpen in de oefening.BR-003
7SysteemLive-meekijkweergaveToont vervolgupdates zolang de run actief en geautoriseerd is.De laatste veilige liveweergave blijft zichtbaar tot nieuwe update of sessie-einde.BR-004
8SysteemLiveViewAuditBehoudt de lopende auditregistratie van de meekijksessie.Er wordt geen extra auditregel per antwoordupdate vereist.Audit op sessieniveau.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Docentcontext is niet meer geldig.Systeem beëindigt de liveweergave of blokkeert verdere updates.Generieke toegangafhandeling.Eventueel LiveViewAudit.EndedAtUtc vullen.
ALT-0023Leerling verlaat de oefening.Systeem verwerkt dit via de leerling-onderbreekflow en toont live niet langer als actief.Sessie-einde-indicatie.LiveViewAudit.EndedAtUtc indien sessie eindigt.
ALT-0034Realtime update komt vertraagd of dubbel binnen.Systeem verwerkt updates idempotent op basis van run, vraagnummer en voortgangspositie.Geen popup.Geen dubbele domeinmutatie.
ALT-0044Update hoort bij een andere run of ander niveau.Systeem negeert de update voor deze docentweergave.Geen popup.Geen mutatie.
ALT-0055Docent bekijkt op dat moment een eerdere vraag.Systeem werkt live-indicator en vraagnavigatie bij zonder de gekozen browsepositie te overschrijven.Geen popup.Geen mutatie.
ALT-0067Run wordt afgerond.Systeem toont dat de live oefening is afgerond en beëindigt de livecontext.Sessie-einde-indicatie.LiveViewAudit.EndedAtUtc vullen.

9. Business rules

IDRegel
BR-001Live voortgang tonen is alleen toegestaan binnen een actieve docentcontext met geldige docent-leerlingrelatie.
BR-002Een docent mag alleen live voortgang zien van oefeningen binnen niveaus die door die docent aan de leerling zijn geautoriseerd.
BR-003De live-meekijkweergave is altijd alleen-lezen.
BR-004Realtime data is afgeleide presentatiedata en wordt niet als aparte liveweergavetabel opgeslagen.
BR-005De leerling-oefenflow blijft bronhouder voor antwoordverwerking, voortgang en afronding.
BR-006Een beheerdercontext mag niet worden gebruikt om live voortgang van leerlingen te volgen.
BR-007Meerdere gelijktijdige meekijkers zijn toegestaan zolang ieder afzonderlijk geautoriseerd is.

10. Datavalidatie

Veld / objectValidatie
DocentUserIdMoet overeenkomen met de ingelogde gebruiker en actieve docentcontext.
ObservedUserIdMoet een leerling zijn met actieve relatie tot de docent.
ExerciseRunIdMoet een actieve run zijn die binnen de toegestane niveaucontext valt.
LevelIdMoet binnen de autorisatieset van de docent voor deze leerling vallen.
RealtimeEventMoet horen bij de verwachte run, vraagpositie en server-side voortgangsversie.
QuestionNumberMoet binnen 1..TotalQuestionCount vallen.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-8ReadExerciseRuns / ExerciseRunProgressVoortgang wordt gelezen zoals door de leerling-oefenflow server-side is opgeslagen.
3-5Realtime transportSignalR live view streamUpdate wordt aan geautoriseerde meekijkers doorgegeven; geen persistente domeinmutatie.
5PresentatieLive viewmodelFrontendweergave wordt bijgewerkt zonder antwoord-, score- of runmutatie.

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 live updateGeen popup; de liveweergave werkt inline bij.

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-004-001SRS-LRN-003
SRS-TCH-001
SRS-LIVE-001
AC-LRN-003
AC-TCH-001
AC-LIVE-001
Live voortgang alleen tonen aan docenten met een geldige docentcontext voor de betreffende leerling en run
REQ-UC-DOC-LIVE-004-002SRS-AUTH-001
SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
SRS-LIVE-001
AC-AUTH-001
AC-CAT-001
AC-LRN-009
AC-TCH-002
AC-LIVE-001
Bij iedere liveweergave server-side borgen dat niveau en oefening binnen de toegestane docentcontext vallen
REQ-UC-DOC-LIVE-004-003SRS-TCH-001
AC-TCH-001
De docentweergave alleen-lezen houden
REQ-UC-DOC-LIVE-004-004SRS-LRN-003
SRS-TCH-001
SRS-LIVE-001
AC-LRN-003
AC-TCH-001
AC-LIVE-001
Door live voortgang tonen geen antwoorden, scores of runstatussen wijzigen
REQ-UC-DOC-LIVE-004-005SRS-TCH-001
SRS-ARCH-003
AC-TCH-001
AC-ARCH-003
Realtime voortgangsupdates verwerken zonder dubbele domeinmutaties
REQ-UC-DOC-LIVE-004-006SRS-AUTH-001
SRS-TCH-001
SRS-LIVE-001
AC-AUTH-001
AC-TCH-001
AC-LIVE-001
Live voortgang beëindigen of blokkeren wanneer de docentcontext ongeldig wordt
REQ-UC-DOC-LIVE-004-007SRS-AUTH-001
SRS-LRN-009
SRS-TCH-001
SRS-LIVE-002
AC-AUTH-001
AC-LRN-009
AC-TCH-001
AC-LIVE-002
Meerdere geautoriseerde meekijkers bij dezelfde run kunnen ondersteunen
REQ-UC-DOC-LIVE-004-008SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Voortgangsdata die buiten de geautoriseerde context valt negeren voor de docentweergave
REQ-UC-DOC-LIVE-004-009SRS-LRN-003
SRS-TCH-001
SRS-GUA-001
AC-LRN-003
AC-TCH-001
AC-GUA-001
De leerling-oefenflow bronhouder laten blijven voor antwoordverwerking en voortgangsopslag
REQ-UC-DOC-LIVE-004-010SRS-TCH-001
SRS-LIVE-001
SRS-NFR-SEC-001
SRS-NFR-AVL-001
AC-TCH-001
AC-LIVE-001
AC-NFR-SEC-001
AC-NFR-AVL-001
Veilige foutafhandeling bieden wanneer live voortgang niet meer beschikbaar is