UC-BEH-DOCSUP-002 — Docentondersteuning openen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-BEH-DOCSUP-002 |
| Naam | Docentondersteuning openen |
| Domein | Beheerder / Docentondersteuning |
| Primaire actor | Beheerder |
| Secundaire actor(en) | Frontend, backend, database, autorisatiecomponent, docentondersteuningcomponent, historiecomponent |
| Rolcontext | Actieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Content > Docent ondersteuning |
| Gerelateerde usecases | UC-BEH-DOCSUP-001, UC-BEH-DOCSUP-003, UC-BEH-DOCSUP-004, UC-BEH-DOCSUP-005, UC-BEH-DOCSUP-006, UC-BEH-DOCSUP-007, UC-BEH-DOCSUP-008, UC-BEH-DOCSUP-009, UC-BEH-DOCSUP-010, UC-BEH-DOCSUP-011, UC-BEH-DOCSUP-012, UC-BEH-DOCSUP-013, UC-BEH-DOCSUP-014 |
| Primaire entiteiten | Users, UserRoles, Roles, TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, ExerciseModules, ExerciseHistory, LevelCollaborators, LevelStudentAuthorizations, UserRelationships |
| Secundaire entiteiten / events | RelationshipEvents, SystemMessages, beheerlog, docentondersteuning-readmodels, autorisatiecomponent |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een beheerder na selectie van één docent de detail- en ondersteuningsweergave opent. De pagina werkt vanaf dat moment vanuit precies één docentcontext.
Binnen de ondersteuningsweergave zijn minimaal de tabs Intro / uitleg, Structuur, Leerlingtoegang, Collaborators, Eigenaar en Geschiedenis aanwezig. De titel en samenvatting zijn gebaseerd op de geselecteerde docent en zijn of haar actuele supportcontext.
De usecase is de overgang van overzicht naar supportdetail. De beheerder voert nog geen inhoudelijke mutatie uit; mutaties vinden pas plaats in de onderliggende tabs.
Uitgangspunten
- Docentondersteuning werkt altijd vanuit één gekozen docentcontext.
- De beheerder heeft supportgerichte inzage, maar mutaties blijven beperkt tot expliciete beheeracties met audit.
- Centrale categorie- en module-identiteit worden niet vanuit deze pagina beheerd.
- Server-side autorisatie is leidend; clientstate mag geen objecttoegang afdwingen.
- Historische runs, resultaten en PDF-contexten worden niet herschreven.
3. Scope
Deze usecase beschrijft:
- Openen van de ondersteuningsweergave voor precies één docent.
- Laden van de tabs Intro / uitleg, Structuur, Leerlingtoegang, Collaborators, Eigenaar en Geschiedenis.
- Tonen van een contextsamenvatting met actieve niveaus, categorieën, concrete oefeningen, collaborators en leerlingen met toegang.
- Blokkeren van ondersteuning wanneer de docentcontext niet geldig is.
- Vastleggen dat alleen lezen nog geen beheerhistory oplevert.
Deze usecase beschrijft niet:
- Centraal categoriebeheer; dat blijft bronhoudend in Beheerder / Categorieën beheren.
- Centraal technisch modulebeheer; dat blijft bronhoudend in Beheerder / Modules beheren.
- Volledig account- en rolbeheer; dat blijft bronhoudend in Beheerder / Accountbeheer.
- Reguliere docentflows vervangen; docentondersteuning is supportgericht en niet de primaire docentinterface.
- Live meekijken tijdens actieve oefeningen; beheerders mogen geschiedenis analyseren, maar niet live meekijken.
- Popupteksten, knopteksten of inputlabels specificeren; usecases verwijzen uitsluitend naar PopupKey.
3.1 Afbakening met aangrenzende domeinen
| Onderdeel | Afbakening |
|---|---|
| Docent / Oefenaanbod | Docenten beheren hun eigen niveaus, categorieën en oefeningen via de reguliere docentflows; docentondersteuning biedt beheerderinzage en gerichte correctie. |
| Beheerder / Categorieën beheren | Centrale categorie-identiteit, migratie en statuswijziging worden daar beheerd, niet in docentondersteuning. |
| Beheerder / Modules beheren | Technische modulemetadata en modulemigraties worden daar beheerd; docentondersteuning kan alleen concrete oefeningcontext inspecteren. |
| Beheerder / Accountbeheer | Rollen, accountstatus en account lifecycle horen daar; docentondersteuning gebruikt bestaande account- en relatiecontext. |
| Generiek / Relaties | Relaties en uitnodigingen blijven bronhoudend in het relatiedomein; docentondersteuning kan alleen bestaande geldige context gebruiken of een expliciete beheeractie auditen. |
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd in OefenHub. |
| PRE-002 | De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft. |
| PRE-003 | De beheerder bevindt zich binnen de beheeromgeving via Content > Docent ondersteuning. |
| PRE-004 | De pagina gebruikt actuele serverdata; clientstate, routeparameters of verborgen formuliervelden bepalen geen autorisatie, docentcontext, niveaucontext of oefeningcontext. |
| PRE-005 | Een docent is in UC-BEH-DOCSUP-001 geselecteerd. |
| PRE-006 | De geselecteerde docent heeft een geldige Users-identiteit of toegestane geanonimiseerde historische context. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De ondersteuningsweergave voor één docent is geopend. |
| POST-002 | De beheerder ziet de beschikbare ondersteuningstabs. |
| POST-003 | De actuele docentcontext is server-side gevalideerd. |
| POST-004 | Geen niveau-, categorie-, oefening-, relatie- of autorisatiedata is gewijzigd. |
| POST-005 | Onderliggende acties gebruiken dezelfde gevalideerde docentcontext. |
6. Trigger
De usecase start wanneer de beheerder in het docentenoverzicht precies één docent selecteert en Ondersteun docent kiest.
7. Normale processtroom
| Stap | Actor | Component / context | Handeling | Resultaat | Belangrijke gegevens |
|---|---|---|---|---|---|
| 1 | Beheerder | Docentenoverzicht | Kiest Ondersteun docent. | De frontend opent de supportdetailroute. | Geselecteerde UserId. |
| 2 | Backend | Autorisatiecomponent | Controleert beheerderrol. | Alleen beheerder mag de detailweergave openen. | Server-side context. |
| 3 | Backend | DocentContextService | Laadt geselecteerde docentcontext. | De docent wordt server-side herleid. | Users, UserRoles. |
| 4 | Backend | Readmodel | Berekent samenvatting. | Aantallen voor Intro / uitleg worden opgebouwd. | TeacherLevels, Exercises, collaborators, autorisaties. |
| 5 | Frontend | Supportdetail | Toont tabs. | De beheerder kan naar Structuur, Leerlingtoegang, Collaborators, Eigenaar en Geschiedenis. | Read-only starttoestand. |
| 6 | Backend | Routeguard | Bewaart geen autoriserende clientstate. | Onderliggende acties blijven server-side controleren. | Geen sessiebrede objectclaim. |
8. Alternatieve en exceptionele processtromen
| Stap | Situatie | Afhandeling | PopupKey | Datamutatie |
|---|---|---|---|---|
| 2 | Beheerdercontext is ongeldig. | De backend weigert de actie en toont een veilige blokkade. | POP-BEH-DOCSUP-NO-ACCESS | Geen. |
| 3 | De geselecteerde docent bestaat niet of is niet toegankelijk. | De ondersteuningsweergave wordt niet geopend of wordt veilig teruggezet naar het overzicht. | POP-BEH-DOCSUP-SAVE-ERROR | Geen. |
| 4 | Het gekozen object bestaat niet meer. | De pagina toont dat het object niet beschikbaar is en ververst de context. | Niet van toepassing | Geen. |
| 5 | De readmodeldata is tijdelijk incompleet. | De beschikbare gegevens worden getoond met veilige ontbrekend-status; ontbrekend wordt niet als nul geïnterpreteerd. | Niet van toepassing | Geen. |
| 6 | De beheerder gebruikt een oude route of clientstate. | De backend negeert de clientcontext en herleidt de actuele context opnieuw. | Niet van toepassing | Geen. |
9. Business rules
| ID | Business rule |
|---|---|
| BR-UC-BEH-DOCSUP-002-001 | Docentondersteuning mag pas openen na selectie van precies één docent. |
| BR-UC-BEH-DOCSUP-002-002 | De detailweergave werkt vanuit één actuele server-side docentcontext. |
| BR-UC-BEH-DOCSUP-002-003 | De tabs zijn vaste functionele onderdelen en geen vrij configureerbare pagebuilder. |
| BR-UC-BEH-DOCSUP-002-004 | Openen van de detailweergave maakt geen relatie, autorisatie of historyrecord aan. |
| BR-UC-BEH-DOCSUP-002-005 | Een inactieve of geanonimiseerde docentcontext wordt alleen getoond binnen privacy- en auditgrenzen. |
| BR-UC-BEH-DOCSUP-002-006 | Onderliggende tabacties mogen de geselecteerde docentcontext niet vanuit clientstate vertrouwen. |
10. Datavalidatie
| ID | Validatie |
|---|---|
| VAL-UC-BEH-DOCSUP-002-001 | De geselecteerde UserId is verplicht. |
| VAL-UC-BEH-DOCSUP-002-002 | De UserId moet server-side herleidbaar zijn tot een docentcontext of relevante docenthistorie. |
| VAL-UC-BEH-DOCSUP-002-003 | De beheerderrol moet opnieuw worden gevalideerd bij openen. |
| VAL-UC-BEH-DOCSUP-002-004 | Aantallen in Intro / uitleg worden server-side berekend. |
| VAL-UC-BEH-DOCSUP-002-005 | Tabs worden alleen getoond wanneer de beheerder de docentcontext mag raadplegen. |
| VAL-UC-BEH-DOCSUP-002-006 | Routeparameters mogen geen docentcontext afdwingen zonder backendvalidatie. |
11. Datamutaties en events
| Object / event | Mutatie |
|---|---|
| Geen functionele mutatie | Deze usecase raadpleegt of navigeert zonder inhoudelijke domeinwijziging. |
| Geen event | Er wordt geen historyrecord geschreven voor alleen raadplegen. |
12. Geen datamutaties
| Object | Waarom geen mutatie |
|---|---|
| Users | Alleen gelezen voor actor- en docentcontext. |
| TeacherLevels | Alleen gelezen tenzij deze usecase expliciet anders beschrijft. |
| TeacherLevelCategories | Alleen gelezen tenzij deze usecase expliciet anders beschrijft. |
| TeacherLevelCategoryExercises | Alleen gelezen tenzij deze usecase expliciet anders beschrijft. |
| Exercises | Alleen gelezen tenzij deze usecase expliciet anders beschrijft. |
| ExerciseRuns | Historische runs worden nooit herschreven. |
13. State diagram
Niet van toepassing.
Deze usecase wijzigt geen persistent statusobject. De getoonde selectie-, detail-, zoek- of navigatietoestand is uitsluitend tijdelijke UI-state binnen de beheerderweergave en wordt niet als domeinstatus opgeslagen.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
17. Popupverwijzingen
| PopupKey | Gebruik |
|---|---|
| Niet van toepassing | Deze usecase gebruikt geen popupregister-popup. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Onderdeel | Afleiding |
|---|---|
| Functioneel Ontwerp | FO beschrijft een tweestapsflow: eerst docent selecteren, daarna de detail- en ondersteuningsweergave openen. |
| Technisch Ontwerp | Technisch Ontwerp: technische rolflows, oefencatalogus, relatiebeheer en logging en historie beschrijven de technische uitwerking. TO vereist een DocentContextService of gelijkwaardig server-side mechanisme voor contextopbouw. |
| Software Requirements Specification | SRS moet de vaste tabs en de samenvattingswaarden in de ondersteuningsweergave specificeren. |
| Database | Leest Users, UserRoles en docentstructuur-readmodels; schrijft niets. |
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-BEH-DOCSUP-002-001 | SRS-TCH-001 SRS-ADM-001 AC-TCH-001 AC-ADM-001 | De ondersteuningsweergave alleen openen na selectie van precies één docent |
REQ-UC-BEH-DOCSUP-002-002 | SRS-AUTH-001 SRS-TCH-001 SRS-ADM-001 AC-AUTH-001 AC-TCH-001 AC-ADM-001 | De docentcontext server-side bepalen |
REQ-UC-BEH-DOCSUP-002-003 | SRS-AUTH-001 SRS-LRN-010 SRS-TCH-004 SRS-ADM-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-LRN-010 AC-TCH-004 AC-ADM-001 AC-NFR-AUD-001 | Vaste tabs tonen voor Intro / uitleg, Structuur, Leerlingtoegang, Collaborators, Eigenaar en Geschiedenis |
REQ-UC-BEH-DOCSUP-002-004 | SRS-AUTH-001 SRS-RDM-001 SRS-RDM-002 SRS-RDM-005 SRS-CAT-001 SRS-LRN-009 AC-AUTH-001 AC-RDM-001 AC-RDM-002 AC-RDM-005 AC-CAT-001 AC-LRN-009 | Een contextsamenvatting tonen met actieve niveaus, categorieën, oefeningen, collaborators en leerlingen met toegang |
REQ-UC-BEH-DOCSUP-002-005 | SRS-ADM-001 AC-ADM-001 | Bij openen van de ondersteuningsweergave geen domeinmutaties uitvoeren |
REQ-UC-BEH-DOCSUP-002-006 | SRS-AUTH-001 SRS-ADM-001 AC-AUTH-001 AC-ADM-001 | Onderliggende acties opnieuw tegen de server-side context valideren |
REQ-UC-BEH-DOCSUP-002-007 | SRS-AUTH-001 SRS-TCH-001 SRS-ADM-001 SRS-NFR-SEC-001 AC-AUTH-001 AC-TCH-001 AC-ADM-001 AC-NFR-SEC-001 | Ongeldige of verlopen docentcontexten veilig blokkeren |