Skip to main content

UC-DOC-LIVE-002 — Live-meekijken beschikbaarheid bepalen

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-002
NaamLive-meekijken beschikbaarheid bepalen
DomeinDocent
SubdomeinOnline leerlingen en live meekijken
Primaire actorDocent
Secundaire actor(en)Systeem, SignalR-/presencecomponent
RolcontextIngelogde docent met actieve docentcontext en relatie/autorisatie tot de geselecteerde leerling
Betrokken schermenDocentpagina Online; actiegebied bij geselecteerde leerling
Gerelateerde usecasesUC-DOC-LIVE-001; UC-DOC-LIVE-003; UC-LLN-OEF-004; UC-LLN-OEF-007
Primaire entiteitenUsers, UserRelationships, TeacherStudentLevelAuthorizations, ExerciseRuns, ExerciseRunProgress
Secundaire entiteiten / eventsOnlinePresence readmodel, SignalR connection state
Gerelateerde popupsGeen popup in normale bepaling; blokkades worden als uitgeschakelde actie of componentmelding weergegeven
PopupregisterNiet van toepassing voor normale beschikbaarheidsbepaling
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe het systeem bepaalt of de actie Kijk live mee beschikbaar is voor een geselecteerde leerling in het online-overzicht van de docent.

Beschikbaarheid is geen simpele online-check. De leerling moet daadwerkelijk met een oefening bezig zijn én de betreffende oefening moet binnen de docentcontext vallen.

Een docent mag niet live meekijken met een oefening die buiten de eigen niveau-autorisatie of onderwijscontext valt.

De usecase resulteert in een geactiveerde of uitgeschakelde live-meekijkactie. De daadwerkelijke start van de meekijksessie gebeurt pas in UC-DOC-LIVE-003 en wordt bij start opnieuw server-side gevalideerd.

3. Scope

Binnen scope

  • bepalen of de geselecteerde leerling online is
  • bepalen of de leerling een actieve, niet-afgeronde oefenrun heeft
  • controleren of de run binnen de docentcontext en niveau-autorisatie valt
  • activeren of uitschakelen van de live-meekijkactie
  • tonen van een functionele reden wanneer live meekijken niet beschikbaar is
  • voorkomen dat clientstate de beschikbaarheid bepaalt

Buiten scope

  • starten van de live-meekijksessie
  • schrijven van LiveViewAudit
  • tonen van de live-vraagweergave
  • verwerken van SignalR-updates tijdens meekijken
  • live meekijken door ouder/voogd
  • beheerderanalyse van geschiedenis

4. Pre-condities

IDVoorwaarde
PRE-001De docent bevindt zich op het online-overzicht of een gelijkwaardige docentcontext met leerlingselectie.
PRE-002De geselecteerde leerling is zichtbaar binnen de docentcontext.
PRE-003De server kan actuele presence- en oefenruninformatie raadplegen.
PRE-004De docent heeft een actieve docent-leerlingrelatie met de leerling voor de relevante context.
PRE-005Niveau-autorisaties zijn server-side beschikbaar om de onderwijscontext te controleren.

5. Post-condities

IDResultaat
POST-001Het systeem heeft bepaald of live meekijken voor de geselecteerde leerling beschikbaar is.
POST-002De live-meekijkactie is actief wanneer alle voorwaarden gelden.
POST-003De live-meekijkactie is uitgeschakeld of geblokkeerd wanneer één of meer voorwaarden ontbreken.
POST-004Er is geen live-meekijksessie gestart en geen LiveViewAudit-record aangemaakt.
POST-005De beschikbaarheid is gebaseerd op server-side context, niet op clientstate alleen.

6. Trigger

