Skip to main content

UC-DOC-SAM-002 - Collaborator aan niveau koppelen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-SAM-002
NaamCollaborator aan niveau koppelen
DomeinDocent
SubdomeinSamenwerking, collaborators en eigenaarschap
Primaire actorDocent
Secundaire actor(en)Systeem
RolcontextDocentcontext als actuele eigenaar van het geselecteerde niveau
Betrokken schermenDocent - Collaborators op niveau, beschikbare docenten, koppelactie, bevestiging
Gerelateerde usecasesUC-DOC-SAM-001, UC-DOC-SAM-003, UC-DOC-SAM-004, UC-DOC-AANB-002, UC-GEN-REL-002, UC-GEN-MSG-001
Primaire entiteitenLevels, LevelCollaborators, Users, UserRelationships
Secundaire entiteiten / eventsLevelCollaboratorHistory, SystemMessages, docent-docentrelatie, auditgegevens
Gerelateerde popupsPOP-DOC-SAM-ADD-COLLABORATOR-CONFIRM, POP-DOC-SAM-ADD-COLLABORATOR-SUCCESS, POP-DOC-SAM-ADD-COLLABORATOR-BLOCKED
PopupregisterCentrale popupregisterregel(en) op PopupKey-niveau.
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe de actuele eigenaar van een niveau een andere docent als collaborator aan dat niveau koppelt. De beoogde collaborator moet al een actieve docent-docentrelatie met de eigenaar hebben. De relatievorming zelf hoort niet bij deze usecase. Na koppeling mag de collaborator meewerken aan categorieën, oefeningen en configuraties binnen dit specifieke niveau, maar krijgt geen toegang tot leerlingen, resultaten, geschiedenis of live meekijken. De koppeling is niveaugebonden en wordt auditbaar vastgelegd.

3. Scope

3.1 Binnen scope

  • Selecteren van een beschikbare docent als collaborator.
  • Controleren dat de actor actuele eigenaar is van het niveau.
  • Controleren dat de kandidaat een actieve docentrol en actieve docent-docentrelatie heeft.
  • Aanmaken of reactiveren van een niveaugebonden collaboratorrecord.
  • Vastleggen van actor, tijdstip en reden of context van de koppeling.
  • Informeren van de nieuwe collaborator via systeemcommunicatie wanneer dit centraal is ingericht.

3.2 Buiten scope

  • Nieuwe docent-docentrelatie maken.
  • Relatie-uitnodiging sturen of accepteren.
  • Leerlingtoegang aan de collaborator geven.
  • Eigenaarschap overdragen.
  • Centrale beheerder-forceerroute voor collaborators.
  • Module- of categoriebeheer buiten het gekozen niveau.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is ingelogd als docent.
PRE-002De gebruiker is actuele eigenaar van het geselecteerde niveau.
PRE-003Het niveau bestaat en is actief bruikbaar.
PRE-004De kandidaat heeft een actieve docentrol.
PRE-005Er bestaat een actieve docent-docentrelatie tussen eigenaar en kandidaat.
PRE-006De kandidaat is nog geen actieve collaborator op dit niveau.

5. Post-condities

IDResultaat
POST-001De kandidaat is actieve collaborator op het niveau.
POST-002De collaborator heeft inhoudelijke bewerkrechten binnen dit niveau volgens UC-DOC-SAM-004.
POST-003Er is auditinformatie vastgelegd.
POST-004De koppeling heeft geen leerlingtoegang, resultaattoegang of live-meekijkrecht aangemaakt.

6. Trigger

De eigenaar kiest in de collaboratorweergave een beschikbare docent en activeert Koppel geselecteerd.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentCollaborators op niveauSelecteert een beschikbare docentMarkeert kandidaatUsers.Id
2DocentCollaborators op niveauKlikt Koppel geselecteerdStart koppelverwerkingCommand AddLevelCollaborator
3SysteemBackend autorisatieControleert eigenaarstatusGaat alleen verder bij actuele eigenaarLevels.OwnerUserId
4SysteemRelatiecontroleControleert actieve docent-docentrelatieBevestigt kandidaatcontextUserRelationships
5SysteemValidatieControleert dat kandidaat niet al actieve collaborator isVoorkomt dubbele koppelingLevelCollaborators
6SysteemDatabaseMaakt of reactiveert collaboratorrecordCollaborator is actiefLevelCollaborators.IsActive = true
7SysteemAuditRegistreert koppelactieHistorie is herleidbaarLevelCollaboratorHistory
8SysteemCommunicatieMaakt informatief systeembericht voor de collaboratorOntvanger wordt geïnformeerdSystemMessages
9FrontendCollaborators op niveauVerverst de lijstNieuwe collaborator staat bij actieve collaboratorsReadmodel

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0013Actor is geen actuele eigenaarSysteem blokkeert koppelen.POP-DOC-SAM-ADD-COLLABORATOR-BLOCKEDGeen
ALT-0024Geen actieve docent-docentrelatieSysteem toont kandidaat niet of blokkeert de actie.POP-DOC-SAM-ADD-COLLABORATOR-BLOCKEDGeen
ALT-0034Kandidaat heeft geen actieve docentrolSysteem blokkeert koppelen.POP-DOC-SAM-ADD-COLLABORATOR-BLOCKEDGeen
ALT-0045Kandidaat is al actieve collaboratorSysteem voorkomt dubbele koppeling en ververst de lijst.POP-DOC-SAM-ADD-COLLABORATOR-BLOCKEDGeen
ALT-0056Er bestaat een inactief oud collaboratorrecordSysteem reactiveert het bestaande record en schrijft een nieuwe auditregistratie.POP-DOC-SAM-ADD-COLLABORATOR-CONFIRMLevelCollaborators.IsActive = true
ALT-0066Opslaan faalt transactioneelSysteem rolt de verwerking terug en toont foutafhandeling.POP-DOC-SAM-ADD-COLLABORATOR-BLOCKEDGeen blijvende mutatie

