Skip to main content

UC-DOC-SAM-003 - Collaborator van niveau ontkoppelen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-SAM-003
NaamCollaborator van niveau ontkoppelen
DomeinDocent
SubdomeinSamenwerking, collaborators en eigenaarschap
Primaire actorDocent
Secundaire actor(en)Systeem
RolcontextDocentcontext als actuele eigenaar van het geselecteerde niveau
Betrokken schermenDocent - Collaborators op niveau, actieve collaborators, ontkoppelactie, bevestiging
Gerelateerde usecasesUC-DOC-SAM-001, UC-DOC-SAM-002, UC-DOC-SAM-004, UC-DOC-SAM-005, UC-DOC-OEF-005, UC-DOC-OEF-006
Primaire entiteitenLevels, LevelCollaborators, Users
Secundaire entiteiten / eventsLevelCollaboratorHistory, SystemMessages, ExerciseHistory, open bewerkcontexten
Gerelateerde popupsPOP-DOC-SAM-REMOVE-COLLABORATOR-CONFIRM, POP-DOC-SAM-REMOVE-COLLABORATOR-SUCCESS, POP-DOC-SAM-REMOVE-COLLABORATOR-BLOCKED
PopupregisterCentrale popupregisterregel(en) op PopupKey-niveau.
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe de actuele eigenaar van een niveau een actieve collaborator van dat niveau ontkoppelt. Ontkoppelen verwijdert het collaboratorrecord niet hard, maar beëindigt de actieve samenwerking voor het niveau. Bestaande audit- en wijzigingshistorie blijft behouden. Eerdere wijzigingen van de collaborator aan categorieën of oefeningen blijven historisch zichtbaar. Ontkoppelen heeft geen terugwerkende wijziging op oefenconfiguraties, leerlingruns, resultaten of geschiedenis.

3. Scope

3.1 Binnen scope

  • Selecteren van een actieve collaborator.
  • Bevestigen van ontkoppeling.
  • Controleren dat de actor actuele eigenaar is.
  • Blokkeren van ontkoppelen van de eigenaar zelf.
  • Deactiveren van het niveaugebonden collaboratorrecord.
  • Vastleggen van auditinformatie en voorgeschreven systeemcommunicatie.
  • Beëindigen van actieve collaboratorrechten voor toekomstige contentmutaties.

3.2 Buiten scope

  • Docent-docentrelatie beëindigen.
  • Eerdere oefeningwijzigingen terugdraaien.
  • Leerlingtoegang wijzigen.
  • Eigenaarschap overdragen.
  • Centrale beheerder-forceeracties.
  • Niet-opgeslagen formulierstaat of browserstate op clientniveau beheren.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is ingelogd als docent.
PRE-002De gebruiker is actuele eigenaar van het niveau.
PRE-003Het niveau bestaat.
PRE-004De te ontkoppelen gebruiker is actieve collaborator op dit niveau.
PRE-005De te ontkoppelen gebruiker is niet de actuele eigenaar.

5. Post-condities

IDResultaat
POST-001Het collaboratorrecord is niet langer actief.
POST-002De ontkoppelde docent heeft geen contentbewerkrechten meer binnen dit niveau.
POST-003Bestaande historie blijft behouden.
POST-004Er is auditinformatie vastgelegd.
POST-005Er is geen leerling-, resultaat- of live-meekijktoegang gewijzigd, doordat de afgeleide contentrechten direct vervallen.

6. Trigger

De eigenaar kiest bij een actieve collaborator de actie Ontkoppel.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentCollaborators op niveauSelecteert actieve collaboratorToont ontkoppelactieLevelCollaborators.Id
2DocentPopup/bevestigingBevestigt ontkoppelenStart verwerkingPOP-DOC-SAM-REMOVE-COLLABORATOR-CONFIRM
3SysteemBackend autorisatieControleert eigenaarstatusGaat alleen verder bij actuele eigenaarLevels.OwnerUserId
4SysteemValidatieControleert dat doel actieve collaborator isVoorkomt ongeldige deactivatieLevelCollaborators.IsActive
5SysteemValidatieControleert dat doel niet de eigenaar isBlokkeert verwijderen eigenaarLevels.OwnerUserId
6SysteemDatabaseZet collaboratorrecord op inactiefSamenwerking is beëindigdLevelCollaborators.IsActive = false
7SysteemAuditRegistreert ontkoppelingHistorie is herleidbaarLevelCollaboratorHistory
8SysteemCommunicatieMaakt informatief systeemberichtOntkoppelde docent wordt geïnformeerdSystemMessages
9FrontendCollaborators op niveauVerverst lijstCollaborator staat niet meer bij actiefReadmodel

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0013Actor is geen eigenaarSysteem blokkeert ontkoppelen.POP-DOC-SAM-REMOVE-COLLABORATOR-BLOCKEDGeen
ALT-0024Collaborator is al inactiefSysteem ververst lijst en voert geen nieuwe ontkoppeling uit.POP-DOC-SAM-REMOVE-COLLABORATOR-BLOCKEDGeen
ALT-0035Doel is actuele eigenaarSysteem blokkeert ontkoppelen; gebruik eigendomsoverdracht indien nodig.POP-DOC-SAM-REMOVE-COLLABORATOR-BLOCKEDGeen
ALT-0046Ontkoppelde docent heeft browser nog openNieuwe mutaties worden server-side geblokkeerd zodra rechten opnieuw worden gecontroleerd.Niet van toepassingGeen extra domeinmutatie
ALT-0056Opslaan faaltSysteem rolt terug en laat collaborator actief.POP-DOC-SAM-REMOVE-COLLABORATOR-BLOCKEDGeen blijvende mutatie
ALT-0068Systeembericht kan niet worden aangemaaktKernmutatie blijft leidend wanneer communicatie niet transactioneel verplicht is; fout wordt technisch gelogd.Niet van toepassingTechnische logging

