Skip to main content

UC-DOC-LIVE-008 — Live verbinding verbroken afhandelen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-LIVE-008
NaamLive verbinding verbroken afhandelen
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 OefenHub omgaat met verbindingsverlies tijdens live meekijken. De applicatie probeert de realtime verbinding gecontroleerd te herstellen, valideert na herstel opnieuw de context en sluit de livecontext veilig af wanneer herstel niet lukt.

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:

  • Detecteren van realtime verbindingsverlies.
  • Uitvoeren van maximaal vijf herverbindingspogingen.
  • Opnieuw valideren van autorisatie na herstel.
  • Synchroniseren van liveweergave na herstel.
  • Afhandelen van definitief verbroken verbinding en auditafronding.

Buiten scope:

  • Netwerkdiagnose buiten de applicatie.
  • Wijzigen of afronden van de oefening van de leerling.
  • Account- of relatiebeheer.
  • Aanmaak van meldingen of tickets op basis van verbindingsverlies.

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
1SysteemRealtime-kanaalDetecteert verbindingsverlies tijdens live meekijken.Frontend start herstelmechanisme.BR-001
2SysteemFrontend / realtime clientVoert maximaal vijf herverbindingspogingen uit.Bij herstel wordt liveweergave opnieuw gesynchroniseerd.Retrylimiet.
3SysteemBackendControleert na herstel opnieuw autorisatie en actuele runstatus.Alleen geautoriseerde livecontext wordt hervat.BR-002
4SysteemLive-meekijkweergaveSynchroniseert de laatst toegestane actuele voortgang.Docent ziet weer actuele liveweergave.Geen runmutatie.
5SysteemFrontendWanneer herstel faalt na retrylimiet, toont het systeem dat de live verbinding is verbroken.Liveweergave wordt niet langer als actief gepresenteerd.Verbindingsmelding.
6SysteemBackendRondt live-meekijkaudit af wanneer de sessie functioneel eindigt.LiveViewAudit.EndedAtUtc wordt gevuld indien nodig.LiveViewAudit.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Verbinding herstelt binnen retrylimiet.Systeem synchroniseert state en zet live volgen voort.Geen popup; eventueel korte statusindicatie.Geen domeinmutatie behalve technische reconnect.
ALT-0023Autorisatie is tijdens reconnect vervallen.Systeem hervat niet en blokkeert de liveweergave.Generieke toegangafhandeling.EndedAtUtc vullen indien sessie eindigt.
ALT-0033Leerlingrun is afgerond tijdens verbindingsverlies.Systeem toont dat live volgen is beëindigd.Sessie-einde-indicatie.EndedAtUtc vullen.
ALT-0043Leerling heeft oefening verlaten tijdens verbindingsverlies.Systeem behandelt livecontext als beëindigd.Sessie-einde-indicatie.EndedAtUtc vullen.
ALT-0055Retrylimiet is bereikt.Systeem toont verbindingsverbroken-afhandeling en stopt liveupdates.Verbindingsmelding; geen popupregister-key.EndedAtUtc vullen indien nodig.
ALT-0066Auditafsluiting faalt tijdelijk.Systeem logt technische fout en probeert geen domeininhoud te herstellen via de docentweergave.Geen gebruikerstechnische details.Technische logging.

9. Business rules

IDRegel
BR-001Bij verbindingsverlies gebruikt live meekijken maximaal vijf herverbindingspogingen.
BR-002Na herverbinden moet autorisatie opnieuw server-side worden gecontroleerd.
BR-003Een herstelde verbinding mag geen gemiste updates blind toepassen zonder run- en contextcontrole.
BR-004Wanneer herstel niet lukt, mag de liveweergave niet als actief blijven lijken.
BR-005Verbindingsverlies mag geen oefenrun afronden, pauzeren of wijzigen.
BR-006Auditafsluiting bij definitief verbroken livecontext moet idempotent gebeuren.
BR-007Technische verbindingsdetails worden niet onnodig aan de docent getoond.

