Skip to main content

UC-DOC-SAM-007 — Samenwerkingswijziging auditbaar vastleggen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-SAM-007
NaamSamenwerkingswijziging auditbaar vastleggen
DomeinDocent
SubdomeinSamenwerking, collaborators en eigenaarschap
Primaire actorSysteem
Secundaire actor(en)Docent
RolcontextSysteemverwerking na collaborator- of eigenaarschapsmutaties binnen docentcontext
Betrokken schermenGeen zelfstandig scherm; auditweergave kan zichtbaar zijn in niveau-detail, samenwerkingsgeschiedenis of beheerondersteuning
Gerelateerde usecasesUC-DOC-SAM-002, UC-DOC-SAM-003, UC-DOC-SAM-005, UC-DOC-SAM-006, UC-DOC-AANB-004, UC-BEH-DOC-ondersteuning
Primaire entiteitenLevelCollaborators, Levels, LevelCollaboratorHistory, LevelOwnershipHistory
Secundaire entiteiten / eventsSystemMessages, applicatielog, auditactor, reden, oude waarde, nieuwe waarde
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe OefenHub wijzigingen in samenwerking rond een niveau auditbaar vastlegt.

De usecase is een ondersteunende systeemflow bij collaborators toevoegen, collaborators ontkoppelen en eigenaarschap overdragen.

Auditbaarheid is nodig omdat samenwerkingswijzigingen bepalen wie onderwijsinhoud binnen een niveau kan aanpassen en wie eigenaar is van die context.

De auditlaag vervangt niet de formele bronrecords. Levels en LevelCollaborators blijven de actuele waarheid; historyrecords en logs maken reconstructie mogelijk.

3. Scope

Binnen scope

  • Vastleggen van collaborator toegevoegd.
  • Vastleggen van collaborator ontkoppeld.
  • Vastleggen van eigenaarschap overgedragen.
  • Vastleggen van actor, tijdstip, oude waarde, nieuwe waarde en reden waar verplicht.
  • Beschikbaar maken van compacte samenwerkingshistorie voor docent- of beheerweergave.
  • Scheiding tussen domeinhistory en technische logging bewaken.
  • Niet schrijven van succes-audit bij mislukte of geblokkeerde mutaties.

Buiten scope

  • De oorspronkelijke samenwerkingmutatie zelf uitvoeren.
  • Volledige applicatielogging definiëren.
  • Een generiek auditframework voor alle OefenHub-domeinen ontwerpen.
  • Vrije tekst uit discussies of berichten dupliceren in auditregels.
  • Leerlingresultaten of oefenruns herschrijven.
  • Beheerder-forceeracties volledig uitwerken.

4. Pre-condities

IDVoorwaarde
PRE-001Er is een samenwerkingsmutatie succesvol gevalideerd of uitgevoerd.
PRE-002De mutatie betreft collaborator toevoegen, collaborator ontkoppelen of eigenaarschap overdragen.
PRE-003De uitvoerende actor is bekend.
PRE-004Het niveau waarop de wijziging betrekking heeft is bekend.
PRE-005Voor redenplichtige acties is een reden beschikbaar.

5. Post-condities

IDResultaat
POST-001De samenwerkingswijziging is herleidbaar vastgelegd.
POST-002De actuele bronrecords blijven de primaire waarheid.
POST-003Een mislukte of geblokkeerde wijziging heeft geen succes-auditregel gekregen.
POST-004De auditinformatie is beschikbaar voor bevoegde docent- of beheercontexten.
POST-005Technische logging en domeinhistorie blijven gescheiden.

6. Trigger