9. Business rules

IDRegel
BR-001Alleen de actuele eigenaar mag via de docentflow collaborators ontkoppelen.
BR-002De eigenaar zelf kan niet via collaboratorontkoppeling worden verwijderd.
BR-003Ontkoppelen is soft-deactivation van de niveaugebonden collaboratorstatus.
BR-004Eerdere contentwijzigingen van de collaborator blijven historisch herleidbaar.
BR-005Ontkoppeling wijzigt geen docent-docentrelatie.
BR-006Ontkoppeling wijzigt geen leerlingautorisaties.
BR-007Na ontkoppeling moeten nieuwe contentmutaties door de voormalige collaborator server-side worden geweigerd.

10. Datavalidatie

Veld / objectValidatie
ActorMoet actuele eigenaar zijn.
TargetCollaboratorMoet actief zijn en bij hetzelfde niveau horen.
OwnerCheckDoel mag niet de eigenaar zijn.
ConcurrencyAls het record al gewijzigd is, moet de actuele status opnieuw worden gelezen.
HistoryOntkoppeling moet auditbaar worden vastgelegd.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
6UpdateLevelCollaboratorsIsActive = false, DeactivatedAtUtc en DeactivatedByUserId vullen.
7CreateLevelCollaboratorHistoryOntkoppelactie vastleggen.
8CreateSystemMessagesInformatief systeembericht aan de ontkoppelde docent.

12. Geen datamutaties

EntiteitReden
UserRelationshipsDocent-docentrelatie blijft bestaan.
ExercisesOefeningen worden niet teruggedraaid of gewijzigd.
ExerciseHistoryBestaande geschiedenis blijft behouden.
StudentLevelAuthorizationsLeerlingtoegang wijzigt niet.
Levels.OwnerUserIdEigenaarschap blijft gelijk.

13. State diagram

LevelCollaborators gaat van actief naar inactief. Historische records blijven bestaan voor audit en reconstructie.

14. Decision flow

De decision flow controleert eigenaarstatus, actieve collaboratorstatus en het verbod om de actuele eigenaar via deze flow te verwijderen.

15. Data lifecycle diagram

Na ontkoppeling blijft het collaboratorrecord historisch bestaan maar telt het niet meer mee voor actuele bewerkrechten.

16. Sequence diagrammen

16.1 Collaborator ontkoppelen

17. Popupverwijzingen

PopupKeyMomentDoel
POP-DOC-SAM-REMOVE-COLLABORATOR-CONFIRMVoor definitief ontkoppelenVoorkomt onbedoelde beëindiging van samenwerking.
POP-DOC-SAM-REMOVE-COLLABORATOR-SUCCESSNa succesvolle ontkoppelingBevestigt dat de collaborator niet langer actief is.
POP-DOC-SAM-REMOVE-COLLABORATOR-BLOCKEDBij ongeldige actor, status of eigenaarconflictLegt uit waarom ontkoppelen niet kan.

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

DoeldocumentAfleiding
Functioneel OntwerpVastleggen dat collaboratorontkoppeling niveaugebonden is en geen docent-docentrelatie beëindigt.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, autorisatie en logging en historie beschrijven de technische uitwerking. Soft-deactivation, concurrency en auditregels uitwerken.
Software Requirements SpecificationRequirements opnemen voor blokkeren van eigenaarverwijdering, soft-deactivation en server-side rechtenverval.

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-DOC-SAM-003-001SRS-REL-003
SRS-REL-006
SRS-CAT-001
SRS-TCH-006
AC-REL-003
AC-REL-006
AC-CAT-001
AC-TCH-006
De eigenaar toestaan een actieve collaborator van een niveau te ontkoppelen
REQ-UC-DOC-SAM-003-002SRS-REL-003
SRS-REL-006
SRS-TCH-006
AC-REL-003
AC-REL-006
AC-TCH-006
Voorkomen dat de actuele eigenaar via collaboratorontkoppeling wordt verwijderd
REQ-UC-DOC-SAM-003-003SRS-REL-003
SRS-REL-006
SRS-TCH-001
AC-REL-003
AC-REL-006
AC-TCH-001
Ontkoppelen als soft-deactivation verwerken
REQ-UC-DOC-SAM-003-004SRS-AUTH-001
SRS-REL-003
SRS-REL-006
SRS-TCH-006
SRS-CNT-001
AC-AUTH-001
AC-REL-003
AC-REL-006
AC-TCH-006
AC-CNT-001
Na ontkoppeling nieuwe contentmutaties door de voormalige collaborator blokkeren
REQ-UC-DOC-SAM-003-005SRS-REL-003
SRS-REL-006
SRS-TCH-001
SRS-NFR-AUD-001
AC-REL-003
AC-REL-006
AC-TCH-001
AC-NFR-AUD-001
Ontkoppeling auditbaar vastleggen