Skip to main content

UC-BEH-DOCSUP-009 — Leerling van niveau ontkoppelen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-DOCSUP-009
NaamLeerling van niveau ontkoppelen
DomeinBeheerder / Docentondersteuning
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, docentondersteuningcomponent, historiecomponent
RolcontextActieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenContent > Docent ondersteuning
Gerelateerde usecasesUC-BEH-DOCSUP-001, UC-BEH-DOCSUP-002, 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-010, UC-BEH-DOCSUP-011, UC-BEH-DOCSUP-012, UC-BEH-DOCSUP-013, UC-BEH-DOCSUP-014
Primaire entiteitenUsers, UserRoles, Roles, TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, ExerciseModules, ExerciseHistory, LevelCollaborators, LevelStudentAuthorizations, UserRelationships
Secundaire entiteiten / eventsRelationshipEvents, SystemMessages, beheerlog, docentondersteuning-readmodels, autorisatiecomponent
Gerelateerde popupsPOP-BEH-DOCSUP-REMOVE-STUDENT-CONFIRM
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een beheerder vanuit docentondersteuning een leerling van een niveau ontkoppelt.

De actie is supportgericht, vindt plaats binnen één geselecteerde docentcontext en vereist server-side validatie van het niveau, de leerling en de bestaande niveauautorisatie.

De wijziging wordt auditbaar vastgelegd. De actie wijzigt geen historische runs, resultaten of centrale categorie- en module-identiteit.

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:

  • Uitvoeren van de beheeractie: Leerling van niveau ontkoppelen.
  • Controleren van beheerderrol, docentcontext en objectcontext.
  • Tonen van een bevestiging via PopupKey.
  • Verwerken van de domeinmutatie wanneer alle validaties slagen.
  • Auditbaar vastleggen van actor, tijdstip, reden en betrokken objecten.

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

OnderdeelAfbakening
Docent / OefenaanbodDocenten beheren hun eigen niveaus, categorieën en oefeningen via de reguliere docentflows; docentondersteuning biedt beheerderinzage en gerichte correctie.
Beheerder / Categorieën beherenCentrale categorie-identiteit, migratie en statuswijziging worden daar beheerd, niet in docentondersteuning.
Beheerder / Modules beherenTechnische modulemetadata en modulemigraties worden daar beheerd; docentondersteuning kan alleen concrete oefeningcontext inspecteren.
Beheerder / AccountbeheerRollen, accountstatus en account lifecycle horen daar; docentondersteuning gebruikt bestaande account- en relatiecontext.
Generiek / RelatiesRelaties en uitnodigingen blijven bronhoudend in het relatiedomein; docentondersteuning kan alleen bestaande geldige context gebruiken of een expliciete beheeractie auditen.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd in OefenHub.
PRE-002De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft.
PRE-003De beheerder bevindt zich binnen de beheeromgeving via Content > Docent ondersteuning.
PRE-004De pagina gebruikt actuele serverdata; clientstate, routeparameters of verborgen formuliervelden bepalen geen autorisatie, docentcontext, niveaucontext of oefeningcontext.
PRE-005De ondersteuningsweergave voor één docent is geopend.
PRE-006Er is één relevant niveau of object binnen de docentcontext geselecteerd.
PRE-007De beheerder heeft de actie expliciet gekozen.

5. Post-condities

IDResultaat
POST-001De actie Leerling van niveau ontkoppelen is verwerkt wanneer alle validaties slagen.
POST-002De wijziging is auditbaar vastgelegd.
POST-003Historische resultaten en runs blijven ongewijzigd.
POST-004Afgeleide overzichten en aantallen kunnen opnieuw worden opgebouwd.
POST-005Onbevoegde of ongeldige contexten zijn veilig geblokkeerd.

6. Trigger

De usecase start wanneer de beheerder de actie Leerling van niveau ontkoppelen kiest en bevestigt.

7. Normale processtroom