Een succesvolle collaborator- of eigenaarschapsmutatie vraagt om auditregistratie binnen dezelfde transactie of als consistente vervolgverwerking.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1SysteemMutatieflowOntvangt succesvolle samenwerkingsmutatieBepaalt auditsoortActionType
2SysteemAuditcontextVerzamelt niveau, actor, doelgebruiker en oude/nieuwe waardenAuditpayload wordt opgebouwdContextdata
3SysteemAuditcontextControleert of reden verplicht isBlokkeert of markeert fout wanneer reden ontbreekt bij redenplichtige actieReason
4SysteemDatabaseSchrijft collaboratorhistory bij collaboratorwijzigingHistoryrecord ontstaatLevelCollaboratorHistory
5SysteemDatabaseSchrijft ownershiphistory bij eigendomsoverdrachtHistoryrecord ontstaatLevelOwnershipHistory
6SysteemEventregisterPubliceert domeinevent voor de afgeronde samenwerkingsmutatieVervolgverwerking kan aansluitenSamenwerkingsEvent
7SysteemCommunicatieKoppelt informatieve systeemberichten aan mutatiecontextBetrokkenen kunnen geïnformeerd wordenSystemMessages
8SysteemLoggingLegt technische details alleen in applicatielog vast waar nodigGeen duplicatie in domeinhistoryStructured logging
9Frontend / BeheerGeschiedenisweergaveKan compacte history tonenGebruiker ziet herleidbare wijzigingReadmodel

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011Samenwerkingsmutatie is geblokkeerdEr wordt geen succes-auditregel geschreven; technische blokkade kan worden gelogd.Niet van toepassingGeen domeinhistory
ALT-0023Verplichte reden ontbreektDe oorspronkelijke mutatie mag niet als succesvol worden afgerond.Niet van toepassingRollback of blokkade
ALT-0034Collaboratorhistory schrijven faaltSysteem rolt de mutatie terug of markeert transactie als mislukt volgens gekozen consistentieregel.Niet van toepassingRollback
ALT-0045Ownershiphistory schrijven faaltSysteem rolt de overdracht terug zodat geen niet-auditbare eigendomsoverdracht ontstaat.Niet van toepassingRollback
ALT-0057Vereiste vervolgverwerking faaltDe mutatieusecase rondt de transactie niet als volledig geslaagd af zolang verplichte audit of communicatie niet consistent is verwerkt.Niet van toepassingGeen half-afgeronde domeinmutatie
ALT-0069Gebruiker mag historie niet zienSysteem bewaart history maar toont deze niet buiten bevoegde context.Niet van toepassingGeen

9. Business rules

IDRegel
BR-001Samenwerkingswijzigingen rond een niveau moeten auditbaar zijn.
BR-002De actuele waarheid blijft in Levels en LevelCollaborators; history is reconstructie en verantwoording.
BR-003Collaborator toevoegen en ontkoppelen worden als afzonderlijke auditacties vastgelegd.
BR-004Eigendomsoverdracht wordt vastgelegd met oude eigenaar en nieuwe eigenaar.
BR-005Een reden wordt vastgelegd bij redenplichtige acties zoals eigendomsoverdracht en ontkoppeling waar dit is voorgeschreven.
BR-006Mislukte of geblokkeerde acties krijgen geen succes-auditregel.
BR-007Technische logging vervangt geen domeinhistorie voor succesvolle samenwerkingsmutaties.
BR-008Domeinhistorie mag geen onnodige persoonsgegevens of vrije discussie-inhoud dupliceren.
BR-009Alle historyregels moeten de echte actor bevatten, ook wanneer de actie via beheerondersteuning wordt uitgevoerd.

10. Datavalidatie

Veld / objectValidatie
ActionTypeMoet een vooraf ondersteunde samenwerkingsactie zijn.
ActorUserIdMoet bekend zijn en de echte uitvoerende actor representeren.
LevelIdMoet verwijzen naar het geraakte niveau.
TargetUserIdMoet gevuld zijn wanneer de actie een collaborator of nieuwe eigenaar betreft.
OldValue/NewValueMoeten voldoende informatie bevatten voor reconstructie zonder vrije datadump.
ReasonVerplicht bij redenplichtige acties.
VisibilityHistory wordt alleen getoond aan bevoegde docent- of beheercontexten.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
4CreateLevelCollaboratorHistoryCollaborator toegevoegd, ontkoppeld of statuswijziging vastleggen.
5CreateLevelOwnershipHistoryOverdracht van eigenaarschap vastleggen.
6EventLevelCollaboratorAdded / LevelCollaboratorRemoved / LevelOwnershipTransferredDomeinevents voor audit en vervolgverwerking.
8LogApplicatielogTechnische context en foutdetails vastleggen buiten domeinhistorie waar nodig.

