UC-DOC-LLN-001 - Leerlingenoverzicht bekijken
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-DOC-LLN-001 |
| Naam | Leerlingenoverzicht bekijken |
| Domein | Docent |
| Subdomein | Leerlingen en niveau-autorisaties |
| Primaire actor | Docent |
| Secundaire actor(en) | Systeem |
| Rolcontext | Actieve docentcontext met bestaande docent-leerlingrelatie of toegestane inzage op de eigen docentdataset |
| Betrokken schermen | Docent - Leerlingen |
| Gerelateerde usecases | UC-DOC-FP-003, UC-DOC-LLN-002, UC-DOC-LLN-003, UC-DOC-LLN-004, UC-DOC-RES-001, UC-DOC-LLN-005, UC-DOC-LLN-007 |
| Primaire entiteiten | Users, UserRoles, Roles, UserRelationships, TeacherStudentLevelAccess, TeacherLevels |
| Secundaire entiteiten / events | Leerlingen-readmodel, niveau-autorisatiesamenvatting, docentcontext, paginering, zoekcontext |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Niet van toepassing |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een docent het overzicht van leerlingen opent die binnen de eigen docentcontext relevant zijn. Het overzicht toont compacte regels met functionele acties naar geschiedenis en autorisaties, zonder gegevens van andere docentrelaties zichtbaar te maken.
Deze usecase maakt expliciet onderscheid tussen de docentcontext als zichtbare werkcontext en het onderliggende generieke relatiedomein. De docent mag in deze flow alleen gegevens zien die voortkomen uit de eigen actieve relatie- en niveauautorisatiecontext. Informatie over andere docenten, andere docentrelaties of niet-relevante accountgegevens blijft buiten beeld.
De usecase is onderdeel van het docentdomein, maar dupliceert geen generieke relatie-, profiel-, account- of berichtprocessen. Waar vervolgacties nodig zijn, verwijst de usecase naar de bronhoudende usecases in het betreffende domein.
3. Scope
3.1 Binnen scope
- Openen van het leerlingenoverzicht binnen docentcontext.
- Server-side bepalen welke leerlingen via actieve docent-leerlingrelaties zichtbaar zijn.
- Tonen van compacte leerlingregels met naam, autorisatietags en acties.
- Tonen van samenvattende aantallen zoals gekoppelde leerlingen en leerlingen met actieve niveaus.
- Verbergen van gegevens over andere docenten en andere docentrelaties.
- Beschikbaar maken van doorklikacties naar geschiedenis en autorisaties.
- Toepassen van paginering als primaire techniek bij grotere aantallen leerlingen.
3.2 Buiten scope
- Nieuwe docent-leerlingrelaties uitnodigen of accepteren.
- Niveau-autorisaties wijzigen.
- Resultaten of geschiedenis inhoudelijk bekijken.
- Live meekijken of online-status volgen.
- Profielgegevens van de leerling wijzigen.
- Beheerderondersteuning of accountbeheer.
3.3 DRY-afbakening
- De docent ziet uitsluitend leerlingen binnen de eigen docentcontext.
- Een actieve docent-leerlingrelatie is de basis voor zichtbaarheid in dit subdomein.
- Niveau-autorisaties worden vastgelegd via
TeacherStudentLevelAccessen blijven gescheiden van de relatietabel. - Een collaborator op een niveau krijgt hierdoor geen toegang tot leerlingen, resultaten, geschiedenis of live meekijken.
- Zoeken, filteren, paginering en tellingen zijn afgeleide readmodelwaarden en veroorzaken geen datamutaties.
- Gegevens over andere docentrelaties van dezelfde leerling worden niet zichtbaar gemaakt aan de docent.
- Account-, profiel-, relatie- en systeemnotificatieflows blijven bronhoudend in hun eigen domeinen.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd. |
| PRE-002 | De gebruiker heeft een actieve docentrol. |
| PRE-003 | De OefenHub-sessiecontext is server-side opgebouwd. |
| PRE-004 | De docentcontext is beschikbaar en geldig. |
| PRE-005 | De betrokken leerlinggegevens worden uitsluitend via geautoriseerde backendqueries opgehaald. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De gevraagde docentcontextweergave is getoond of veilig geblokkeerd. |
| POST-002 | Er zijn geen datamutaties uitgevoerd binnen deze inzageflow. |
| POST-003 | De docent heeft geen gegevens buiten de eigen docentcontext gezien. |
| POST-004 | Vervolgacties worden alleen als route of actie aangeboden en voeren nog geen wijziging uit. |
6. Trigger
De docent kiest in de docentnavigatie voor Leerlingen.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Docent | Navigatie | Opent Leerlingen | Start laden van leerlingenpagina | Actieve docentcontext |
| 2 | Frontend | Routeguard | Vraagt docentcontext op | Stuurt verzoek naar backend | Gebruiker moet docentrol hebben |
| 3 | Systeem | Autorisatieservice | Controleert actieve docentrol | Blokkeert bij ontbrekende rol | UserRoles, Roles |
| 4 | Systeem | Relatieservice | Haalt actieve docent-leerlingrelaties op | Bepaalt toegestane leerlingen | UserRelationships.IsActive = true |
| 5 | Systeem | Autorisatiereadmodel | Berekent autorisatiesamenvatting per leerling | Geeft tags terug | TeacherStudentLevelAccess |
| 6 | Systeem | Querylaag | Past standaard sortering en paginering toe | Geeft eerste pagina terug | Minimaal 10 leerlingen netjes ondersteunen |
| 7 | Frontend | Leerlingenoverzicht | Rendert compacte leerlingregels | Toont naam, tags en acties | Geen andere docentrelaties zichtbaar |
| 8 | Docent | Leerlingenoverzicht | Bekijkt de lijst | Geen datamutatie | Read-only |
| 9 | Frontend | Acties | Toont Geschiedenis en Autorisaties per leerling | Doorklikacties zijn beschikbaar | Server-side hercontrole bij openen |
| 10 | Systeem | Samenvatting | Toont aantallen bovenaan | Aantallen zijn afgeleid | Geen aparte tellerbron |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 3 | Gebruiker heeft geen actieve docentrol | Toegang tot het leerlingenoverzicht wordt geblokkeerd. | Niet van toepassing | Geen |
| ALT-002 | 4 | Er zijn geen actieve docent-leerlingrelaties | Systeem toont een lege staat zonder fout. | Niet van toepassing | Geen |
| ALT-003 | 5 | Leerling heeft nog geen actieve niveau-autorisatie bij deze docent | Leerling kan als gekoppeld zichtbaar zijn met tag Te autoriseren. | Niet van toepassing | Geen |
| ALT-004 | 6 | Aantal leerlingen is groter dan paginaformaat | Systeem toont paginering. | Niet van toepassing | Geen |
| ALT-005 | 7 | Leerling heeft ook relaties met andere docenten | Deze relaties worden niet getoond of geteld in docentdetailinformatie. | Niet van toepassing | Geen |
| ALT-006 | 9 | Docent opent via oude clientstate een leerling buiten context | Backend blokkeert bij vervolgactie opnieuw. | Niet van toepassing | Geen |
9. Business rules
| ID | Regel |
|---|---|
| BR-001 | Het leerlingenoverzicht is altijd docentcontextgebonden. |
| BR-002 | Alleen actieve docent-leerlingrelaties leveren zichtbare leerlingen op. |
| BR-003 | Nog niet geaccepteerde uitnodigingen zijn domeinhistorie, maar worden niet als actieve leerlingregel gepresenteerd. |
| BR-004 | Autorisatietags worden afgeleid uit TeacherStudentLevelAccess binnen de huidige docentcontext. |
| BR-005 | Andere docentrelaties van dezelfde leerling zijn niet zichtbaar. |
| BR-006 | De acties Geschiedenis en Autorisaties zijn doorklikacties en voeren in deze usecase geen mutatie uit. |
| BR-007 | Paginering, zoeken en filters zijn readmodelgedrag en geen afzonderlijke opslagbron. |
| BR-008 | Samenvattingsaantallen boven het overzicht moeten exact gedefinieerd zijn en mogen geen verborgen andere docentcontexten meetellen. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Docentrol | Moet actief zijn op het moment van openen. |
| Docentcontext | Wordt server-side bepaald uit sessie, rollen en relaties. |
| Leerlingdataset | Bevat uitsluitend leerlingen met actieve docent-leerlingrelatie met de huidige docent. |
| Autorisatietags | Worden afgeleid uit actieve TeacherStudentLevelAccess-records van deze docent. |
| Paginering | Moet geldig paginaformaat en geldige paginanummers gebruiken. |
| Routeparameters | Mogen geen zichtbaarheid afdwingen zonder server-side autorisatie. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| - | - | Niet van toepassing | Deze usecase is read-only en voert geen datamutaties uit. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
| Users | Het bekijken van leerlingen wijzigt geen accountgegevens. |
| UserRelationships | Relaties worden alleen gelezen. |
| TeacherStudentLevelAccess | Autorisaties worden alleen samengevat. |
| SystemMessages | Systeemberichten worden alleen aangemaakt in expliciete communicatieflows. |
| PrivateMessages | Deze docent-inzageflow start geen privébericht. |
| LiveViewAudit | Live meekijken wordt niet gestart in deze usecase. |
13. State diagram
Deze usecase wijzigt geen persistent statusobject. De zichtbaarheid en de getoonde gegevens worden afgeleid uit actieve rollen, actieve docent-leerlingrelaties, niveaucontext en eventuele niveau-autorisaties. Er is daarom geen state diagram van een persistent object opgenomen.
14. Decision flow
15. Data lifecycle diagram
Deze usecase maakt geen nieuwe lifecycleobjecten aan. De gebruikte data bestaat al vóór het openen van de pagina en blijft na sluiten ongewijzigd bestaan.
16. Sequence diagrammen
16.1 Leerlingenoverzicht laden
16.2 Route geblokkeerd
17. Popupverwijzingen
| PopupKey | Moment | Doel |
|---|---|---|
| Niet van toepassing | Gehele usecase | Deze flow gebruikt geen domeinspecifieke popupregister-popup. Routeguard-, validatie-, lege-staat- en niet-beschikbaarafhandeling verlopen via componentmelding of bestaande generieke foutafhandeling. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft de docent-leerlingenpagina als contextgebonden overzicht waarin alleen leerlingen en leerlinginformatie binnen de eigen docentcontext zichtbaar zijn. |
| Functioneel Ontwerp | Beschrijft dat zoeken, filteren, detailweergave en autorisatie-inzage geen gegevens van andere docenten tonen. |
| Technisch Ontwerp | Technisch Ontwerp: autorisatie en contextcontrole, technische rolflows, relatiebeheer en readmodels en tellers beschrijven de technische uitwerking. Beschrijft server-side filtering op actieve docent-leerlingrelatie, actieve docentrol en TeacherStudentLevelAccess uit. |
| Technisch Ontwerp | Technisch Ontwerp: autorisatie en contextcontrole, technische rolflows, relatiebeheer en readmodels en tellers beschrijven de technische uitwerking. Beschrijft dat routeparameters en clientstate nooit leidend zijn voor zichtbaarheid. |
| Software Requirements Specification | Beschrijft requirements voor contextbeperkte inzage, read-only gedrag, paginering en privacygrenzen. |
| Database-informatie | Geen nieuwe tabel nodig; gebruik bestaande Users, UserRelationships, TeacherLevels en TeacherStudentLevelAccess. |
| Ontwerpbronnen | Beschrijven business rules, autorisatiematrix, domeinobjecten en usecase-matrices bij. |
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-LLN-001-001 | 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 leerlingenoverzicht server-side beperken tot leerlingen binnen de actieve docentcontext |
REQ-UC-DOC-LLN-001-002 | SRS-AUTH-001 SRS-LRN-009 SRS-TCH-001 AC-AUTH-001 AC-LRN-009 AC-TCH-001 | Leerlingen compact tonen met relevante autorisatietags en doorklikacties |
REQ-UC-DOC-LLN-001-003 | SRS-REL-001 SRS-LRN-009 SRS-TCH-001 AC-REL-001 AC-LRN-009 AC-TCH-001 | Geen informatie over andere docentrelaties van dezelfde leerling tonen |
REQ-UC-DOC-LLN-001-004 | SRS-RDM-001 SRS-RDM-002 SRS-RDM-005 SRS-LRN-009 SRS-TCH-001 SRS-NFR-PER-001 AC-RDM-001 AC-RDM-002 AC-RDM-005 AC-LRN-009 AC-TCH-001 AC-NFR-PER-001 | Paginering ondersteunen voor grotere aantallen leerlingen |
REQ-UC-DOC-LLN-001-005 | SRS-AUTH-001 SRS-RDM-001 SRS-RDM-002 SRS-RDM-005 SRS-TCH-001 AC-AUTH-001 AC-RDM-001 AC-RDM-002 AC-RDM-005 AC-TCH-001 | Samenvattingsaantallen afleiden uit de geautoriseerde docentdataset |
REQ-UC-DOC-LLN-001-006 | SRS-RDM-001 SRS-TCH-001 AC-RDM-001 AC-TCH-001 | Bij bekijken van het overzicht geen domeindata wijzigen |