StapActorComponent / contextHandelingResultaatBelangrijke gegevens
1BeheerderDocentondersteuningKiest de beheeractie.De frontend opent de bevestiging.Geselecteerde context.
2BackendAutorisatiecomponentControleert beheerdercontext.Alleen beheerder mag de actie uitvoeren.Server-side rolcontext.
3BackendDocentContextServiceValideert docent- en niveaucontext.Objecten buiten context worden geweigerd.TeacherLevels en contextrecords.
4BackendDomeinserviceControleert object-specifieke voorwaarden.Alle business rules worden opnieuw server-side toegepast.Relaties, autorisaties, collaborators of eigenaar.
5BeheerderPopupBevestigt actie en vult reden in wanneer vereist.De definitieve verwerking start.POP-BEH-DOCSUP-REMOVE-STUDENT-CONFIRM
6BackendDomeinserviceVoert de mutatie transactioneel uit.De domeinstatus wordt aangepast.LevelStudentAuthorizations
7BackendAuditServiceLegt de actie vast.De wijziging is herleidbaar.Beheerlog / history.
8FrontendDocentondersteuningVervers de context.De beheerder ziet de actuele situatie.Readmodel opnieuw geladen.

8. Alternatieve en exceptionele processtromen

StapSituatieAfhandelingPopupKeyDatamutatie
2Beheerdercontext is ongeldig.De backend weigert de actie en toont een veilige blokkade.POP-BEH-DOCSUP-NO-ACCESSGeen.
3De geselecteerde docent bestaat niet of is niet toegankelijk.De ondersteuningsweergave wordt niet geopend of wordt veilig teruggezet naar het overzicht.POP-BEH-DOCSUP-SAVE-ERRORGeen.
4Het gekozen object bestaat niet meer.De pagina toont dat het object niet beschikbaar is en ververst de context.Niet van toepassingGeen.
5De readmodeldata is tijdelijk incompleet.De beschikbare gegevens worden getoond met veilige ontbrekend-status; ontbrekend wordt niet als nul geïnterpreteerd.Niet van toepassingGeen.
6De beheerder gebruikt een oude route of clientstate.De backend negeert de clientcontext en herleidt de actuele context opnieuw.Niet van toepassingGeen.

9. Business rules

IDBusiness rule
BR-UC-BEH-DOCSUP-009-001De actie is alleen toegestaan binnen een geldige server-side docentcontext.
BR-UC-BEH-DOCSUP-009-002De beheerder moet de actie expliciet bevestigen.
BR-UC-BEH-DOCSUP-009-003Een verplichte reden mag niet leeg zijn.
BR-UC-BEH-DOCSUP-009-004Dubbele of conflicterende actieve records zijn niet toegestaan.
BR-UC-BEH-DOCSUP-009-005Historische runs, resultaten en PDF-contexten worden niet herschreven.
BR-UC-BEH-DOCSUP-009-006Centrale categorie- en module-identiteit blijven buiten scope.
BR-UC-BEH-DOCSUP-009-007De wijziging moet auditbaar zijn.

10. Datavalidatie

IDValidatie
VAL-UC-BEH-DOCSUP-009-001De beheerderrol wordt vlak vóór mutatie gecontroleerd.
VAL-UC-BEH-DOCSUP-009-002De geselecteerde objecten moeten bestaan en binnen de docentcontext vallen.
VAL-UC-BEH-DOCSUP-009-003Object-specifieke voorwaarden worden server-side gevalideerd.
VAL-UC-BEH-DOCSUP-009-004De reden is verplicht wanneer de popup of actie dit vereist.
VAL-UC-BEH-DOCSUP-009-005De mutatie moet transactioneel worden verwerkt.
VAL-UC-BEH-DOCSUP-009-006Gelijktijdige wijzigingen moeten vóór opslaan opnieuw worden gevalideerd.
VAL-UC-BEH-DOCSUP-009-007De client mag geen verborgen velden als bron van waarheid gebruiken.

11. Datamutaties en events