De docent selecteert een leerling in het online-overzicht of het overzicht wordt herladen waardoor de beschikbaarheid van de actie Kijk live mee opnieuw moet worden bepaald.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentOnline-overzichtSelecteert een leerling of bekijkt de actieregel.Frontend vraagt of live meekijken beschikbaar is.Leerling moet al zichtbaar zijn in UC-DOC-LIVE-001.
2SysteemRouteguard / backendControleert docentcontext.Verifieert dat de actor een actieve docentrol heeft.Server-side context is leidend.
3SysteemRelatiecontroleControleert actieve docent-leerlingrelatie.Blokkeert beschikbaarheid wanneer de relatie ontbreekt of inactief is.Generiek relatiedomein is bronhouder.
4SysteemAutorisatiecontroleControleert relevante niveau-autorisatie.Bepaalt of de docent deze leerling binnen dit niveau mag begeleiden.Alleen eigen docentcontext telt.
5SysteemPresencecomponentControleert of de leerling online is.Als de leerling niet online is, blijft live meekijken uitgeschakeld.Presence is runtime-informatie.
6SysteemExerciseRun serviceZoekt actieve oefenrun van de leerling.Alleen een lopende, niet-afgeronde leerlingrun kan live worden gevolgd.IsTestRun=false voor leerlingcontext.
7SysteemContextcontroleControleert niveau, categorie en oefening van de actieve run.Run moet binnen de docentcontext zichtbaar zijn.Geen toegang buiten eigen context.
8SysteemFrontend readmodelLevert beschikbaarheidsstatus en reden op.Frontend toont actieve of uitgeschakelde actie.Geen mutatie.
9DocentOnline-overzichtZiet of de actie beschikbaar is.Kan bij beschikbaarheid kiezen voor live meekijken.Start gebeurt in UC-DOC-LIVE-003.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Docentcontext ontbreekt of is verlopen.Routeguard blokkeert of vraagt nieuwe authenticatie/context.Routeguardafhandeling, geen popupregister-popup.Geen.
ALT-0023Docent-leerlingrelatie is niet actief.Live-meekijken wordt niet beschikbaar.Uitgeschakelde actie of componentmelding.Geen.
ALT-0034Niveau-autorisatie ontbreekt of is ingetrokken.Live-meekijken wordt niet beschikbaar voor deze run.Uitgeschakelde actie of componentmelding.Geen.
ALT-0045Leerling is niet online.Actie blijft uitgeschakeld.Uitgeschakelde actie of componentmelding.Geen.
ALT-0056Leerling is online maar oefent niet.Actie blijft uitgeschakeld; geschiedenis bekijken kan eventueel wel beschikbaar blijven.Uitgeschakelde actie of componentmelding.Geen.
ALT-0066Alleen een afgeronde of onderbroken run is gevonden.Live-meekijken wordt niet beschikbaar omdat er geen actuele actieve oefencontext is.Uitgeschakelde actie of componentmelding.Geen.
ALT-0077Actieve run valt buiten docentcontext.Run wordt niet live beschikbaar gemaakt.Uitgeschakelde actie of componentmelding.Geen.
ALT-0088Beschikbaarheid verandert tijdens het laden.Bij start van UC-DOC-LIVE-003 wordt opnieuw gevalideerd.Zo nodig POP-DOC-LIVE-001.Geen in deze usecase.

9. Business rules

IDRegel
BR-001Live meekijken voor een docent is alleen beschikbaar voor leerlingen binnen een actieve docent-leerlingrelatie.
BR-002Live meekijken is alleen beschikbaar wanneer de leerling daadwerkelijk met een niet-afgeronde oefenrun bezig is.
BR-003De actieve oefenrun moet binnen de eigen niveau-autorisatie en docentcontext van de docent vallen.
BR-004Een docent mag niet live meekijken met oefeningen buiten de eigen onderwijscontext.
BR-005Online zijn zonder actieve oefenrun is onvoldoende om live meekijken beschikbaar te maken.
BR-006Beschikbaarheid in de UI is informatief; de startactie moet server-side opnieuw valideren.
BR-007De beschikbaarheidsbepaling maakt geen LiveViewAudit-record en start geen SignalR-meekijkgroep.
BR-008Beheerders mogen vanuit deze docentflow niet live meekijken.
BR-009Ouder-/voogdmeekijken gebruikt eigen autorisatieregels en valt buiten deze docentusecase.

10. Datavalidatie

