UC-DOC-LIVE-001 — Online leerlingenoverzicht bekijken
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
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-DOC-LIVE-001 |
| Naam | Online leerlingenoverzicht bekijken |
| Domein | Docent |
| Subdomein | Online leerlingen en live meekijken |
| Primaire actor | Docent |
| Secundaire actor(en) | Systeem, SignalR-/presencecomponent |
| Rolcontext | Ingelogde gebruiker met actieve rol Docent en geldige docentcontext |
| Betrokken schermen | Docentpagina Online; leerlingselectie binnen online-overzicht |
| Gerelateerde usecases | UC-DOC-LIVE-002; UC-DOC-LIVE-003; UC-DOC-LLN-001; UC-LLN-OEF-004 |
| Primaire entiteiten | Users, UserRoles, Roles, UserRelationships, TeacherStudentLevelAuthorizations, ExerciseRuns |
| Secundaire entiteiten / events | OnlinePresence readmodel, SignalR connection state |
| Gerelateerde popups | Niet van toepassing in de normale overzichtsflow |
| Popupregister | Niet van toepassing |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een docent de pagina Online opent en daar een overzicht krijgt van gekoppelde leerlingen die op dat moment online zijn.
Het overzicht is geen algemeen leerlingregister. Het is een docentcontext-gebonden readmodel dat uitsluitend leerlingen toont waarmee de docent een actieve docent-leerlingrelatie heeft en waarvoor de relevante zichtbaarheid binnen de eigen docentcontext is toegestaan.
Per leerling kan het systeem tonen of de leerling online is, welk actieve niveau relevant is en, indien de leerling daadwerkelijk aan een oefening werkt, welke categorie en oefening actief zijn.
Deze usecase start nog geen live-meekijksessie. De beschikbaarheid van de actie Kijk live mee wordt bepaald in UC-DOC-LIVE-002; de daadwerkelijke start hoort bij UC-DOC-LIVE-003.
3. Scope
Binnen scope
- openen van het online-overzicht voor de docent
- bepalen welke leerlingen binnen de docentcontext zichtbaar mogen zijn
- tonen van online/offline- of actief/niet-actief informatie op basis van presence- en rungegevens
- tonen van actuele oefencontext wanneer een leerling bezig is
- voorbereiden van acties zoals geschiedenis bekijken en live meekijken
- server-side autorisatie toepassen op de dataset
Buiten scope
- aanmaken of beheren van docent-leerlingrelaties
- toekennen of intrekken van niveau-autorisaties
- starten van een live-meekijksessie
- inhoudelijke verwerking van antwoorden van de leerling
- ouder-/voogd-onlineweergave
- beheerderinzage of supportanalyse
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd en heeft een actieve docentrol. |
| PRE-002 | De OefenHub-sessie bevat een server-side bepaalde docentcontext. |
| PRE-003 | Er bestaat minimaal één actieve docent-leerlingrelatie of het overzicht kan leeg worden getoond. |
| PRE-004 | Presence- en/of SignalR-informatie is beschikbaar als actuele technische bron. |
| PRE-005 | ExerciseRuns en voortgangsinformatie zijn server-side beschikbaar voor actuele oefencontext. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De docent ziet een online-overzicht dat server-side is beperkt tot leerlingen binnen de eigen docentcontext. |
| POST-002 | Per zichtbare leerling is de actuele online- en oefencontext getoond voor zover toegestaan en beschikbaar. |
| POST-003 | Er zijn geen domeindata gewijzigd. |
| POST-004 | Er is geen LiveViewAudit-record aangemaakt. |
| POST-005 | Leerlingen buiten de docentcontext zijn niet zichtbaar en beïnvloeden geen aantallen of acties. |
6. Trigger
De docent kiest in de docentnavigatie voor Online of navigeert naar de online-route binnen de docentcontext.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Docent | Navigatie | Opent de pagina Online. | Frontend vraagt het online-overzicht op voor de actuele docentcontext. | Route vereist actieve docentrol. |
| 2 | Systeem | Routeguard | Controleert sessie en rolcontext. | Toegang wordt toegestaan wanneer de gebruiker een actieve docentcontext heeft. | Clientstate is niet leidend. |
| 3 | Systeem | Backend service | Bepaalt de docent als actor. | Gebruikt het interne Users.Id en actieve rolcontext uit de sessie. | Geen user-id uit route of formulier. |
| 4 | Systeem | Backend service | Haalt actieve docent-leerlingrelaties op. | Alleen relaties binnen de docentcontext worden meegenomen. | Generiek relatiedomein is bronhouder. |
| 5 | Systeem | Backend service | Laadt actuele niveau-autorisaties per gekoppelde leerling. | Bepaalt per leerling welke actieve niveaucontext relevant is voor de docent. | Autorisaties blijven bronhoudend elders. |
| 6 | Systeem | Presencecomponent | Leest actuele online/presence-informatie. | Markeert leerlingen als online, recent actief of niet online. | Presence is technische runtime-informatie. |
| 7 | Systeem | ExerciseRun service | Controleert of online leerlingen een actieve oefenrun hebben. | Voegt categorie, oefening en actief niveau toe wanneer een toegestane run loopt. | Alleen niet-afgeronde, niet-testleerlingruns tellen mee. |
| 8 | Systeem | Readmodel | Filtert gegevens op zichtbaarheid. | Leerlingen, niveaus of runs buiten de docentcontext worden uitgesloten. | Server-side autorisatie is verplicht. |
| 9 | Systeem | Frontend | Toont het overzicht. | De docent ziet per leerling compacte status- en oefeninformatie. | Geen mutatie. |
| 10 | Docent | Online-overzicht | Selecteert eventueel één leerling. | Beschikbare acties worden visueel voorbereid. | Live-meekijkenbeschikbaarheid volgt in UC-DOC-LIVE-002. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 2 | Gebruiker heeft geen actieve docentrol. | Routeguard blokkeert de docentroute en leidt terug naar een toegestane context. | Geen popupregister-popup; routeguardafhandeling. | Geen. |
| ALT-002 | 4 | Docent heeft geen actieve gekoppelde leerlingen. | Overzicht wordt leeg getoond met neutrale leegstatus. | Componentmelding, geen popup. | Geen. |
| ALT-003 | 6 | Presencecomponent is tijdelijk niet beschikbaar. | Overzicht blijft bruikbaar, maar live-status kan onbekend zijn. | Componentmelding, geen popup. | Geen. |
| ALT-004 | 7 | Leerling is online maar heeft geen actieve oefenrun. | Leerling blijft zichtbaar; live-meekijken wordt niet beschikbaar. | Geen popup. | Geen. |
| ALT-005 | 8 | Actieve run valt buiten de docentcontext. | Rungegevens worden niet getoond en live-meekijken wordt niet aangeboden. | Geen popup. | Geen. |
| ALT-006 | 9 | Dataset is groot. | Zoeken, sortering of paging mag worden toegepast zonder zichtbaarheid te verruimen. | Geen popup. | Geen. |
9. Business rules
| ID | Regel |
|---|---|
| BR-001 | Een docent mag in het online-overzicht alleen leerlingen zien met een actieve docent-leerlingrelatie binnen de eigen docentcontext. |
| BR-002 | Online/presence-informatie is runtime-informatie en wordt niet als zelfstandig domeinobject aangemaakt. |
| BR-003 | Een leerlingrun mag alleen als actuele oefencontext worden getoond wanneer de docent bevoegd is. |
| BR-004 | Testoefeningen van docenten worden niet als leerlingactiviteit in het online-overzicht getoond. |
| BR-005 | Een lege online-lijst is een geldige uitkomst en geen fouttoestand. |
| BR-006 | Het online-overzicht maakt geen nieuwe relaties, autorisaties, exercise runs, berichten of auditrecords aan. |
| BR-007 | Acties in het overzicht mogen niet worden gebaseerd op client-side gefilterde gegevens zonder server-side hercontrole. |
| BR-008 | Live-meekijken start niet automatisch door het openen van het online-overzicht. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Docentcontext | Moet uit de server-side sessie komen en een actieve docentrol bevatten. |
| Leerlingdataset | Moet zijn opgebouwd uit actieve docent-leerlingrelaties en relevante niveau-autorisaties. |
| Online status | Mag alleen als afgeleide runtime-indicatie worden gebruikt. |
| Actieve oefenrun | Moet niet-afgerond, actueel en binnen de docentcontext zichtbaar zijn. |
| Zoek- of filterinvoer | Mag de geautoriseerde dataset alleen beperken en nooit uitbreiden. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 1-10 | Read | Users / relaties / autorisaties / ExerciseRuns | Alleen lezen ten behoeve van het online readmodel. |
| 6 | Runtime read | OnlinePresence / SignalR state | Geen persistente mutatie. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
| Users | Online-overzicht wijzigt geen accountgegevens. |
| UserRelationships | Relaties worden alleen gelezen. |
| TeacherStudentLevelAuthorizations | Autorisaties worden alleen gelezen. |
| ExerciseRuns | Actieve runs worden alleen uitgelezen. |
| LiveViewAudit | Auditrecord ontstaat pas bij daadwerkelijke live-meekijksessie. |
| SystemMessages | Het openen van het online-overzicht maakt geen systeembericht. |
| PrivateMessages | Het online-overzicht is geen communicatieflow. |
13. State diagram
Niet van toepassing. Deze usecase wijzigt geen statusobject. Online-aanwezigheid is runtime-state en geen persistent statusmodel binnen deze usecase.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
17. Popupverwijzingen
| PopupKey | Moment | Doel |
|---|---|---|
| Niet van toepassing | Normale overzichtsflow | Het online-overzicht gebruikt componentgedrag en routeguardafhandeling, geen popupregister-popup. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft dat de docentpagina Online een docentcontextgebonden overzicht toont van online leerlingen en actuele oefencontext. |
| Technisch Ontwerp | Technisch Ontwerp: live meekijken met SignalR, oefenruns en voortgang en readmodels en livebeschikbaarheid beschrijven de technische uitwerking. Werkt readmodelopbouw uit op basis van docentcontext, relaties, niveau-autorisaties, presence en actieve exercise runs. |
| Software Requirements Specification | Borgt dat de online-dataset server-side beperkt blijft tot leerlingen binnen de eigen docentcontext. |
| Database-informatie | Gebruikt bestaande relatie-, autorisatie-, exercise run- en runtime-presencebronnen; er ontstaat geen nieuw domeinrecord. |
| Ontwerpbronnen | Autorisatiematrix en business rules beschrijven online-overzicht 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-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-DOC-LIVE-001-001 | SRS-ACC-003 SRS-ACC-005 SRS-TCH-001 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-TCH-001 AC-NFR-ACC-001 | De docentroute Online alleen toegankelijk maken voor gebruikers met een actieve docentcontext |
REQ-UC-DOC-LIVE-001-002 | SRS-AUTH-001 SRS-RDM-001 SRS-RDM-005 SRS-LRN-009 SRS-TCH-001 AC-AUTH-001 AC-RDM-001 AC-RDM-005 AC-LRN-009 AC-TCH-001 | Het online-overzicht server-side beperken tot leerlingen binnen de docentcontext |
REQ-UC-DOC-LIVE-001-003 | SRS-LRN-009 SRS-TCH-001 AC-LRN-009 AC-TCH-001 | Per zichtbare leerling actuele online- of aanwezigheidinformatie kunnen tonen wanneer beschikbaar |
REQ-UC-DOC-LIVE-001-004 | SRS-LRN-009 SRS-TCH-001 AC-LRN-009 AC-TCH-001 | Actuele oefencontext alleen tonen wanneer de actieve run binnen de docentcontext zichtbaar is |
REQ-UC-DOC-LIVE-001-005 | SRS-RDM-001 SRS-RDM-006 SRS-TCH-001 SRS-LIVE-003 SRS-NFR-AUD-001 AC-RDM-001 AC-RDM-006 AC-TCH-001 AC-LIVE-003 AC-NFR-AUD-001 | Bij het openen van het online-overzicht geen LiveViewAudit-record aanmaken |
REQ-UC-DOC-LIVE-001-006 | SRS-RDM-001 SRS-TCH-001 AC-RDM-001 AC-TCH-001 | Een lege online-lijst als geldige uitkomst ondersteunen |
REQ-UC-DOC-LIVE-001-007 | SRS-AUTH-001 SRS-RDM-001 SRS-TCH-001 AC-AUTH-001 AC-RDM-001 AC-TCH-001 | Zoek- en filterinvoer alleen gebruiken om de geautoriseerde dataset te beperken |
REQ-UC-DOC-LIVE-001-008 | SRS-TCH-001 SRS-LIVE-001 AC-TCH-001 AC-LIVE-001 | Het starten van live meekijken als afzonderlijke expliciete vervolgactie behandelen |