12. Geen datamutaties

EntiteitReden
LevelsDeze usecase schrijft niet zelf de primaire eigenaarwijziging; dat gebeurt in de mutatieusecase.
LevelCollaboratorsDeze usecase schrijft niet zelf de primaire collaboratorstatus; dat gebeurt in de mutatieusecase.
ExerciseHistorySamenwerkingsaudit is gescheiden van oefeningconfiguratiehistorie.
StudentLevelAuthorizationsSamenwerkingsaudit wijzigt geen leerlingtoegang.
TicketHistoryMeldingenhistorie wordt niet gebruikt voor docentniveau-samenwerking.

13. State diagram

De auditflow kent geen eigen eindgebruikersstatus. Wel moet een succesvolle samenwerkingsmutatie altijd corresponderen met een passende historyregistratie.

14. Decision flow

De decision flow bepaalt welk historyrecord nodig is en voorkomt dat geblokkeerde mutaties als succesvolle samenwerkingswijziging worden geregistreerd.

15. Data lifecycle diagram

Historyrecords ontstaan als verantwoording bij primaire samenwerkingsmutaties. Zij worden niet gebruikt om actuele rechten te bepalen; actuele rechten blijven uit Levels en LevelCollaborators komen.

16. Sequence diagrammen

16.1 Samenwerkingswijziging auditbaar vastleggen

16.2 Audit faalt bij ontbrekende verplichte reden

17. Popupverwijzingen

PopupKeyMomentDoel
Niet van toepassingGeen popupmomentDeze usecase gebruikt geen domeinspecifieke popup.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijven dat samenwerkingswijzigingen rond niveau, collaborator en eigenaarschap altijd herleidbaar moeten zijn.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, autorisatie en logging en historie beschrijven de technische uitwerking. Historytabellen, actiontypes, transactionele grenzen en loggingverantwoordelijkheid uitwerken.
Software Requirements SpecificationRequirements opnemen voor auditregistratie bij collaborator- en eigenaarschapsmutaties.

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-007-001SRS-CAT-001
SRS-TCH-002
SRS-NFR-AUD-001
AC-CAT-001
AC-TCH-002
AC-NFR-AUD-001
Succesvolle samenwerkingswijzigingen rond een niveau auditbaar vastleggen
REQ-UC-DOC-SAM-007-002SRS-REL-003
SRS-REL-006
SRS-TCH-006
SRS-NFR-AUD-001
AC-REL-003
AC-REL-006
AC-TCH-006
AC-NFR-AUD-001
Collaborator toevoegen en ontkoppelen als afzonderlijke auditacties kunnen registreren
REQ-UC-DOC-SAM-007-003SRS-TCH-001
AC-TCH-001
Eigendomsoverdracht registreren met oude eigenaar, nieuwe eigenaar, actor, tijdstip en reden
REQ-UC-DOC-SAM-007-004SRS-TCH-001
SRS-NFR-AVL-001
AC-TCH-001
AC-NFR-AVL-001
Mislukte of geblokkeerde mutaties niet als succesvolle samenwerkingswijziging registreren
REQ-UC-DOC-SAM-007-005SRS-TCH-001
AC-TCH-001
Verplichte redenen afdwingen voordat redenplichtige samenwerkingsmutaties als succesvol worden afgerond
REQ-UC-DOC-SAM-007-006SRS-AUTH-001
SRS-TCH-001
SRS-ADM-001
SRS-NFR-AUD-001
AC-AUTH-001
AC-TCH-001
AC-ADM-001
AC-NFR-AUD-001
Samenwerkingshistory alleen tonen binnen bevoegde docent- of beheercontext
REQ-UC-DOC-SAM-007-007SRS-TCH-001
SRS-NFR-LOG-001
AC-TCH-001
AC-NFR-LOG-001
Technische logging en domeinhistorie gescheiden houden
REQ-UC-DOC-SAM-007-008SRS-TCH-001
SRS-NFR-AUD-001
AC-TCH-001
AC-NFR-AUD-001
Actuele rechten blijven bepalen uit bronrecords en niet uit historyrecords