UC-GEN-TIC-010 — Beheerder koppelen of ontkoppelen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-TIC-010 |
| Naam | Beheerder koppelen of ontkoppelen |
| Domein | Meldingen |
| Primaire actor | Beheerder |
| Secundaire actor(en) | Systeem, meldingenservice, database, eventueel andere beheerder als gekoppelde of ontkoppelde behandelaar |
| Rolcontext | Ingelogde gebruiker met actieve beheerdercontext die een melding in beheerweergave mag behandelen |
| Betrokken schermen | SCH-BEH-02-01 — Meldingenoverzicht beheerder |
| Gerelateerde usecases | UC-GEN-TIC-008 — Beheerdersoverzicht meldingen bekijken; UC-GEN-TIC-009 — Melding openen als beheerder; UC-GEN-TIC-011 — Extern bericht plaatsen; UC-GEN-TIC-012 — Intern bericht plaatsen; UC-GEN-TIC-013 — Melding oplossen of sluiten; UC-GEN-TIC-014 — Melding heropenen door beheerder |
| Primaire entiteiten | Tickets, TicketAssignments, TicketHistory |
| Secundaire entiteiten / events | Users, TicketDiscussionMessages, TicketAdminAssigned, TicketAdminUnassigned, TicketStatusChanged, TicketAssignmentFailed |
| Gerelateerde popups | POP-GEN-TIC-UNASSIGN-ADMIN, POP-GEN-TIC-ASSIGN-NOT-ALLOWED, POP-GEN-TIC-ASSIGN-FAILED, POP-GEN-TIC-NOT-AVAILABLE |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must have |
2. Omschrijving
Een beheerder koppelt zichzelf of een andere beheerder aan een melding, of ontkoppelt een eerder gekoppelde beheerder. Een melding mag meerdere actieve beheerderkoppelingen tegelijk hebben. De koppeling is bedoeld om zichtbaar te maken welke beheerders de melding actief behandelen of volgen binnen de beheercontext.
Wanneer een melding nog status Nieuw heeft en de eerste actieve beheerder wordt gekoppeld, wordt de melding in behandeling genomen. De status verandert dan naar In behandeling. Het koppelen van extra beheerders wijzigt de behandelstatus niet automatisch. Het ontkoppelen van een beheerder vereist altijd een reden. Deze reden is bedoeld voor interne herleidbaarheid en wordt niet zichtbaar gemaakt aan de melder.
Koppelen en ontkoppelen worden auditbaar vastgelegd in TicketHistory. Wanneer dat functioneel zinvol is, mag daarnaast een intern systeemgegenereerd discussie-item worden toegevoegd, maar dit vervangt nooit de formele auditregel in TicketHistory. De reguliere gebruiker ontvangt door koppelen of ontkoppelen geen systeembericht en ziet ook niet welke beheerders gekoppeld zijn.
Deze usecase beschrijft alleen het beheer van beheerderkoppelingen. Het plaatsen van interne of externe berichten, oplossen, sluiten, heropenen en doorzetten naar docent vallen buiten deze usecase.
3. Scope
Deze usecase beschrijft:
- het koppelen van de ingelogde beheerder aan een melding;
- het koppelen van een andere actieve beheerder aan een melding;
- het voorkomen van dubbele actieve beheerderkoppelingen voor dezelfde beheerder op dezelfde melding;
- het ontkoppelen van een actieve beheerderkoppeling;
- het verplicht vragen en valideren van een reden bij ontkoppelen;
- het server-side controleren van sessie, featurestatus, actieve beheerdercontext, tickettoestand en beheerderselectie;
- het aanmaken of activeren van een
TicketAssignments-record bij koppelen; - het administratief beëindigen van een actieve
TicketAssignments-koppeling bij ontkoppelen; - het vastleggen van
TicketHistorybij koppelen en ontkoppelen; - het eventueel vastleggen van een intern, systeemgegenereerd discussie-item voor beheercontext;
- de statusovergang van Nieuw naar In behandeling wanneer de eerste actieve beheerder wordt gekoppeld;
- het opnieuw afleiden van beheerfilters zoals Nieuw en Aan mij toegewezen;
- foutpaden wanneer de melding niet beschikbaar is, de geselecteerde beheerder ongeldig is, de actie niet toegestaan is of de mutatie niet transactioneel verwerkt kan worden.
Deze usecase beschrijft niet:
- het algemene openen van de beheerderdetailweergave;
- het zoeken of filteren in het beheerdersoverzicht;
- het toewijzen van subrollen, prioriteiten of escalatieniveaus;
- het wijzigen van de inhoudelijke meldingstatus los van het koppelen;
- het vragen van aanvullende informatie aan de gebruiker;
- het plaatsen van reguliere interne of externe berichten;
- het oplossen of sluiten van een melding;
- het heropenen van een gesloten melding door beheer;
- het doorzetten naar docent;
- notificaties naar de melder;
- beheer van popupteksten of seeddata.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is ingelogd. |
| PRE-002 | De gebruiker heeft een actieve beheerdercontext. |
| PRE-003 | De meldingenfunctionaliteit is sitebreed beschikbaar. |
| PRE-004 | De beheerderdetailweergave van de melding is geopend of er is een geldige ticketreferentie beschikbaar. |
| PRE-005 | De melding bestaat als Tickets-record. |
| PRE-006 | De melding is niet functioneel gesloten, tenzij de UI uitsluitend historische gekoppelde beheerders toont zonder mutatieactie. |
| PRE-007 | Voor koppelen is een actieve beheerder gekozen die in beheercontext gekoppeld mag worden. |
| PRE-008 | Voor koppelen bestaat nog geen actieve TicketAssignments-koppeling voor dezelfde melding en dezelfde beheerder. |
| PRE-009 | Voor ontkoppelen bestaat een actieve TicketAssignments-koppeling. |
| PRE-010 | Voor ontkoppelen kan de beheerder een verplichte reden invullen. |
| PRE-011 | De applicatie kan assignmentmutatie, eventuele statusupdate, historyregel en eventuele interne markering transactioneel verwerken. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | Bij koppelen bestaat er een actieve TicketAssignments-koppeling tussen de melding en de gekozen beheerder. |
| POST-002 | Bij koppelen is vastgelegd wie de koppeling heeft uitgevoerd en wanneer. |
| POST-003 | Bij koppelen ontstaat geen dubbele actieve koppeling voor dezelfde melding en dezelfde beheerder. |
| POST-004 | Wanneer de melding vóór de eerste actieve koppeling status Nieuw had, krijgt de melding status In behandeling. |
| POST-005 | Wanneer de melding al In behandeling of Wachten op reactie was, wijzigt koppelen van een extra beheerder de processtatus niet automatisch. |
| POST-006 | Bij ontkoppelen is de betreffende TicketAssignments-koppeling administratief beëindigd of inactief gemaakt. |
| POST-007 | Bij ontkoppelen is vastgelegd wie de ontkoppeling heeft uitgevoerd, wanneer en met welke interne reden. |
| POST-008 | De ontkoppelreden is niet zichtbaar voor de melder. |
| POST-009 | Wanneer de laatste actieve beheerder wordt ontkoppeld terwijl de melding status In behandeling heeft, krijgt de melding opnieuw status Nieuw. |
| POST-010 | Wanneer de laatste actieve beheerder wordt ontkoppeld terwijl de melding status Wachten op reactie heeft, blijft de status Wachten op reactie behouden omdat de externe reactie nog steeds openstaat. |
| POST-011 | Bij koppelen is minimaal één compacte TicketHistory-regel vastgelegd. |
| POST-012 | Bij ontkoppelen is minimaal één compacte TicketHistory-regel vastgelegd. |
| POST-013 | Wanneer een statusovergang plaatsvindt, is deze statuswijziging eveneens auditbaar. |
| POST-014 | Wanneer een intern systeemgegenereerd discussie-item wordt toegevoegd, heeft dit Visibility = Internal. |
| POST-015 | Er wordt geen extern discussie-item aangemaakt door koppelen of ontkoppelen. |
| POST-016 | Er wordt geen systeembericht aan de melder aangemaakt door koppelen of ontkoppelen. |
| POST-017 | De gebruikersdetailweergave toont nog steeds geen namen van gekoppelde beheerders. |
| POST-018 | Beheerfilters zoals Nieuw en Aan mij toegewezen kunnen na verwerking opnieuw worden afgeleid. |
| POST-019 | Bij een niet-toegestane of mislukte mutatie blijft de bestaande ticket- en assignmenttoestand ongewijzigd. |
| POST-020 | Bij een transactionele fout blijven assignment, status, history en eventuele interne markering consistent. |
6. Trigger
De beheerder opent de beheerderdetailweergave van een melding en kiest een actie om zichzelf of een andere beheerder te koppelen, of om een actieve beheerderkoppeling te ontkoppelen.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Beheerder | SCH-BEH-02-01 — Detailpaneel | Bekijkt de sectie met gekoppelde beheerders. | Het systeem toont de actuele actieve beheerderkoppelingen. | Beheerderdetail openen valt onder UC-GEN-TIC-009. |
| 2 | Beheerder | Detailpaneel / beheerderkoppelingen | Kiest Beheerder koppelen of een gelijkwaardige actie. | Het systeem toont de beschikbare beheerderselectie of koppelt direct de ingelogde beheerder wanneer de actie Koppel mij is. | Alleen actieve beheerders zijn koppelbaar. |
| 3 | Beheerder | Beheerderselectie | Selecteert zichzelf of een andere beheerder. | Het systeem bereidt de koppeling voor. | De geselecteerde beheerder is nog niet actief gekoppeld aan deze melding. |
| 4 | Systeem | Autorisatielaag | Controleert sessie, featurestatus en actieve beheerdercontext. | De actie gaat alleen verder bij geldige beheerautorisatie. | Server-side controle is verplicht. |
| 5 | Systeem | Meldingenservice | Controleert de actuele meldingtoestand. | De actie wordt alleen verwerkt wanneer de melding bestaat en niet functioneel gesloten is. | Gesloten meldingen worden niet via deze usecase opnieuw behandelbaar gemaakt. |
| 6 | Systeem | Meldingenservice | Controleert de geselecteerde beheerder. | De actie wordt geweigerd als de gebruiker geen actieve beheerder is of al actief gekoppeld is. | Geen dubbele actieve TicketAssignments. |
| 7 | Systeem | Database / transactie | Maakt of activeert de beheerderkoppeling. | Er ontstaat een actieve TicketAssignments-koppeling. | Actor, doelbeheerder en tijdstip worden vastgelegd. |
| 8 | Systeem | Statuslogica | Controleert of dit de eerste actieve beheerderkoppeling is. | Bij status Nieuw wijzigt de melding naar In behandeling. | Eerste koppeling neemt de melding in behandeling. |
| 9 | Systeem | Audit / history | Legt de koppeling vast. | Er ontstaat een compacte TicketHistory-regel. | History beschrijft de actie; vrije toelichting is niet nodig bij koppelen. |
| 10 | Systeem | Beheerderdetail-readmodel | Ververst gekoppelde beheerders en beheerfilters. | De nieuwe beheerderkoppeling wordt zichtbaar in beheercontext. | De melder ziet deze koppeling niet. |
| 11 | Beheerder | Detailpaneel / beheerderkoppelingen | Kiest bij een actieve koppeling Ontkoppel. | Het systeem opent een bevestigingspopup met verplicht redenveld. | POP-GEN-TIC-UNASSIGN-ADMIN. |
| 12 | Beheerder | Popup | Vult de reden van ontkoppelen in en bevestigt. | Het systeem valideert de reden en start de ontkoppeling. | Reden is verplicht en intern. |
| 13 | Systeem | Autorisatielaag | Controleert opnieuw sessie, featurestatus en actieve beheerdercontext. | De actie gaat alleen verder bij geldige beheerautorisatie. | Race conditions worden op bevestigingsmoment opnieuw gecontroleerd. |
| 14 | Systeem | Meldingenservice | Controleert de actuele actieve assignment. | De actie wordt alleen verwerkt wanneer de koppeling nog actief bestaat. | Inactieve of ontbrekende koppelingen kunnen niet opnieuw worden ontkoppeld. |
| 15 | Systeem | Database / transactie | Beëindigt of inactiveert de assignment. | De koppeling is niet langer actief. | Actor, tijdstip en reden worden vastgelegd. |
| 16 | Systeem | Statuslogica | Controleert of nog actieve beheerderkoppelingen bestaan. | Wanneer geen actieve koppelingen overblijven en status In behandeling was, wordt status Nieuw. | Bij Wachten op reactie blijft de status behouden. |
| 17 | Systeem | Audit / history | Legt de ontkoppeling vast. | Er ontstaat een compacte TicketHistory-regel. | De ontkoppelreden blijft intern herleidbaar. |
| 18 | Systeem | Interne discussie / markering | Maakt indien relevant een intern systeemgegenereerd discussie-item. | Het interne item is alleen zichtbaar voor beheerders. | Dit item vervangt TicketHistory niet. |
| 19 | Systeem | Beheerderdetail-readmodel | Ververst gekoppelde beheerders, status en filters. | De beheerder ziet de bijgewerkte detailweergave. | Geen systeembericht naar de melder. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 4 / 13 | De sessie is verlopen of ontbreekt. | Het systeem start de generieke loginflow. | Generieke loginflow. | Geen. |
| ALT-002 | 4 / 13 | De gebruiker heeft geen actieve beheerdercontext. | Het systeem weigert de beheeractie. | Generieke toegang-geweigerd-afhandeling. | Geen. |
| ALT-003 | 5 | De melding bestaat niet of is niet beschikbaar. | Het systeem toont geen ticketdetails en verwerkt geen mutatie. | POP-GEN-TIC-NOT-AVAILABLE. | Geen. |
| ALT-004 | 5 | De melding is functioneel gesloten. | Het systeem blokkeert koppelen of ontkoppelen via deze usecase. | POP-GEN-TIC-ASSIGN-NOT-ALLOWED. | Geen. |
| ALT-005 | 6 | De geselecteerde gebruiker is geen actieve beheerder. | Het systeem weigert de koppeling. | POP-GEN-TIC-ASSIGN-NOT-ALLOWED. | Geen. |
| ALT-006 | 6 | De geselecteerde beheerder is al actief gekoppeld. | Het systeem voorkomt een dubbele actieve koppeling. | POP-GEN-TIC-ASSIGN-NOT-ALLOWED. | Geen. |
| ALT-007 | 7 | De koppeling kan niet transactioneel worden opgeslagen. | Het systeem rolt de actie terug en toont een veilige foutmelding. | POP-GEN-TIC-ASSIGN-FAILED. | Geen blijvende mutatie. |
| ALT-008 | 11 | De beheerder annuleert ontkoppelen. | De popup sluit zonder verwerking. | Geen of standaard sluiten van popup. | Geen. |
| ALT-009 | 12 | De ontkoppelreden is leeg of bestaat alleen uit whitespace. | Het systeem toont inline validatie en verwerkt de actie niet. | Inline validatie binnen POP-GEN-TIC-UNASSIGN-ADMIN. | Geen. |
| ALT-010 | 12 | De ontkoppelreden overschrijdt de toegestane lengte. | Het systeem toont inline validatie en verwerkt de actie niet. | Inline validatie binnen POP-GEN-TIC-UNASSIGN-ADMIN. | Geen. |
| ALT-011 | 14 | De assignment is inmiddels al door een andere beheerder ontkoppeld. | Het systeem weigert de actie en ververst de detailweergave. | POP-GEN-TIC-ASSIGN-NOT-ALLOWED. | Geen nieuwe mutatie. |
| ALT-012 | 15 | De ontkoppeling kan niet transactioneel worden opgeslagen. | Het systeem rolt de actie terug en toont een veilige foutmelding. | POP-GEN-TIC-ASSIGN-FAILED. | Geen blijvende mutatie. |
| ALT-013 | 16 | Laatste actieve beheerder wordt ontkoppeld terwijl status Wachten op reactie is. | Het systeem behoudt Wachten op reactie en ververst alleen de assignmentcontext. | Geen domeinspecifieke popup. | Assignment wordt beëindigd; status blijft gelijk. |
| ALT-014 | 18 | Intern discussie-item kan niet worden aangemaakt maar assignment en history zijn gelukt. | Het systeem mag het optionele interne item overslaan wanneer dit technisch als niet-verplicht is ingericht. | Geen of veilige technische melding in beheercontext. | Assignment en history blijven staan. |
| ALT-015 | 4-18 | Race condition door gelijktijdige beheerdermutaties. | Het systeem gebruikt actuele server-side controles en voorkomt dubbele of tegenstrijdige mutaties. | POP-GEN-TIC-ASSIGN-NOT-ALLOWED of POP-GEN-TIC-ASSIGN-FAILED. | Alleen geldige, consistente mutatie blijft bestaan. |
9. Business rules
| ID | Regel |
|---|---|
| BR-001 | Alleen gebruikers met actieve beheerdercontext mogen beheerderkoppelingen op meldingen aanmaken of beëindigen. |
| BR-002 | Een melding mag meerdere actieve beheerderkoppelingen tegelijk hebben. |
| BR-003 | Per melding en beheerder mag maximaal één actieve TicketAssignments-koppeling bestaan. |
| BR-004 | Een beheerder mag zichzelf of een andere actieve beheerder koppelen. |
| BR-005 | Alleen actieve beheerders mogen als behandelaar aan een melding worden gekoppeld. |
| BR-006 | Koppelen van de eerste actieve beheerder aan een melding met status Nieuw brengt de melding naar In behandeling. |
| BR-007 | Koppelen van een extra beheerder wijzigt de bestaande processtatus niet automatisch. |
| BR-008 | Ontkoppelen van een beheerder vereist altijd een reden. |
| BR-009 | De reden voor ontkoppelen is intern en wordt niet zichtbaar voor de melder. |
| BR-010 | Ontkoppelen beëindigt de actieve assignment administratief; historische herleidbaarheid blijft behouden. |
| BR-011 | Wanneer de laatste actieve beheerder wordt ontkoppeld terwijl de melding status In behandeling heeft, krijgt de melding opnieuw status Nieuw. |
| BR-012 | Wanneer de laatste actieve beheerder wordt ontkoppeld terwijl de melding status Wachten op reactie heeft, blijft de status Wachten op reactie behouden. |
| BR-013 | Koppelen en ontkoppelen veroorzaken geen systeembericht aan de melder. |
| BR-014 | Koppelen en ontkoppelen veroorzaken geen extern zichtbaar discussie-item. |
| BR-015 | Iedere koppeling en ontkoppeling moet in TicketHistory worden vastgelegd. |
| BR-016 | Een intern systeemgegenereerd discussie-item mag worden toegevoegd, maar vervangt nooit de formele historyregistratie. |
| BR-017 | Gesloten meldingen worden niet via beheerderkoppeling opnieuw behandelbaar gemaakt; daarvoor bestaat de beheerheropenflow. |
| BR-018 | Beheerfilters en zichtbare assignments moeten na mutatie worden afgeleid uit de actuele databasecontext. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
TicketId / ticketreferentie | Verplicht, geldig formaat en bestaand Tickets-record. |
| Actieve gebruiker | Moet ingelogd zijn en een actieve beheerdercontext hebben. |
| Featurestatus | Meldingenfunctionaliteit moet beschikbaar zijn. |
Tickets.Status | Moet een bekende status zijn; functioneel gesloten meldingen blokkeren deze mutatie. |
| Geselecteerde beheerder | Moet een actieve gebruiker met beheerderrol zijn. |
TicketAssignments bij koppelen | Er mag nog geen actieve assignment bestaan voor dezelfde melding en dezelfde beheerder. |
TicketAssignments bij ontkoppelen | De gekozen assignment moet actief bestaan op het moment van bevestigen. |
| Ontkoppelreden | Verplicht, niet leeg, niet alleen whitespace en begrensd volgens de geldende maximale tekstlengte. |
| Actor bij mutatie | Moet worden vastgelegd voor audit en herleidbaarheid. |
| Tijdstippen | Worden server-side in UTC vastgelegd. |
| Optioneel intern discussie-item | Indien aangemaakt, moet Visibility = Internal zijn en mag niet zichtbaar zijn voor de melder. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 7 | Create / update | TicketAssignments | Actieve beheerderkoppeling wordt aangemaakt of geactiveerd. |
| 8 | Update | Tickets | Status wijzigt van Nieuw naar In behandeling wanneer de eerste actieve beheerder wordt gekoppeld. |
| 9 | Create | TicketHistory | Compacte auditregel voor koppelen wordt vastgelegd. |
| 9 | Event | TicketAdminAssigned | Domeinevent of afgeleide eventregistratie voor gekoppelde beheerder. |
| 10 | Readmodel | Beheerderdetail- en overzichtsreadmodel | Gekoppelde beheerders en filters worden opnieuw afgeleid. |
| 15 | Update | TicketAssignments | Actieve beheerderkoppeling wordt administratief beëindigd of inactief gemaakt. |
| 16 | Update | Tickets | Status wijzigt naar Nieuw wanneer de laatste actieve beheerder wordt ontkoppeld vanuit status In behandeling. |
| 17 | Create | TicketHistory | Compacte auditregel voor ontkoppelen wordt vastgelegd. |
| 17 | Event | TicketAdminUnassigned | Domeinevent of afgeleide eventregistratie voor ontkoppelde beheerder. |
| 18 | Optioneel create | TicketDiscussionMessages | Intern systeemgegenereerd discussie-item kan worden vastgelegd met Visibility = Internal. |
| 8 / 16 | Event | TicketStatusChanged | Alleen wanneer de ticketstatus daadwerkelijk wijzigt. |
| ALT-007 / ALT-012 / ALT-015 | Event | TicketAssignmentFailed | Alleen wanneer fout- of technische events worden geregistreerd. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
TicketClosures | Koppelen en ontkoppelen lost of sluit de melding niet op. |
TicketReopenRequests | Koppelen en ontkoppelen heropent geen gesloten melding. |
TicketForwardedToTeacher | Koppelen en ontkoppelen zet de melding niet door naar docent. |
SystemMessages | De melder ontvangt geen systeembericht over beheerderkoppelingen. |
Externe TicketDiscussionMessages | De melder ziet geen communicatie over beheerderkoppelingen. |
PrivateMessageThreads / PrivateMessages | Deze beheeractie maakt geen privébericht aan. |
TicketTechnicalSnapshots | Technische meldcontext wordt niet gewijzigd door assignmentbeheer. |
| Gebruikersprofiel van de melder | Assignmentbeheer heeft geen invloed op gebruikersprofiel of voorkeuren. |
13. State diagram — beheerderkoppeling en ticketstatus
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
16.1 Beheerder koppelen
16.2 Beheerder ontkoppelen
16.3 Koppeling of ontkoppeling geweigerd
17. Popupverwijzingen
| PopupKey | Moment | Variant | Doel |
|---|---|---|---|
POP-GEN-TIC-UNASSIGN-ADMIN | Wanneer een beheerder een actieve beheerderkoppeling wil ontkoppelen. | InputTextarea | Bevestigen van ontkoppelen en verplicht vastleggen van interne reden. |
POP-GEN-TIC-ASSIGN-NOT-ALLOWED | Wanneer koppelen of ontkoppelen niet toegestaan is door status, rol, dubbele koppeling of ontbrekende assignment. | InfoOnly | Veilig uitleggen dat de assignmentactie niet kan worden uitgevoerd. |
POP-GEN-TIC-ASSIGN-FAILED | Wanneer koppelen of ontkoppelen niet transactioneel verwerkt kan worden. | InfoOnly | Veilige foutmelding zonder technische details. |
POP-GEN-TIC-NOT-AVAILABLE | Wanneer de melding niet bestaat, niet beschikbaar is of niet toegankelijk is. | InfoOnly | Veilige niet-beschikbaarmelding zonder objectdetails te lekken. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft in de beheerderdetailweergave hoe gekoppelde beheerders zichtbaar zijn en hoe een beheerder zichzelf of een andere beheerder kan koppelen. |
| Functioneel Ontwerp | Beschrijft dat meerdere actieve beheerders tegelijk gekoppeld mogen zijn en dat de gebruiker niet ziet welke beheerders gekoppeld zijn. |
| Functioneel Ontwerp | Beschrijft dat ontkoppelen altijd een verplichte reden vereist en dat deze reden intern blijft. |
| Functioneel Ontwerp | Beschrijft dat de eerste actieve beheerderkoppeling een melding met status Nieuw naar In behandeling brengt. |
| Functioneel Ontwerp | Beschrijft dat het verwijderen van de laatste actieve beheerder uit status In behandeling de melding weer Nieuw maakt, terwijl Wachten op reactie behouden blijft zolang de reactie van de gebruiker openstaat. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft AssignTicketAdminCommand en UnassignTicketAdminCommand of gelijkwaardige serviceacties uit met server-side autorisatie, statuscontrole, duplicatecontrole en transactionele verwerking. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft hoe TicketAssignments actieve en historische koppelingen onderscheidt, inclusief actor, tijdstip en reden bij ontkoppelen. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat TicketHistory verplicht wordt aangemaakt voor koppelen en ontkoppelen. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat een eventueel intern systeemgegenereerd discussie-item optioneel is, Visibility = Internal heeft en nooit de formele auditlaag vervangt. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat er geen SystemMessages, externe discussie-items, TicketClosures, TicketReopenRequests of privéberichten ontstaan door deze usecase. |
| Software Requirements Specification | Beschrijft requirements voor beheerderautorisatie, meerdere actieve koppelingen, duplicatepreventie, verplichte ontkoppelreden, statusgevolgen, auditregistratie en foutafhandeling. |
| Database-informatie | Beschrijft of TicketAssignments voldoende velden bevat voor actieve status, gekoppelde beheerder, gekoppeld door, gekoppeld op, ontkoppeld door, ontkoppeld op en ontkoppelreden. |
| Database-informatie | Beschrijft of statuswijzigingen door assignmentbeheer consistent kunnen worden vastgelegd naast TicketHistory. |
| Ontwerpbronnen | Beschrijven business rules, command, events, popupverwijzingen en matrixregels voor UC-GEN-TIC-010. |
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-TIC-010-001 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | Alleen gebruikers met actieve beheerdercontext toestaan beheerderkoppelingen op meldingen te beheren |
REQ-UC-GEN-TIC-010-002 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | Toestaan dat meerdere beheerders tegelijk actief aan dezelfde melding gekoppeld zijn |
REQ-UC-GEN-TIC-010-003 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | Toestaan dat een beheerder zichzelf aan een melding koppelt |
REQ-UC-GEN-TIC-010-004 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | Toestaan dat een beheerder een andere actieve beheerder aan een melding koppelt |
REQ-UC-GEN-TIC-010-005 | SRS-AUTH-001 SRS-AUTH-004 SRS-TIC-003 SRS-ADM-001 AC-AUTH-001 AC-AUTH-004 AC-TIC-003 AC-ADM-001 | Koppelen blokkeren wanneer de geselecteerde gebruiker geen actieve beheerder is |
REQ-UC-GEN-TIC-010-006 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | Voorkomen dat dezelfde beheerder meer dan één actieve koppeling met dezelfde melding heeft |
REQ-UC-GEN-TIC-010-007 | SRS-AUTH-001 SRS-ACC-003 SRS-ACC-005 SRS-REL-003 SRS-REL-006 SRS-TIC-002 AC-AUTH-001 AC-ACC-003 AC-ACC-005 AC-REL-003 AC-REL-006 AC-TIC-002 | Koppelen of ontkoppelen blokkeren wanneer de melding niet bestaat, niet beschikbaar is of niet veilig toegankelijk is |
REQ-UC-GEN-TIC-010-008 | SRS-AUTH-001 SRS-REL-003 SRS-REL-006 SRS-TIC-002 AC-AUTH-001 AC-REL-003 AC-REL-006 AC-TIC-002 | Koppelen of ontkoppelen blokkeren wanneer de melding functioneel gesloten is |
REQ-UC-GEN-TIC-010-009 | SRS-TIC-003 SRS-NFR-AUD-001 AC-TIC-003 AC-NFR-AUD-001 | Bij koppelen een actieve TicketAssignments-koppeling vastleggen |
REQ-UC-GEN-TIC-010-010 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Bij koppelen vastleggen wie de koppeling uitvoerde en wanneer |
REQ-UC-GEN-TIC-010-011 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | Een melding met status Nieuw naar In behandeling zetten wanneer de eerste actieve beheerder wordt gekoppeld |
REQ-UC-GEN-TIC-010-012 | SRS-TIC-003 SRS-ADM-001 AC-TIC-003 AC-ADM-001 | De status niet automatisch wijzigen wanneer een extra beheerder wordt gekoppeld aan een melding die al actief in behandeling of wachtend op gebruiker is |
REQ-UC-GEN-TIC-010-013 | SRS-REL-003 SRS-REL-006 SRS-TIC-002 AC-REL-003 AC-REL-006 AC-TIC-002 | Bij ontkoppelen een verplichte reden vragen |
REQ-UC-GEN-TIC-010-014 | SRS-AUTH-001 SRS-REL-003 SRS-REL-006 SRS-TIC-002 AC-AUTH-001 AC-REL-003 AC-REL-006 AC-TIC-002 | Lege of whitespace-only ontkoppelredenen weigeren |
REQ-UC-GEN-TIC-010-015 | SRS-REL-003 SRS-REL-006 SRS-TIC-002 AC-REL-003 AC-REL-006 AC-TIC-002 | Ontkoppelredenen begrenzen volgens de geldende maximale tekstlengte |
REQ-UC-GEN-TIC-010-016 | SRS-REL-003 SRS-REL-006 SRS-TIC-003 AC-REL-003 AC-REL-006 AC-TIC-003 | Bij ontkoppelen de actieve TicketAssignments-koppeling administratief beëindigen of inactief maken |
REQ-UC-GEN-TIC-010-017 | SRS-REL-003 SRS-REL-006 SRS-TIC-002 SRS-NFR-AUD-001 AC-REL-003 AC-REL-006 AC-TIC-002 AC-NFR-AUD-001 | Bij ontkoppelen vastleggen wie de ontkoppeling uitvoerde, wanneer en met welke reden |
REQ-UC-GEN-TIC-010-018 | SRS-REL-003 SRS-REL-006 SRS-TIC-007 SRS-ADM-001 AC-REL-003 AC-REL-006 AC-TIC-007 AC-ADM-001 | De ontkoppelreden uitsluitend in beheercontext tonen en niet aan de melder |
REQ-UC-GEN-TIC-010-019 | SRS-REL-003 SRS-REL-006 SRS-TIC-003 SRS-ADM-001 AC-REL-003 AC-REL-006 AC-TIC-003 AC-ADM-001 | Een melding met status In behandeling terugzetten naar Nieuw wanneer de laatste actieve beheerder wordt ontkoppeld |
REQ-UC-GEN-TIC-010-020 | SRS-REL-003 SRS-REL-006 SRS-TIC-003 SRS-ADM-001 AC-REL-003 AC-REL-006 AC-TIC-003 AC-ADM-001 | Status Wachten op reactie behouden wanneer de laatste actieve beheerder wordt ontkoppeld terwijl nog op gebruikersreactie wordt gewacht |
REQ-UC-GEN-TIC-010-021 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Iedere koppeling vastleggen in TicketHistory |
REQ-UC-GEN-TIC-010-022 | SRS-REL-003 SRS-REL-006 SRS-TIC-002 SRS-NFR-AUD-001 AC-REL-003 AC-REL-006 AC-TIC-002 AC-NFR-AUD-001 | Iedere ontkoppeling vastleggen in TicketHistory |
REQ-UC-GEN-TIC-010-023 | SRS-TIC-003 SRS-ADM-001 SRS-NFR-AUD-001 AC-TIC-003 AC-ADM-001 AC-NFR-AUD-001 | Statuswijzigingen door assignmentbeheer auditbaar vastleggen |
REQ-UC-GEN-TIC-010-024 | SRS-REL-003 SRS-REL-006 SRS-MSG-001 SRS-TIC-002 AC-REL-003 AC-REL-006 AC-MSG-001 AC-TIC-002 | Door koppelen of ontkoppelen geen systeembericht naar de melder sturen |
REQ-UC-GEN-TIC-010-025 | SRS-REL-003 SRS-REL-006 SRS-TIC-001 AC-REL-003 AC-REL-006 AC-TIC-001 | Door koppelen of ontkoppelen geen extern zichtbaar discussie-item aanmaken |
REQ-UC-GEN-TIC-010-026 | SRS-REL-003 SRS-REL-006 SRS-MSG-001 SRS-TIC-001 AC-REL-003 AC-REL-006 AC-MSG-001 AC-TIC-001 | Door koppelen of ontkoppelen geen TicketClosures, TicketReopenRequests, TicketForwardedToTeacher, privéberichtrecords of technische snapshots aanmaken of wijzigen |
REQ-UC-GEN-TIC-010-027 | SRS-RDM-001 SRS-RDM-004 SRS-REL-003 SRS-REL-006 SRS-TIC-003 SRS-ADM-001 AC-RDM-001 AC-RDM-004 AC-REL-003 AC-REL-006 AC-TIC-003 AC-ADM-001 | Na koppelen of ontkoppelen beheerderdetail, overzichtsfilters en Aan mij toegewezen opnieuw kunnen afleiden uit actuele data |
REQ-UC-GEN-TIC-010-028 | SRS-TIC-003 SRS-NFR-AUD-001 AC-TIC-003 AC-NFR-AUD-001 | Assignmentmutatie, eventuele statusupdate en historyregistratie transactioneel consistent verwerken |
REQ-UC-GEN-TIC-010-029 | SRS-AUTH-001 SRS-AUTH-004 SRS-TIC-003 SRS-ADM-002 SRS-ADM-001 AC-AUTH-001 AC-AUTH-004 AC-TIC-003 AC-ADM-002 AC-ADM-001 | Race conditions afvangen door ticketstatus, geselecteerde beheerder en actuele assignment opnieuw server-side te controleren op het moment van bevestigen |
REQ-UC-GEN-TIC-010-030 | SRS-TIC-002 SRS-POP-001 SRS-NFR-SEC-001 AC-TIC-002 AC-POP-001 AC-NFR-SEC-001 | Veilige foutmeldingen tonen via centrale popupkeys zonder technische details of gegevens van andere meldingen te lekken |