Veld / objectValidatie
SelectedStudentIdMoet verwijzen naar een leerling die binnen de docentcontext zichtbaar is.
TeacherUserIdKomt uit server-side sessiecontext en niet uit clientinvoer.
RelationshipMoet actief zijn en het juiste docent-leerlingtype hebben.
LevelAuthorizationMoet actief zijn voor de relevante leerling, docent en niveaucontext.
ExerciseRunMoet niet-afgerond, actueel, van de leerling en zichtbaar binnen de docentcontext zijn.
PresenceWordt alleen gebruikt als runtime-indicatie en mag geen autorisatie vervangen.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-9ReadUsers / relaties / autorisaties / ExerciseRunsAlleen lezen voor de beschikbaarheidsbepaling.
5Runtime readPresence / SignalR stateGeen persistente mutatie.

12. Geen datamutaties

EntiteitReden
LiveViewAuditWordt pas aangemaakt bij daadwerkelijke start van live meekijken.
ExerciseRunsBeschikbaarheid wijzigt de run niet.
ExerciseRunProgressVoortgang wordt alleen gelezen.
SystemMessagesBeschikbaarheidsbepaling informeert de leerling niet.
UserRelationshipsRelaties worden alleen gecontroleerd.
TeacherStudentLevelAuthorizationsAutorisaties worden alleen gecontroleerd.

13. State diagram

Niet van toepassing. Beschikbaarheid is een afgeleide UI-/readmodeltoestand en geen persistent statusobject.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyMomentDoel
Niet van toepassingNormale beschikbaarheidsbepalingDe UI toont een actieve of uitgeschakelde actie met componentuitleg.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft dat Kijk live mee alleen beschikbaar is bij online leerling, actieve oefenrun en passende docentcontext.
Technisch OntwerpTechnisch Ontwerp: live meekijken met SignalR, oefenruns en voortgang en readmodels en livebeschikbaarheid beschrijven de technische uitwerking. Werkt server-side beschikbaarheidscontrole uit op relatie, niveau-autorisatie, actieve run en presence.
Software Requirements SpecificationBorgt dat UI-beschikbaarheid niet voldoende is en dat starten van live meekijken opnieuw server-side wordt gevalideerd.
Database-informatieGebruikt bestaande relatie-, autorisatie- en rungegevens plus runtime-presence; er ontstaat geen nieuw domeinrecord.
OntwerpbronnenAutorisatiematrix en business rules beschrijven live-meekijkbeschikbaarheid 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-002-001SRS-TCH-001
SRS-LIVE-001
AC-TCH-001
AC-LIVE-001
Live-meekijken alleen beschikbaar tonen voor docenten met een actieve docentcontext
REQ-UC-DOC-LIVE-002-002SRS-AUTH-004
SRS-REL-001
SRS-LRN-009
SRS-TCH-001
AC-AUTH-004
AC-REL-001
AC-LRN-009
AC-TCH-001
Controleren of de geselecteerde leerling binnen een actieve docent-leerlingrelatie valt
REQ-UC-DOC-LIVE-002-003SRS-AUTH-001
SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
AC-AUTH-001
AC-CAT-001
AC-LRN-009
AC-TCH-002
Controleren of de actieve oefenrun binnen de niveau-autorisatie van de docent valt
REQ-UC-DOC-LIVE-002-004SRS-LRN-009
SRS-TCH-001
SRS-LIVE-001
AC-LRN-009
AC-TCH-001
AC-LIVE-001
Live-meekijken uitschakelen wanneer de leerling niet online is
REQ-UC-DOC-LIVE-002-005SRS-LRN-009
SRS-TCH-001
SRS-LIVE-001
AC-LRN-009
AC-TCH-001
AC-LIVE-001
Live-meekijken uitschakelen wanneer de leerling geen actieve oefenrun heeft
REQ-UC-DOC-LIVE-002-006SRS-TCH-001
SRS-LIVE-003
SRS-NFR-AUD-001
AC-TCH-001
AC-LIVE-003
AC-NFR-AUD-001
Geen LiveViewAudit-record aanmaken tijdens de beschikbaarheidsbepaling
REQ-UC-DOC-LIVE-002-007SRS-AUTH-001
SRS-TCH-001
SRS-LIVE-001
AC-AUTH-001
AC-TCH-001
AC-LIVE-001
Bij start van live meekijken de beschikbaarheidsvoorwaarden opnieuw server-side valideren
REQ-UC-DOC-LIVE-002-008SRS-TCH-001
SRS-LIVE-001
AC-TCH-001
AC-LIVE-001
Een functionele reden kunnen tonen wanneer live meekijken niet beschikbaar is