Object / eventMutatie
LevelStudentAuthorizationsDe actieve autorisatie wordt administratief ingetrokken of gedeactiveerd.
Beheerlog / historyVastleggen van beheerder, tijdstip, betrokken objecten en reden.
SystemMessagesInformatief bericht aan de leerling wanneer de leerling een actief intern account heeft; het bericht is geen autorisatiebron.

12. Geen datamutaties

ObjectWaarom geen mutatie
UserRelationshipsDe docent-leerlingrelatie wordt niet beëindigd; alleen niveauautorisatie wordt ingetrokken.
TeacherLevelsNiveaugegevens, eigenaar en zichtbaarheid blijven ongewijzigd.
ExercisesOefeningen en configuratie blijven ongewijzigd.
ExerciseRunsHistorische runs, resultaten, gedeelde oefeningen en PDF-contexten blijven behouden.
User credentialsWachtwoorden, tokens en identity-providergegevens blijven buiten scope.

13. State diagram

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruik
POP-BEH-DOCSUP-REMOVE-STUDENT-CONFIRMBevestiging voor de actie Leerling van niveau ontkoppelen.
POP-BEH-DOCSUP-SAVE-ERRORFoutafhandeling wanneer de beheeractie niet kan worden opgeslagen.

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

OnderdeelAfleiding
Functioneel OntwerpFO moet Leerling van niveau ontkoppelen beschrijven als expliciete supportactie binnen docentondersteuning.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, oefencatalogus, relatiebeheer en logging en historie beschrijven de technische uitwerking. TO vereist transactionele verwerking, server-side contextvalidatie, auditregistratie en systeemberichtcommunicatie wanneer de leerling een actief intern account heeft.
Software Requirements SpecificationSRS moet voorwaarden, bevestiging, redenplicht en uitsluitingen voor Leerling van niveau ontkoppelen vastleggen.
DatabaseWijzigt LevelStudentAuthorizations en auditrecords; historische runs blijven ongewijzigd.

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-BEH-DOCSUP-009-001SRS-REL-003
SRS-REL-006
SRS-CAT-001
SRS-LRN-009
SRS-TCH-003
SRS-ADM-008
AC-REL-003
AC-REL-006
AC-CAT-001
AC-LRN-009
AC-TCH-003
AC-ADM-008
Een beheerder de actie Leerling van niveau ontkoppelen kunnen laten uitvoeren binnen docentondersteuning
REQ-UC-BEH-DOCSUP-009-002SRS-AUTH-001
SRS-TCH-001
SRS-ADM-001
AC-AUTH-001
AC-TCH-001
AC-ADM-001
De docentcontext server-side valideren
REQ-UC-BEH-DOCSUP-009-003SRS-AUTH-001
SRS-ADM-002
SRS-ADM-001
AC-AUTH-001
AC-ADM-002
AC-ADM-001
Object-specifieke voorwaarden opnieuw server-side controleren
REQ-UC-BEH-DOCSUP-009-004SRS-ADM-001
SRS-POP-001
AC-ADM-001
AC-POP-001
Een bevestiging via PopupKey gebruiken
REQ-UC-BEH-DOCSUP-009-005SRS-ADM-001
SRS-NFR-AUD-001
AC-ADM-001
AC-NFR-AUD-001
De wijziging auditbaar vastleggen
REQ-UC-BEH-DOCSUP-009-006SRS-REL-001
SRS-LRN-009
SRS-TCH-001
SRS-ADM-001
AC-REL-001
AC-LRN-009
AC-TCH-001
AC-ADM-001
De onderliggende docent-leerlingrelatie ongemoeid laten
REQ-UC-BEH-DOCSUP-009-007SRS-LRN-009
SRS-ADM-001
SRS-CNT-001
AC-LRN-009
AC-ADM-001
AC-CNT-001
Historische runs, resultaten en centrale contentidentiteit niet herschrijven
REQ-UC-BEH-DOCSUP-009-008SRS-ADM-001
SRS-NFR-SEC-001
AC-ADM-001
AC-NFR-SEC-001
Conflicterende gelijktijdige wijzigingen veilig afhandelen