10. Datavalidatie

Veld / objectValidatie
ReconnectAttemptMag het ingestelde maximum van vijf pogingen niet overschrijden.
DocentcontextMoet na reconnect opnieuw geldig zijn.
ExerciseRunIdMoet nog dezelfde run zijn waarvoor de sessie was gestart.
CurrentProgressVersionMoet veilig gesynchroniseerd worden op basis van server-side brondata.
LiveViewAudit.EndedAtUtcWordt alleen gevuld wanneer de sessie functioneel eindigt en nog geen eindmoment heeft.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
2TechnischRealtime verbindingHerverbindingspoging wordt uitgevoerd.
4ReadmodelLive viewmodelWeergave wordt na herstel opnieuw gesynchroniseerd met server-side voortgang.
6UpdateLiveViewAudit.EndedAtUtcEindmoment wordt gevuld wanneer herstel faalt of de livecontext functioneel eindigt.
6Technische loggingReconnectfoutTechnische foutinformatie wordt gelogd zonder leerlingrun, antwoorden of scores te wijzigen.

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 toepassingVerbinding definitief verbrokenAfhandeling via livecomponent/routeguard; geen domeinspecifieke popupregister-popup.

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-008-001SRS-TCH-001
SRS-LIVE-005
AC-TCH-001
AC-LIVE-005
Bij verbindingsverlies tijdens live meekijken een herverbindingsmechanisme gebruiken
REQ-UC-DOC-LIVE-008-002SRS-TCH-001
SRS-LIVE-001
SRS-NFR-PER-001
AC-TCH-001
AC-LIVE-001
AC-NFR-PER-001
Maximaal vijf herverbindingspogingen uitvoeren voordat de liveverbinding als verbroken wordt behandeld
REQ-UC-DOC-LIVE-008-003SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Na succesvolle herverbinding de docentcontext opnieuw server-side valideren
REQ-UC-DOC-LIVE-008-004SRS-AUTH-001
SRS-TCH-001
SRS-LIVE-001
AC-AUTH-001
AC-TCH-001
AC-LIVE-001
Na herverbinding de liveweergave synchroniseren met server-side voortgang
REQ-UC-DOC-LIVE-008-005SRS-LRN-009
SRS-TCH-001
AC-LRN-009
AC-TCH-001
Verbindingsverlies niet gebruiken om de leerlingrun te wijzigen of te beëindigen
REQ-UC-DOC-LIVE-008-006SRS-TCH-001
SRS-LIVE-001
AC-TCH-001
AC-LIVE-001
Bij definitief verbroken verbinding de liveweergave niet langer als actief presenteren
REQ-UC-DOC-LIVE-008-007SRS-TCH-001
SRS-LIVE-003
SRS-NFR-AUD-001
AC-TCH-001
AC-LIVE-003
AC-NFR-AUD-001
LiveViewAudit.EndedAtUtc vullen wanneer de livecontext door verbindingsverlies functioneel eindigt
REQ-UC-DOC-LIVE-008-008SRS-TCH-001
SRS-NFR-AUD-001
SRS-ARCH-004
AC-TCH-001
AC-NFR-AUD-001
AC-ARCH-004
Auditafsluiting idempotent verwerken
REQ-UC-DOC-LIVE-008-009SRS-TCH-001
SRS-LIVE-005
SRS-NFR-AVL-001
AC-TCH-001
AC-LIVE-005
AC-NFR-AVL-001
Technische reconnectfouten loggen zonder interne details onnodig aan de docent te tonen
REQ-UC-DOC-LIVE-008-010SRS-AUTH-001
SRS-TCH-001
SRS-LIVE-005
SRS-NFR-AVL-001
AC-AUTH-001
AC-TCH-001
AC-LIVE-005
AC-NFR-AVL-001
Bij vervallen autorisatie na reconnect de liveweergave blokkeren