9. Business rules

IDRegel
BR-001Alleen de actuele eigenaar van een niveau mag via de docentflow collaborators toevoegen.
BR-002Een collaborator kan alleen worden toegevoegd wanneer er een actieve docent-docentrelatie bestaat.
BR-003Een niveau mag meerdere actieve collaborators hebben.
BR-004De eigenaar zelf wordt niet als gewone collaborator toegevoegd.
BR-005Een collaborator krijgt geen toegang tot leerlingen, resultaten, geschiedenis of live meekijken.
BR-006Dubbele actieve collaboratorrecords voor dezelfde docent en hetzelfde niveau zijn niet toegestaan.
BR-007Koppelen moet auditbaar zijn.

10. Datavalidatie

Veld / objectValidatie
LevelIdMoet bestaan en eigenaar moet overeenkomen met de actor.
CandidateUserIdMoet verwijzen naar een gebruiker met actieve docentrol.
Docent-docentrelatieMoet actief zijn tussen eigenaar en kandidaat.
Bestaande collaboratorEr mag geen actieve dubbele koppeling bestaan.
TransactieKoppeling, audit en communicatie worden consistent verwerkt.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
6Create/UpdateLevelCollaboratorsAanmaken of reactiveren van collaboratorrecord.
7CreateLevelCollaboratorHistoryVastleggen van koppelactie.
8CreateSystemMessagesInformatief systeembericht aan de nieuwe collaborator.

12. Geen datamutaties

EntiteitReden
UserRelationshipsDe docent-docentrelatie wordt niet aangemaakt of aangepast.
StudentLevelAuthorizationsEr wordt geen leerlingtoegang aangemaakt.
ExerciseRunsEr ontstaan geen oefenruns.
Roles/UserRolesRollen worden niet gewijzigd.
Levels.OwnerUserIdEigenaarschap blijft ongewijzigd.

13. State diagram

LevelCollaborators kent functioneel actief/inactief gedrag. Deze usecase brengt een kandidaat naar actieve collaboratorstatus voor één niveau.

14. Decision flow

De decision flow controleert eigenaarstatus, kandidaatgeldigheid en dubbele actieve collaboratorrecords voordat een koppeling wordt aangemaakt of gereactiveerd.

15. Data lifecycle diagram

Na succesvolle verwerking bestaat een actieve niveaugebonden collaboratorrelatie. De relatie kan via UC-DOC-SAM-003 worden gedeactiveerd.

16. Sequence diagrammen

16.1 Collaborator koppelen

17. Popupverwijzingen

PopupKeyMomentDoel
POP-DOC-SAM-ADD-COLLABORATOR-CONFIRMVoor definitief koppelen wanneer bevestiging nodig isVoorkomt onbedoelde collaboratorrechten.
POP-DOC-SAM-ADD-COLLABORATOR-SUCCESSNa succesvolle koppelingBevestigt dat de collaborator actief is.
POP-DOC-SAM-ADD-COLLABORATOR-BLOCKEDBij ongeldig niveau, kandidaat of rechtenLegt uit dat koppelen niet is toegestaan.

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

DoeldocumentAfleiding
Functioneel OntwerpVastleggen dat alleen de eigenaar via docentflow collaborators kan toevoegen en dat collaboratorrechten beperkt zijn tot inhoud binnen het niveau.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, autorisatie en logging en historie beschrijven de technische uitwerking. Command AddLevelCollaborator, transactiegrenzen, uniqueness en audit uitwerken.
Software Requirements SpecificationRequirements opnemen voor kandidaatvalidatie, relationele beperkingen en blokkade van leerlingtoegang.

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-002-001SRS-CAT-001
SRS-TCH-006
AC-CAT-001
AC-TCH-006
De eigenaar van een niveau toestaan een geldige docent als collaborator te koppelen
REQ-UC-DOC-SAM-002-002SRS-AUTH-001
SRS-REL-001
SRS-TCH-001
AC-AUTH-001
AC-REL-001
AC-TCH-001
Koppelen blokkeren zonder actieve docent-docentrelatie
REQ-UC-DOC-SAM-002-003SRS-TCH-006
AC-TCH-006
Dubbele actieve collaboratorrecords voorkomen
REQ-UC-DOC-SAM-002-004SRS-CAT-006
SRS-TCH-006
AC-CAT-006
AC-TCH-006
Collaboratorrechten beperken tot inhoudelijke niveaucontext
REQ-UC-DOC-SAM-002-005SRS-TCH-006
SRS-NFR-AUD-001
AC-TCH-006
AC-NFR-AUD-001
Elke collaborator-koppeling auditbaar vastleggen