Skip to main content

UC-BEH-DOCSUP-011 — Collaborator van niveau ontkoppelen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-DOCSUP-011
NaamCollaborator 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-009, UC-BEH-DOCSUP-010, 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-COLLABORATOR-CONFIRM
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

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

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

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: Collaborator 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 Collaborator 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 Collaborator 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-COLLABORATOR-CONFIRM
6BackendDomeinserviceVoert de mutatie transactioneel uit.De domeinstatus wordt aangepast.LevelCollaborators
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-011-001De actie is alleen toegestaan binnen een geldige server-side docentcontext.
BR-UC-BEH-DOCSUP-011-002Het niveau moet binnen de geselecteerde docentcontext vallen.
BR-UC-BEH-DOCSUP-011-003De te ontkoppelen docent moet een actieve collaborator-koppeling op dit niveau hebben.
BR-UC-BEH-DOCSUP-011-004De actuele eigenaar van het niveau mag niet via collaboratorontkoppeling worden verwijderd.
BR-UC-BEH-DOCSUP-011-005De beheerder moet de actie expliciet bevestigen en een reden opgeven.
BR-UC-BEH-DOCSUP-011-006Ontkoppelen van een collaborator wijzigt geen docent-docentrelatie.
BR-UC-BEH-DOCSUP-011-007De wijziging moet auditbaar zijn.

10. Datavalidatie

IDValidatie
VAL-UC-BEH-DOCSUP-011-001De beheerderrol wordt vlak vóór mutatie gecontroleerd.
VAL-UC-BEH-DOCSUP-011-002LevelId is verplicht en moet binnen de geselecteerde docentcontext vallen.
VAL-UC-BEH-DOCSUP-011-003CollaboratorUserId is verplicht en moet een actieve collaborator-koppeling op het niveau hebben.
VAL-UC-BEH-DOCSUP-011-004CollaboratorUserId mag niet de actuele eigenaar van het niveau zijn.
VAL-UC-BEH-DOCSUP-011-005De reden is verplicht en mag niet leeg zijn.
VAL-UC-BEH-DOCSUP-011-006De mutatie moet transactioneel worden verwerkt.
VAL-UC-BEH-DOCSUP-011-007Gelijktijdige wijzigingen moeten vóór opslaan opnieuw worden gevalideerd.

11. Datamutaties en events

Object / eventMutatie
LevelCollaboratorsDe actieve collaborator-koppeling wordt administratief gedeactiveerd.
Beheerlog / historyVastleggen van beheerder, tijdstip, betrokken objecten en reden.
SystemMessagesInformatief bericht aan de betrokken docent(en) wanneer zij een actief intern account hebben; het bericht is geen rechtenbron.

12. Geen datamutaties

ObjectWaarom geen mutatie
UserRelationshipsDe docent-docentrelatie blijft bestaan; alleen de collaborator-koppeling op niveau wordt gedeactiveerd.
TeacherLevelsEigenaar, niveaugegevens en zichtbaarheid blijven ongewijzigd.
LevelStudentAuthorizationsLeerlingtoegang wordt niet gewijzigd.
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-COLLABORATOR-CONFIRMBevestiging voor de actie Collaborator 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 Collaborator 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 en auditregistratie.
Software Requirements SpecificationSRS moet voorwaarden, bevestiging, redenplicht en uitsluitingen voor Collaborator van niveau ontkoppelen vastleggen.
DatabaseWijzigt LevelCollaborators 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-011-001SRS-REL-003
SRS-REL-006
SRS-CAT-001
SRS-TCH-006
SRS-ADM-008
SRS-ADM-001
AC-REL-003
AC-REL-006
AC-CAT-001
AC-TCH-006
AC-ADM-008
AC-ADM-001
Een beheerder de actie Collaborator van niveau ontkoppelen kunnen laten uitvoeren binnen docentondersteuning
REQ-UC-BEH-DOCSUP-011-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-011-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-011-004SRS-ADM-001
SRS-POP-001
AC-ADM-001
AC-POP-001
Een bevestiging via PopupKey gebruiken
REQ-UC-BEH-DOCSUP-011-005SRS-ADM-001
SRS-NFR-AUD-001
AC-ADM-001
AC-NFR-AUD-001
De wijziging auditbaar vastleggen
REQ-UC-BEH-DOCSUP-011-006SRS-REL-003
SRS-REL-006
SRS-TCH-006
SRS-ADM-001
AC-REL-003
AC-REL-006
AC-TCH-006
AC-ADM-001
Voorkomen dat de actuele eigenaar via collaboratorontkoppeling wordt verwijderd
REQ-UC-BEH-DOCSUP-011-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-011-008SRS-ADM-001
SRS-NFR-SEC-001
AC-ADM-001
AC-NFR-SEC-001
Conflicterende gelijktijdige wijzigingen veilig afhandelen