UC-GEN-REL-004 — Relatie ontkoppelen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-REL-004 |
| Naam | Relatie ontkoppelen |
| Domein | Relaties |
| Primaire actor | Ingelogde gebruiker met een actieve relatie |
| Secundaire actor(en) | De andere partij binnen de relatie, eventueel bevoegde partij bij een ontkoppelverzoek |
| Rolcontext | Afhankelijk van relatietype en zichtbare actie: leerling, ouder/voogd, docent, beheerder of gecombineerde rolcontext |
| Betrokken schermen | SCH-GEN-08 — Relaties |
| Gerelateerde usecases | UC-GEN-REL-001 — Relaties bekijken, UC-GEN-REL-002 — Vriend uitnodigen, UC-GEN-REL-003 — Ouder/voogd uitnodigen, UC-GEN-REL-005 — Relatie-uitnodiging accepteren of afwijzen |
| Primaire entiteiten | UserRelationships, RelationshipTypes, RelationshipEvents |
| Secundaire entiteiten / events | SystemMessages, PrivateMessageThreads, SharedExercises, TeacherStudentLevelAccess, live-meekijkautorisatie |
| Gerelateerde popups | POP-GEN-REL-DISCONNECT-CONFIRM, POP-GEN-REL-UNLINK-REQUEST-CONFIRM, POP-GEN-REL-DISCONNECT-NOT-ALLOWED, POP-GEN-REL-DISCONNECT-FAILED |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Should have |
2. Omschrijving
De gebruiker beëindigt een bestaande relatie of start een ontkoppelverzoek vanuit de pagina Relaties. Iedere ontkoppelactie of ontkoppelverzoekactie opent altijd eerst een bevestigingsmodal met de vraag of de gebruiker zeker weet dat de actie uitgevoerd moet worden.
Deze usecase maakt onderscheid tussen:
- direct ontkoppelen: de relatie wordt na bevestiging gedeactiveerd;
- ontkoppelverzoek: de relatie wordt niet direct gedeactiveerd, maar er wordt een verzoek of relatie-event vastgelegd dat door de daarvoor geldende vervolgflow moet worden afgehandeld.
Een relatie wordt niet hard verwijderd. Direct ontkoppelen betekent dat het bestaande UserRelationships-record inactief wordt gemaakt met auditinformatie over actor, rolcontext en tijdstip. Bestaande historie, berichten en gedeelde-oefeningrecords worden niet fysiek verwijderd.
3. Scope
Deze usecase beschrijft:
- het starten van een ontkoppelactie vanuit een actieve relatie op de relatiepagina;
- het altijd tonen van een bevestigingsmodal vóór uitvoering;
- het server-side controleren of de gebruiker deze relatie mag ontkoppelen of een ontkoppelverzoek mag starten;
- het deactiveren van een relatie wanneer directe ontkoppeling is toegestaan;
- het vastleggen van een ontkoppelverzoek wanneer directe ontkoppeling niet is toegestaan;
- het registreren van relatie-events en het informeren van de andere partij;
- de gevolgen voor toekomstige berichten, delen, ouder/voogd-inzage, docentniveau-autorisatie en live meekijken.
Deze usecase beschrijft niet:
- het intrekken van openstaande relatie-uitnodigingen;
- het accepteren of afwijzen van relatie-uitnodigingen;
- het volledig afhandelen van een ontkoppelverzoek door een bevoegde partij;
- het verwijderen van privéberichtgeschiedenis;
- het verwijderen van historische oefenruns of gedeelde-oefeningrecords;
- beheerderherstel of technische datacorrectie.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is ingelogd. |
| PRE-002 | De gebruiker bevindt zich op de pagina Relaties. |
| PRE-003 | Er bestaat een actieve UserRelationships-relatie die zichtbaar is voor de huidige gebruiker en rolcontext. |
| PRE-004 | De relatieactie Ontkoppel of Ontkoppelverzoek is functioneel beschikbaar voor het relatietype en de rolcontext. |
| PRE-005 | De relatie is niet al gedeactiveerd, ingetrokken of systeemmatig geblokkeerd voor handmatige ontkoppeling. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | Bij directe ontkoppeling is UserRelationships.IsActive = false gezet en zijn DeactivatedAtUtc en DeactivatedByUserId gevuld. |
| POST-002 | Bij directe ontkoppeling is een RelationshipEvents-event met type relationship_deactivated vastgelegd. |
| POST-003 | Bij een ontkoppelverzoek blijft de relatie actief en wordt een RelationshipEvents-event met type unlink_requested vastgelegd. |
| POST-004 | De andere partij ontvangt een systeembericht of gelijkwaardige notificatie over de ontkoppeling of het ontkoppelverzoek. |
| POST-005 | De relatie verdwijnt uit actieve relatieoverzichten zodra de relatie daadwerkelijk gedeactiveerd is. |
| POST-006 | Bestaande historie, privéberichten, systeemberichten, auditrecords, oefenruns en gedeelde-oefeningrecords blijven behouden. |
| POST-007 | Nieuwe relatie-afhankelijke acties worden geblokkeerd zodra de relatie niet meer actief is. |
6. Trigger
De gebruiker kiest op de pagina Relaties bij een bestaande relatie de actie Ontkoppel of Ontkoppelverzoek.
7. Normale processtroom
Directe ontkoppeling
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Gebruiker | SCH-GEN-08 — Relaties | Klikt op Ontkoppel bij een actieve relatie. | Het systeem opent de bevestigingsmodal. | PopupKey POP-GEN-REL-DISCONNECT-CONFIRM. |
| 2 | Gebruiker | Bevestigingsmodal | Leest de waarschuwing over de gevolgen van ontkoppelen. | Het systeem toont primaire en secundaire actie. | Popuptekst en knoppen komen uit het popupregister. |
| 3 | Gebruiker | Bevestigingsmodal | Kiest Annuleren. | De modal sluit en de relatie blijft ongewijzigd. | Geen datamutatie. |
| 4 | Gebruiker | Bevestigingsmodal | Kiest Ontkoppelen. | Het systeem start de server-side ontkoppelactie. | Frontend-bevestiging is geen autorisatie. |
| 5 | Systeem | Backend | Controleert gebruiker, rolcontext, relatietype en actieve relatie. | De actie gaat alleen door als de actor één van de betrokken partijen is en directe ontkoppeling is toegestaan. | Server-side relatie- en rolcontextcontrole. |
| 6 | Systeem | Database | Deactiveert de relatie. | UserRelationships.IsActive = false; DeactivatedAtUtc en DeactivatedByUserId worden gevuld. | Relatie wordt niet hard verwijderd. |
| 7 | Systeem | Database / eventlaag | Registreert de gebeurtenis. | RelationshipEvents.EventType = relationship_deactivated. | Event bevat actor, rolcontext, target en samenvatting. |
| 8 | Systeem | Communicatie | Informeert de andere partij. | Er wordt een systeembericht of gelijkwaardige notificatie aangemaakt. | SystemMessages.Type krijgt een gestandaardiseerde relatie-notificatiecode. EntityType blijft leeg wanneer er geen ondersteund domeinverwijzingstype beschikbaar is. |
| 9 | Systeem | SCH-GEN-08 — Relaties | Vernieuwt de relatiepagina. | De gedeactiveerde relatie staat niet meer in de actieve relatieblokken. | Alleen actieve relaties worden in actieve secties getoond. |
Ontkoppelverzoek
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Gebruiker | SCH-GEN-08 — Relaties | Klikt op Ontkoppelverzoek bij een actieve relatie. | Het systeem opent de bevestigingsmodal. | PopupKey POP-GEN-REL-UNLINK-REQUEST-CONFIRM. |
| 2 | Gebruiker | Bevestigingsmodal | Leest de waarschuwing dat de relatie niet direct wordt beëindigd. | Het systeem toont primaire en secundaire actie. | Popuptekst en knoppen komen uit het popupregister. |
| 3 | Gebruiker | Bevestigingsmodal | Kiest Annuleren. | De modal sluit en de relatie blijft ongewijzigd. | Geen datamutatie. |
| 4 | Gebruiker | Bevestigingsmodal | Kiest Ontkoppelverzoek versturen. | Het systeem start de server-side verzoekactie. | Frontend-bevestiging is geen autorisatie. |
| 5 | Systeem | Backend | Controleert gebruiker, rolcontext, relatietype en actieve relatie. | De actie gaat alleen door als de actor het verzoek mag starten. | Server-side relatie- en rolcontextcontrole. |
| 6 | Systeem | Database / eventlaag | Registreert het verzoek. | RelationshipEvents.EventType = unlink_requested. | De relatie blijft actief zolang er geen vervolgactie is uitgevoerd. |
| 7 | Systeem | Communicatie | Informeert de andere of bevoegde partij. | Er wordt een systeembericht of gelijkwaardige notificatie aangemaakt. | Vervolgafhandeling ligt buiten deze usecase. |
| 8 | Systeem | SCH-GEN-08 — Relaties | Vernieuwt of markeert de relatiecontext. | De actieve relatie blijft zichtbaar zolang deze niet daadwerkelijk is gedeactiveerd. | Een eventuele verzoekindicatie is alleen zichtbaar wanneer de UI dit ondersteunt. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1 | De relatie is niet meer actief wanneer de gebruiker klikt. | Het systeem weigert de actie en ververst de relatiepagina. | POP-GEN-REL-DISCONNECT-NOT-ALLOWED. | Geen. |
| ALT-002 | 4 | De gebruiker annuleert in de bevestigingsmodal. | De modal sluit en de relatie blijft ongewijzigd. | Geen. | Geen. |
| ALT-003 | 5 | De gebruiker is geen betrokken partij bij de relatie. | Het systeem weigert de actie server-side. | POP-GEN-REL-DISCONNECT-NOT-ALLOWED. | Geen. |
| ALT-004 | 5 | De actieve rolcontext van de gebruiker past niet bij de relatie. | Het systeem weigert de actie server-side. | POP-GEN-REL-DISCONNECT-NOT-ALLOWED. | Geen. |
| ALT-005 | 5 | Het relatietype staat directe ontkoppeling niet toe vanuit deze rolcontext. | Het systeem verwerkt de actie niet als directe ontkoppeling; alleen een ontkoppelverzoek is toegestaan wanneer die actie beschikbaar is. | POP-GEN-REL-DISCONNECT-NOT-ALLOWED of verzoekflow. | Geen directe ontkoppeling. |
| ALT-006 | 5 | Een systeemrelatie, zoals een actieve AdminAdmin-relatie, is niet handmatig ontkoppelbaar. | Het systeem toont de actie disabled of weigert de actie server-side. | POP-GEN-REL-DISCONNECT-NOT-ALLOWED. | Geen. |
| ALT-007 | 6 | De relatie is door concurrency al gedeactiveerd. | Het systeem behandelt de operatie idempotent en toont de actuele situatie. | Informatieve melding of pagina-refresh. | Geen dubbele deactivatie. |
| ALT-008 | 6 | De database-mutatie mislukt. | Het systeem toont een foutmelding en laat de relatie actief. | POP-GEN-REL-DISCONNECT-FAILED. | Geen of rollback. |
| ALT-009 | 8 | Het systeembericht aan de andere partij kan niet worden aangemaakt. | De ontkoppeling blijft leidend wanneer de relatie-mutatie al succesvol is, maar de fout wordt technisch gelogd voor herstel of herprobeerlogica. | Geen blokkerende melding voor succesvolle ontkoppeling, tenzij de transactie bewust alles terugdraait. | Relatie blijft gedeactiveerd of transactie wordt volledig teruggedraaid volgens technische transactiegrens. |
| ALT-010 | 9 | De relatie was bepalend voor toekomstige privéberichten. | Nieuwe privéberichten naar deze relatie worden geblokkeerd. | Afhandeling in berichtenusecases. | Geen verwijdering van bestaande berichten. |
| ALT-011 | 9 | De relatie was een vriendschap met gedeelde oefeningen. | Nieuwe gedeelde oefeningen via deze relatie worden geblokkeerd. | Afhandeling in deelusecases. | Bestaande SharedExercises worden niet hard verwijderd. |
| ALT-012 | 9 | De relatie was een ouder-/voogdrelatie. | Ouder-/voogdinzage, geschiedenis en live meekijken vervallen zodra de relatie daadwerkelijk gedeactiveerd is. | Geen directe popup in deze usecase. | Autorisatie wordt afgeleid uit het ontbreken van een actieve relatie. |
| ALT-013 | 9 | De relatie was een docentrelatie. | Niveauautorisaties en oefentoegang die uit deze docentrelatie voortkomen vervallen zodra de relatie daadwerkelijk wordt beëindigd. | Geen directe popup in deze usecase. | Eventuele autorisatie-intrekking wordt in het docent-/niveauautorisatiedomein verwerkt. |
9. Business rules
| ID | Regel |
|---|---|
| BR-UC-GEN-REL-004-001 | Iedere ontkoppelactie of ontkoppelverzoekactie opent altijd eerst een bevestigingsmodal. |
| BR-UC-GEN-REL-004-002 | Frontend-zichtbaarheid of een aangeklikte knop is geen autorisatie; de relatie en rolcontext worden server-side opnieuw gecontroleerd. |
| BR-UC-GEN-REL-004-003 | Een relatie mag alleen direct worden gedeactiveerd wanneer de gebruiker één van de betrokken partijen is en het relatietype directe ontkoppeling vanuit die rolcontext toestaat. |
| BR-UC-GEN-REL-004-004 | Relaties worden niet hard verwijderd; ontkoppelen betekent IsActive = false plus auditvelden en relatie-event. |
| BR-UC-GEN-REL-004-005 | Een ontkoppelverzoek deactiveert de relatie niet direct. |
| BR-UC-GEN-REL-004-006 | Na daadwerkelijke deactivatie mag de relatie niet meer meetellen als actieve relatie en niet meer gebruikt worden voor nieuwe relatie-afhankelijke acties. |
| BR-UC-GEN-REL-004-007 | Bestaande privéberichten, systeemberichten, auditrecords, historische oefenruns en gedeelde-oefeningrecords worden niet hard verwijderd door ontkoppelen. |
| BR-UC-GEN-REL-004-008 | Bij ontkoppeling moet minimaal één relatie-event worden vastgelegd. |
| BR-UC-GEN-REL-004-009 | De andere partij moet geïnformeerd worden over de ontkoppeling of het ontkoppelverzoek, tenzij een technische fout dit tijdelijk verhindert. |
| BR-UC-GEN-REL-004-010 | Een actieve AdminAdmin-relatie mag niet handmatig worden ontkoppeld zolang beide gebruikers een actieve beheerdersrol hebben. |
| BR-UC-GEN-REL-004-011 | Bij gecombineerde gebruikers mag ontkoppelen van één relatietype of rolcontext geen andere actieve relatie tussen dezelfde natuurlijke personen wijzigen. |
| BR-UC-GEN-REL-004-012 | Ontkoppelen van een vriendschap blokkeert toekomstige privéberichten en oefeningdelen via die vriendschapscontext, maar verwijdert geen bestaande historie. |
| BR-UC-GEN-REL-004-013 | Ontkoppelen van een ouder-/voogdrelatie beëindigt ouder-/voogdautorisatie op leerlinggegevens zodra de relatie daadwerkelijk inactief is. |
| BR-UC-GEN-REL-004-014 | Ontkoppelen van een docentrelatie kan gevolgen hebben voor niveauautorisatie en oefentoegang, maar die intrekking moet via de betreffende autorisatie- en docentstructuurregels consistent worden verwerkt. |
Autorisatie en server-side controles
| Controle | Regel |
|---|---|
| Actorcontrole | De ingelogde gebruiker moet betrokken zijn bij de relatie of expliciet bevoegd zijn om de relatie namens een betrokkene te beëindigen. |
| Rolcontextcontrole | De actieve rolcontext moet overeenkomen met de zijde van de relatie waarop de gebruiker handelt. |
| Relatiecontrole | Het UserRelationships-record moet bestaan, actief zijn en passen bij het gevraagde relatietype. |
| Actiecontrole | Directe ontkoppeling en ontkoppelverzoek zijn verschillende acties en mogen niet door elkaar worden behandeld. |
| Systeemrelatiecontrole | Relaties die systeemmatig beheerd worden, zoals actieve AdminAdmin, mogen niet handmatig worden ontkoppeld zolang de systeemregel dit verbiedt. |
| Concurrencycontrole | De server moet opnieuw controleren of de relatie nog actief is op het moment van bevestigen. |
| Gevolgcontrole | Bij relatievormen met afgeleide autorisaties moet het systeem zorgen dat nieuwe toegang of acties niet meer mogelijk zijn zodra de relatie inactief is. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
RelationshipId | Verplicht; moet verwijzen naar een bestaand UserRelationships-record. |
IsActive | Moet true zijn vóór directe deactivatie; herhaalde deactivatie mag geen tweede actieve mutatie veroorzaken. |
DeactivatedAtUtc | Wordt gevuld met server-UTC-tijd bij directe ontkoppeling. |
DeactivatedByUserId | Wordt gevuld met de ingelogde gebruiker bij directe ontkoppeling. |
DeactivationReason | Optioneel binnen deze gebruikersflow, tenzij een specifieke vervolgflow een reden verplicht maakt. |
RelationshipEvents.EventType | Moet een gestandaardiseerde waarde gebruiken, zoals relationship_deactivated of unlink_requested. |
RelationshipEvents.ActorUserId | Wordt gevuld met de gebruiker die de actie bevestigde. |
RelationshipEvents.ActorRoleId | Wordt gevuld met de actieve rolcontext waarmee de actie is uitgevoerd. |
RelationshipEvents.TargetUserId | Wordt gevuld met de andere partij wanneer deze eenduidig bepaalbaar is. |
| Popupactie | Alleen de bevestigde primaire actie mag de command uitvoeren; annuleren sluit de modal zonder mutatie. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 6 | Database | UserRelationships | Bij directe ontkoppeling wordt IsActive = false, DeactivatedAtUtc = nowUtc, DeactivatedByUserId = actor en UpdatedAtUtc = nowUtc. |
| 7 | Event / audit | RelationshipEvents | Bij directe ontkoppeling wordt een event relationship_deactivated vastgelegd met RelationshipId, actor, rolcontext en target. |
| 6 | Event / audit | RelationshipEvents | Bij ontkoppelverzoek wordt een event unlink_requested vastgelegd; UserRelationships.IsActive blijft ongewijzigd. |
| 8 | Database / communicatie | SystemMessages | De andere partij of bevoegde partij krijgt een systeembericht of gelijkwaardige notificatie. |
| 9 | Runtime / autorisatie | Relatie-afhankelijke toegang | Nieuwe acties worden geblokkeerd doordat autorisatie opnieuw uit actieve relaties wordt afgeleid. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
UserRelationships hard delete | Relaties worden niet hard verwijderd; historie en audit moeten behouden blijven. |
RelationshipInvitations | Ontkoppelen verwerkt een bestaande relatie, niet een openstaande uitnodiging. |
PrivateMessageThreads | Bestaande gespreksthreads worden niet verwijderd door ontkoppelen. |
PrivateMessages | Bestaande privéberichten blijven behouden binnen de daarvoor geldende bewaartermijnen. |
SharedExercises | Een eenmaal gedeelde oefening wordt niet teruggetrokken door de afzender; bestaande share-records blijven administratief bestaan. |
ExerciseRuns | Historische oefenruns worden niet aangepast of verwijderd door relatieontkoppeling. |
Users | Ontkoppelen wijzigt geen gebruikersaccount of roltoekenning. |
Roles | Ontkoppelen trekt geen rol van een gebruiker in. |
13. State diagram
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
Directe ontkoppeling
Ontkoppelverzoek
17. Popupverwijzingen
De usecase legt alleen popupverwijzingen vast. Titel, tekst, knoppen en overige popupdetails worden centraal beheerd in het popupregister.
| PopupKey | Moment / context | Doel |
|---|---|---|
POP-GEN-REL-DISCONNECT-CONFIRM | Directe ontkoppeling bevestigen | Gebruiker laten bevestigen dat de relatie beëindigd moet worden. |
POP-GEN-REL-UNLINK-REQUEST-CONFIRM | Ontkoppelverzoek bevestigen | Gebruiker laten bevestigen dat een ontkoppelverzoek gestart moet worden. |
POP-GEN-REL-DISCONNECT-NOT-ALLOWED | Relatie, rolcontext of relatietype staat de actie niet toe | Uitleggen dat de relatie niet vanuit deze context ontkoppeld kan worden. |
POP-GEN-REL-DISCONNECT-FAILED | Technische fout bij opslaan of eventregistratie | Uitleggen dat de ontkoppeling of het verzoek niet verwerkt is. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Relatiebeheer beschrijft directe ontkoppeling, ontkoppelverzoeken, bevestigingsmodal en gevolgen voor zichtbaarheid. |
| Technisch Ontwerp | Relatiebeheer, uitnodigingen en gedeelde oefeningen beschrijft soft-deactivatie, RelationshipDisconnectRequested, relatie-events en server-side bevoegdheidscontrole. |
| Technisch Ontwerp | Privacy, retentie, anonimisering en gegevensbescherming beschrijft historische context, soft links en privacygrenzen na beëindiging van relaties. |
| Software Requirements Specification | Borgt de centrale requirements voor relatiebeëindiging, beheerderontkoppeling, conflictvrij gedrag en traceerbare acceptatiecriteria. |
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-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-GEN-REL-004-001 | SRS-REL-003 SRS-REL-006 AC-REL-003 AC-REL-006 | Bij iedere ontkoppelactie of ontkoppelverzoekactie eerst een bevestigingsmodal tonen |
REQ-UC-GEN-REL-004-002 | SRS-REL-003 SRS-REL-006 AC-REL-003 AC-REL-006 | Een relatie pas direct ontkoppelen nadat de gebruiker de bevestigingsmodal heeft bevestigd |
REQ-UC-GEN-REL-004-003 | SRS-AUTH-001 SRS-REL-003 SRS-REL-006 AC-AUTH-001 AC-REL-003 AC-REL-006 | Server-side controleren dat de actor betrokken of bevoegd is voordat een relatie wordt ontkoppeld of een ontkoppelverzoek wordt geregistreerd |
REQ-UC-GEN-REL-004-004 | SRS-AUTH-001 SRS-REL-001 AC-AUTH-001 AC-REL-001 | Server-side controleren dat de actieve rolcontext past bij de relatie en de gevraagde actie |
REQ-UC-GEN-REL-004-005 | SRS-REL-003 SRS-REL-006 AC-REL-003 AC-REL-006 | Directe ontkoppeling en ontkoppelverzoek als verschillende acties behandelen |
REQ-UC-GEN-REL-004-006 | SRS-REL-003 SRS-REL-006 AC-REL-003 AC-REL-006 | Relaties soft deactiveren en mag relatiegegevens niet hard verwijderen als onderdeel van reguliere ontkoppeling |
REQ-UC-GEN-REL-004-007 | SRS-REL-003 SRS-REL-006 SRS-NFR-AUD-001 AC-REL-003 AC-REL-006 AC-NFR-AUD-001 | Bij directe ontkoppeling UserRelationships.IsActive op false zetten en auditvelden vullen |
REQ-UC-GEN-REL-004-008 | SRS-REL-003 SRS-REL-006 SRS-NFR-AUD-001 AC-REL-003 AC-REL-006 AC-NFR-AUD-001 | Bij directe ontkoppeling een RelationshipEvents-event relationship_deactivated vastleggen |
REQ-UC-GEN-REL-004-009 | SRS-REL-003 SRS-REL-006 SRS-NFR-AUD-001 AC-REL-003 AC-REL-006 AC-NFR-AUD-001 | Bij een ontkoppelverzoek een RelationshipEvents-event unlink_requested vastleggen zonder de relatie direct te deactiveren |
REQ-UC-GEN-REL-004-010 | SRS-AUTH-001 SRS-REL-003 SRS-REL-006 AC-AUTH-001 AC-REL-003 AC-REL-006 | De andere of bevoegde partij informeren over een ontkoppeling of ontkoppelverzoek |
REQ-UC-GEN-REL-004-011 | SRS-REL-003 SRS-REL-006 AC-REL-003 AC-REL-006 | Voorkomen dat een niet-actieve relatie opnieuw als actieve relatie wordt ontkoppeld |
REQ-UC-GEN-REL-004-012 | SRS-REL-003 SRS-REL-006 SRS-ADM-001 AC-REL-003 AC-REL-006 AC-ADM-001 | Voorkomen dat systeemmatig beheerde relaties handmatig worden ontkoppeld zolang de systeemregel dit verbiedt |
REQ-UC-GEN-REL-004-013 | SRS-AUTH-001 SRS-REL-003 SRS-REL-006 AC-AUTH-001 AC-REL-003 AC-REL-006 | Na daadwerkelijke ontkoppeling nieuwe relatie-afhankelijke acties blokkeren |
REQ-UC-GEN-REL-004-014 | SRS-REL-003 SRS-REL-006 SRS-MSG-003 SRS-LRN-009 SRS-SHR-002 SRS-SHR-005 AC-REL-003 AC-REL-006 AC-MSG-003 AC-LRN-009 AC-SHR-002 AC-SHR-005 | Bestaande privéberichten, systeemberichten, gedeelde-oefeningrecords, oefenruns en auditrecords niet verwijderen als gevolg van ontkoppelen |
REQ-UC-GEN-REL-004-015 | SRS-AUTH-001 SRS-REL-003 SRS-REL-006 AC-AUTH-001 AC-REL-003 AC-REL-006 | Bij ontkoppeling van één rolcontext of relatietype andere actieve relaties tussen dezelfde gebruikers ongemoeid laten |
REQ-UC-GEN-REL-004-016 | SRS-REL-003 SRS-REL-006 SRS-NFR-LOG-001 AC-REL-003 AC-REL-006 AC-NFR-LOG-001 | Technische fouten bij ontkoppelen of verzoekregistratie afhandelen zonder dat de gebruiker ten onrechte denkt dat de actie succesvol is verwerkt |