UC-GEN-TIC-006 — Oplossing accepteren
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-TIC-006 |
| Naam | Oplossing accepteren |
| Domein | Meldingen |
| Primaire actor | Ingelogde gebruiker |
| Secundaire actor(en) | Systeem, meldingenservice, beheerder als behandelaar buiten deze usecase |
| Rolcontext | Iedere ingelogde gebruiker die binnen de normale gebruikersweergave een eigen melding met aangeboden oplossing mag openen en de oplossing mag accepteren |
| Betrokken schermen | SCH-GEN-06-01 — Meldingen; SCH-GEN-06-02 — Melding details |
| Gerelateerde usecases | UC-GEN-TIC-002 — Mijn meldingen bekijken; UC-GEN-TIC-003 — Melding details bekijken; UC-GEN-TIC-005 — Eigen melding sluiten; UC-GEN-TIC-007 — Melding heropenen door gebruiker; UC-GEN-TIC-013 — Melding oplossen of sluiten; UC-GEN-MSG-003 — Bericht openen |
| Primaire entiteiten | Tickets, TicketClosures, TicketHistory |
| Secundaire entiteiten / events | Users, TicketResolutionTypes, TicketDiscussionMessages, TicketActionIndicatorRecalculated, TicketSolutionAccepted, TicketSolutionAcceptFailed |
| Gerelateerde popups | POP-GEN-TIC-ACCEPT-NOT-ALLOWED, POP-GEN-TIC-ACCEPT-FAILED, POP-GEN-TIC-NOT-AVAILABLE |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must have |
2. Omschrijving
De gebruiker accepteert een door beheer aangeboden oplossing op een eigen melding. De melding is door beheer formeel gesloten met een oplossing en bevindt zich voor de gebruiker nog in de afgeleide toestand Opgelost, omdat de heropentermijn nog loopt.
Door de oplossing te accepteren geeft de gebruiker aan dat verdere opvolging niet nodig is. De bestaande sluitregistratie blijft de formele bron van de oplossing. Er wordt geen tweede sluiting aangemaakt. Het systeem legt vast dat de gebruiker de oplossing heeft geaccepteerd, registreert minimaal een compacte TicketHistory-regel en toont de melding daarna gebruikersgericht als Gesloten. De eerder vastgelegde heropentermijn blijft historisch herleidbaar, maar is na acceptatie niet langer functioneel bruikbaar voor heropenen door de gebruiker.
Deze usecase is iets anders dan het zelf sluiten van een eigen melding voordat beheer een oplossing heeft aangeboden. Zelf sluiten hoort bij UC-GEN-TIC-005. Heropenen binnen de heropentermijn hoort bij UC-GEN-TIC-007.
3. Scope
Deze usecase beschrijft:
- het openen van de eigen meldingdetailpagina;
- het tonen van een door beheer geplaatste oplossing op tabblad Oplossing;
- het tonen van de gebruikersgerichte toestand Opgelost zolang de heropentermijn nog loopt en de oplossing nog niet is geaccepteerd;
- het beschikbaar maken van de actie Oplossing accepteren;
- het opnieuw server-side controleren van sessie, featurestatus, objecttoegang, actuele sluitregistratie en heropenbaarheid;
- het vastleggen van de acceptatie op de actuele sluitregistratie;
- het historisch behouden van de bestaande oplossing, afsluitstatus en heropen-deadline;
- het functioneel beëindigen van de heropenmogelijkheid voor de gebruiker;
- het registreren van minimaal één compacte
TicketHistory-regel; - het optioneel tonen van een extern zichtbaar systeemgegenereerd discussie-item dat de oplossing is geaccepteerd;
- het opnieuw afleiden van gebruikersstatus en actie-indicaties;
- het tonen van de melding als Gesloten;
- foutpaden wanneer de melding niet meer beschikbaar, niet meer toegankelijk of niet meer accepteerbaar is.
Deze usecase beschrijft niet:
- het indienen van een nieuwe melding;
- het bekijken van het meldingenoverzicht als zelfstandige flow;
- het algemeen openen van de meldingdetailpagina;
- het plaatsen van een gebruikersreactie;
- het zelf sluiten van een melding zonder aangeboden oplossing;
- het heropenen van een melding binnen de heropentermijn;
- het oplossen of sluiten door een beheerder;
- het automatisch definitief gesloten raken na verlopen heropentermijn;
- het handmatig heropenen door een beheerder;
- het doorzetten naar docent;
- het wijzigen van oplossingstekst of afsluitstatus;
- het aanmaken van nieuwe
TicketClosures-records; - het aanmaken van systeemberichten of privéberichten;
- seeddata of beheer van popupteksten.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is ingelogd. |
| PRE-002 | De meldingenfunctionaliteit is sitebreed beschikbaar. |
| PRE-003 | De gebruiker heeft toegang tot de normale gebruikersweergave van eigen meldingen. |
| PRE-004 | De melding bestaat als Tickets-record. |
| PRE-005 | Tickets.CreatedByUserId van de melding is gelijk aan de ingelogde gebruiker. |
| PRE-006 | Er bestaat een actuele formele sluitregistratie in TicketClosures met oplossing of afsluitstatus vanuit beheer. |
| PRE-007 | De actuele sluitregistratie is nog niet door de gebruiker geaccepteerd. |
| PRE-008 | De melding wordt gebruikersgericht als Opgelost weergegeven. |
| PRE-009 | De heropentermijn van de actuele sluitregistratie is nog functioneel geldig. |
| PRE-010 | De actie Oplossing accepteren is beschikbaar op tabblad Oplossing. |
| PRE-011 | De applicatie kan de acceptatie, historyregistratie en eventuele externe tijdlijnregel transactioneel verwerken. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De bestaande actuele sluitregistratie blijft de formele oplossing van de melding. |
| POST-002 | Er wordt geen tweede TicketClosures-record aangemaakt. |
| POST-003 | Op de actuele sluitregistratie is vastgelegd dat de gebruiker de oplossing heeft geaccepteerd. |
| POST-004 | De acceptatie verwijst naar de ingelogde gebruiker en het acceptatiemoment in UTC. |
| POST-005 | De oorspronkelijke oplossingstekst, afsluitstatus, sluitdatum en heropen-deadline blijven historisch beschikbaar. |
| POST-006 | De heropenmogelijkheid voor de gebruiker is functioneel beëindigd. |
| POST-007 | De gebruikersgerichte status van de melding wordt Gesloten. |
| POST-008 | De melding blijft raadpleegbaar via de gebruikersgerichte tab Gesloten. |
| POST-009 | De actie Oplossing accepteren is na acceptatie niet meer beschikbaar. |
| POST-010 | De actie Melding heropenen is na acceptatie niet meer beschikbaar voor de gebruiker. |
| POST-011 | Reguliere reacties zijn na acceptatie niet meer beschikbaar. |
| POST-012 | Er is minimaal één compacte TicketHistory-regel vastgelegd. |
| POST-013 | Indien een extern zichtbaar systeemgegenereerd discussie-item wordt gebruikt, is dit gekoppeld aan dezelfde melding en zichtbaar voor gebruiker en beheer. |
| POST-014 | De actie-indicatie voor Wacht op mij wordt opnieuw afgeleid. |
| POST-015 | Interne beheerinformatie blijft onzichtbaar voor de gebruiker. |
| POST-016 | Er wordt geen TicketReopenRequests-record aangemaakt. |
| POST-017 | Er wordt geen systeembericht aangemaakt voor de accepterende gebruiker. |
| POST-018 | Er wordt geen privébericht aangemaakt. |
| POST-019 | Bij een niet-toegestane of mislukte acceptatie blijft de bestaande meldingtoestand ongewijzigd. |
| POST-020 | Bij een transactionele fout blijven sluitregistratie, history en eventuele externe tijdlijnregel consistent. |
6. Trigger
De gebruiker opent een eigen melding met gebruikersstatus Opgelost, bekijkt tabblad Oplossing en kiest de actie Oplossing accepteren.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Gebruiker | SCH-GEN-06-01 — Meldingen | Opent een melding met status Opgelost via Bekijk details. | Het systeem opent de detailpagina. | Detailopening valt onder UC-GEN-TIC-003. |
| 2 | Systeem | Backend / autorisatie | Controleert sessie, featurestatus en objecttoegang. | Alleen eigen meldingen worden geopend. | Tickets.CreatedByUserId = huidige gebruiker. |
| 3 | Systeem | SCH-GEN-06-02 — Melding details | Toont de meldingdetailpagina. | De gebruiker ziet de tabbladen Melding, Oplossing en Discussie. | Interne beheerinformatie blijft verborgen. |
| 4 | Gebruiker | Tabblad Oplossing | Opent of bekijkt het tabblad Oplossing. | Het systeem toont de actuele oplossingstoestand. | TicketClosures en TicketResolutionTypes leveren de formele brondata. |
| 5 | Systeem | Tabblad Oplossing | Toont oplossinggegevens. | De gebruiker ziet minimaal datum opgelost, afsluitstatus, meldingstatus en heropenbaar-tot. | De waarden zijn dynamisch en geen vaste mockupdata. |
| 6 | Systeem | Tabblad Oplossing | Bepaalt beschikbare acties. | De acties Oplossing accepteren en Melding heropenen zijn beschikbaar zolang de actuele toestand dit toestaat. | Acceptatie hoort bij deze usecase; heropenen bij UC-GEN-TIC-007. |
| 7 | Gebruiker | Tabblad Oplossing | Kiest Oplossing accepteren. | Het systeem start de acceptatieverwerking. | Voor deze flow is geen aparte bevestigingspopup vereist; de gekozen actie is de expliciete bevestiging. |
| 8 | Systeem | Backend / validatie | Controleert sessie en featurestatus opnieuw. | Verwerking gaat alleen verder wanneer de gebruiker nog geldig is ingelogd en Meldingen beschikbaar is. | Routeguard alleen is niet voldoende; server-side validatie is leidend. |
| 9 | Systeem | Backend / autorisatie | Controleert objecttoegang opnieuw. | Verwerking gaat alleen verder voor de eigenaar van de melding. | Tickets.CreatedByUserId = huidige gebruiker. |
| 10 | Systeem | Backend / validatie | Leest de actuele ticketstatus en actuele sluitregistratie. | Verwerking gaat alleen verder wanneer dezelfde melding nog in de accepteerbare oplossingstoestand staat. | Race conditions worden server-side afgevangen. |
| 11 | Systeem | Backend / validatie | Controleert dat de actuele sluiting nog niet geaccepteerd is. | Dubbele acceptatie wordt geblokkeerd. | Acceptatie is eenmalig per actuele sluitregistratie. |
| 12 | Systeem | Backend / validatie | Controleert of de heropentermijn nog functioneel geldig is. | Verwerking gaat alleen verder wanneer de melding nog gebruikersgericht Opgelost is. | Na verlopen termijn is de melding al Gesloten en niet meer accepteerbaar via deze actie. |
| 13 | Systeem | Backend / transactionele opslag | Registreert de acceptatie op de actuele sluitregistratie. | De sluitregistratie krijgt een acceptatieactor en acceptatiemoment. | Bijvoorbeeld AcceptedByUserId en AcceptedAtUtc op TicketClosures. |
| 14 | Systeem | Backend / statusafleiding | Beëindigt de functionele heropenmogelijkheid. | De bestaande ReopenDeadlineUtc blijft historisch beschikbaar maar is door acceptatie niet langer heropenbaar voor de gebruiker. | Acceptatie heeft voorrang boven de resterende heropentermijn. |
| 15 | Systeem | Backend / audit | Legt een compacte historyregel vast. | TicketHistory bevat dat de gebruiker de oplossing heeft geaccepteerd. | History blijft compact en dupliceert niet de volledige oplossingstekst. |
| 16 | Systeem | Backend / discussie-tijdlijn | Maakt indien ondersteund een extern zichtbaar systeemgegenereerd discussie-item aan. | Gebruiker en beheer kunnen in de discussie zien dat de oplossing is geaccepteerd. | Dit vervangt niet de formele auditlaag. |
| 17 | Systeem | Backend / metadata | Werkt laatste activiteit en wijzigingsmetadata bij. | Detail- en overzichtsweergaven kunnen de nieuwe toestand tonen. | Datum- en tijdwaarden worden in UTC opgeslagen. |
| 18 | Systeem | Backend / readmodel | Leidt gebruikersstatus en actie-indicaties opnieuw af. | De melding is gebruikersgericht Gesloten. | Opgelost is geen databasehoofdstatus. |
| 19 | Systeem | SCH-GEN-06-02 — Melding details | Ververst tabblad Oplossing. | De gebruiker ziet de melding als Gesloten; acceptatie- en heropenactie verdwijnen. | De oplossing blijft leesbaar. |
| 20 | Systeem | SCH-GEN-06-01 — Meldingen | Verwerkt de nieuwe toestand in overzichtsdata. | De melding blijft in de tab Gesloten raadpleegbaar. | Geen zichtbaarheid in Open of Wacht op mij. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1-4 | De melding bestaat niet meer of kan niet veilig geladen worden. | Het systeem toont een veilige niet-beschikbaarmelding en voert geen acceptatie uit. | POP-GEN-TIC-NOT-AVAILABLE | Geen. |
| ALT-002 | 2, 8 | De gebruiker is niet ingelogd of de sessie is verlopen. | De generieke loginflow wordt gestart. | Generieke loginflow, geen domeinpopup. | Geen. |
| ALT-003 | 2, 9 | De gebruiker is niet de melder van de gevraagde melding. | Het systeem weigert objecttoegang. | Generieke toegang-geweigerd-afhandeling of POP-GEN-TIC-NOT-AVAILABLE zonder technische details. | Geen. |
| ALT-004 | 4-6 | Er is geen oplossing of formele sluitregistratie beschikbaar. | Het tabblad Oplossing toont de actuele behandelingstoestand zonder acceptatieactie. | Geen popup. | Geen. |
| ALT-005 | 6 | De melding is al definitief Gesloten. | De acceptatieactie wordt niet getoond. | Geen popup. | Geen. |
| ALT-006 | 10 | De melding is na het openen door een andere actie gewijzigd. | Het systeem verwerkt op basis van de actuele serverstatus en blokkeert de acceptatie wanneer de toestand niet meer geldig is. | POP-GEN-TIC-ACCEPT-NOT-ALLOWED | Geen. |
| ALT-007 | 11 | De actuele sluitregistratie is al geaccepteerd. | Het systeem behandelt de actie idempotent als niet-opnieuw-uitvoerbaar en ververst de weergave naar Gesloten. | Geen popup of POP-GEN-TIC-ACCEPT-NOT-ALLOWED, afhankelijk van context. | Geen nieuwe mutatie. |
| ALT-008 | 12 | De heropentermijn is inmiddels verlopen. | Het systeem ververst de melding als Gesloten en toont geen acceptatieactie meer. | POP-GEN-TIC-ACCEPT-NOT-ALLOWED wanneer de gebruiker net probeerde te accepteren. | Geen acceptatiemutatie. |
| ALT-009 | 12 | De gebruiker heeft de melding in een andere sessie heropend. | Het systeem blokkeert acceptatie omdat de actuele sluiting niet langer de behandelstatus bepaalt. | POP-GEN-TIC-ACCEPT-NOT-ALLOWED | Geen. |
| ALT-010 | 13-17 | De acceptatie kan niet transactioneel worden opgeslagen. | Het systeem rolt de transactie terug en toont een veilige foutmelding. | POP-GEN-TIC-ACCEPT-FAILED | Geen gedeeltelijke mutatie. |
| ALT-011 | 16 | Het extern zichtbare systeemgegenereerde discussie-item kan niet worden aangemaakt binnen dezelfde transactie. | Het systeem rolt de volledige acceptatie terug als dit item voor de gekozen implementatie verplicht is. | POP-GEN-TIC-ACCEPT-FAILED | Geen gedeeltelijke mutatie. |
| ALT-012 | 19-20 | De UI-refresh mislukt na succesvolle servermutatie. | Bij opnieuw laden toont het systeem de serverwaarheid: Gesloten. | Veilige technische melding indien nodig. | Acceptatie blijft opgeslagen. |
| ALT-013 | 7 | De gebruiker navigeert weg vóór de serveractie is gestart. | Er wordt geen acceptatie uitgevoerd. | Geen popup. | Geen. |
| ALT-014 | 7-13 | De gebruiker klikt herhaald op Oplossing accepteren. | Het systeem verwerkt maximaal één acceptatie; vervolgacties worden geblokkeerd of genegeerd op basis van actuele serverstatus. | Geen popup of POP-GEN-TIC-ACCEPT-NOT-ALLOWED. | Maximaal één acceptatiemutatie. |
9. Business rules
| ID | Regel |
|---|---|
| BR-UC-GEN-TIC-006-001 | Alleen de gebruiker die de melding heeft aangemaakt mag de oplossing van die melding accepteren. |
| BR-UC-GEN-TIC-006-002 | Oplossing accepteren is alleen beschikbaar wanneer er een actuele formele sluitregistratie met oplossing of afsluitstatus bestaat. |
| BR-UC-GEN-TIC-006-003 | Oplossing accepteren is alleen beschikbaar zolang de melding gebruikersgericht Opgelost is. |
| BR-UC-GEN-TIC-006-004 | Opgelost is geen backendhoofdstatus maar een afgeleide gebruikersstatus op basis van de actuele sluitregistratie en heropentermijn. |
| BR-UC-GEN-TIC-006-005 | Acceptatie maakt geen nieuwe TicketClosures-registratie aan. |
| BR-UC-GEN-TIC-006-006 | Acceptatie wordt vastgelegd op of bij de actuele sluitregistratie, zodat herleidbaar is wie de oplossing accepteerde en wanneer. |
| BR-UC-GEN-TIC-006-007 | De oorspronkelijke oplossing, afsluitstatus en heropen-deadline blijven historisch beschikbaar na acceptatie. |
| BR-UC-GEN-TIC-006-008 | Acceptatie beëindigt de functionele heropenmogelijkheid voor de gebruiker, ook wanneer de oorspronkelijke heropen-deadline nog in de toekomst ligt. |
| BR-UC-GEN-TIC-006-009 | Na acceptatie wordt de melding gebruikersgericht Gesloten. |
| BR-UC-GEN-TIC-006-010 | Na acceptatie zijn reguliere reacties, opnieuw accepteren en heropenen door de gebruiker niet meer beschikbaar. |
| BR-UC-GEN-TIC-006-011 | Acceptatie leidt minimaal tot een compacte TicketHistory-regel. |
| BR-UC-GEN-TIC-006-012 | Een extern zichtbaar systeemgegenereerd discussie-item mag worden gebruikt om acceptatie in de discussie zichtbaar te maken, maar vervangt nooit TicketHistory. |
| BR-UC-GEN-TIC-006-013 | Acceptatie maakt geen systeembericht aan voor de gebruiker die de actie zelf uitvoert. |
| BR-UC-GEN-TIC-006-014 | Acceptatie maakt geen privébericht aan. |
| BR-UC-GEN-TIC-006-015 | Server-side objectautorisatie en statuscontrole zijn leidend; frontend-zichtbaarheid is geen beveiligingslaag. |
| ID | Centrale regel |
|---|---|
BR-GEN-TIC-021 | Een gebruiker kan een door beheer aangeboden oplossing alleen accepteren voor een eigen melding die gebruikersgericht nog Opgelost is. |
BR-GEN-TIC-022 | Acceptatie van een oplossing maakt geen nieuwe sluiting aan, maar markeert de actuele sluiting als door de gebruiker geaccepteerd. |
BR-GEN-TIC-023 | Na acceptatie wordt de heropenmogelijkheid voor de gebruiker beëindigd en wordt de melding gebruikersgericht Gesloten. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Gebruiker | Moet ingelogd zijn en toegang hebben tot de normale applicatiecontext. |
| Featurestatus | De meldingenfunctionaliteit moet sitebreed beschikbaar zijn. |
| Ticketobject | Moet bestaan en toegankelijk zijn voor de ingelogde gebruiker. |
| Objectautorisatie | Tickets.CreatedByUserId moet gelijk zijn aan de huidige gebruiker. |
| Actuele sluitregistratie | Er moet een actuele TicketClosures-registratie bestaan die de zichtbare oplossing of sluiting vertegenwoordigt. |
| Sluitregistratie | Mag nog niet door de gebruiker zijn geaccepteerd. |
| Gebruikersstatus | De melding moet op het moment van verwerken gebruikersgericht Opgelost zijn. |
| Heropentermijn | De heropentermijn moet nog functioneel geldig zijn, tenzij acceptatie al eerder is verwerkt. |
| Acceptatieactor | Moet verwijzen naar de ingelogde gebruiker die de actie uitvoert. |
| Acceptatiemoment | Wordt in UTC opgeslagen. |
TicketHistory | Moet actor, melding, actie en tijdstip vastleggen. |
| Extern discussie-item | Indien gebruikt, moet dit gekoppeld zijn aan hetzelfde ticket en extern zichtbaar zijn. |
| Transactionele consistentie | Acceptatieregistratie, history, eventuele discussie-tijdlijn en metadata-update worden als samenhangende mutatie verwerkt. |
| Race conditions | De actuele serverstatus wordt opnieuw gelezen op het moment van verwerken. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 13 | Update | TicketClosures | De actuele sluitregistratie wordt gemarkeerd als geaccepteerd door de gebruiker, inclusief acceptatieactor en acceptatiemoment in UTC. |
| 14 | Afleiding | Gebruikersstatus | De gebruikersgerichte toestand verandert van Opgelost naar Gesloten doordat acceptatie voorrang krijgt op de resterende heropentermijn. |
| 15 | Create | TicketHistory | Compacte auditregel voor acceptatie van de oplossing. |
| 16 | Create | TicketDiscussionMessages | Systeemgegenereerd extern zichtbaar discussie-item dat de oplossing is geaccepteerd, wanneer deze tijdlijnweergave wordt toegepast. |
| 17 | Update | Tickets | Laatste activiteit en wijzigingsmetadata worden bijgewerkt indien deze velden onderdeel zijn van het ticketreadmodel. |
| 18 | Event | TicketSolutionAccepted | Domeinevent dat de acceptatie van de oplossing representeert. |
| 18 | Event | TicketActionIndicatorRecalculated | Afgeleide actie-indicaties worden opnieuw bepaald. |
| 10, 13 | Event | TicketSolutionAcceptFailed | Foutpad voor niet-toegestane of mislukte acceptatie. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
Tickets.CreatedByUserId | De melder van de melding wijzigt niet. |
Tickets.Category | Acceptatie wijzigt de meldingscategorie niet. |
TicketTechnicalSnapshots | Technische snapshots blijven de momentopname van het indienen en worden niet aangepast. |
TicketAssignments | Acceptatie wijzigt gekoppelde beheerders niet. |
TicketClosures nieuw record | Acceptatie maakt geen tweede sluiting aan; de bestaande sluiting blijft leidend. |
TicketReopenRequests | Acceptatie is geen heropenverzoek. |
SystemMessages | De gebruiker voert de actie zelf uit; er is geen nieuw systeembericht voor deze gebruiker nodig. |
PrivateMessages | Acceptatie maakt geen privébericht aan. |
TicketResolutionTypes | Afsluitstatussen worden gelezen maar niet gewijzigd. |
TicketHistory bestaande records | Bestaande historyregels blijven append-only en worden niet aangepast. |
13. State diagram
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
16.1 Normale flow — oplossing accepteren
16.2 Exceptionele flow — oplossing niet meer accepteerbaar
17. Popupverwijzingen
| PopupKey | Moment | Variant | Doel |
|---|---|---|---|
POP-GEN-TIC-ACCEPT-NOT-ALLOWED | Wanneer de oplossing niet meer geaccepteerd kan worden, bijvoorbeeld doordat de heropentermijn verlopen is of de actuele sluiting niet meer geldig is. | InfoOnly | Uitleggen dat de acceptatieactie niet meer beschikbaar is. |
POP-GEN-TIC-ACCEPT-FAILED | Wanneer het opslaan van de acceptatie technisch of transactioneel mislukt. | InfoOnly | Veilige foutmelding tonen zonder gedeeltelijke mutatie achter te laten. |
POP-GEN-TIC-NOT-AVAILABLE | Wanneer de melding niet bestaat, niet toegankelijk is of niet veilig geladen kan worden. | InfoOnly | Generieke niet-beschikbaarmelding voor meldingdetailflows. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft dat tabblad Oplossing de actie Oplossing accepteren toont zolang de melding gebruikersgericht Opgelost is. |
| Functioneel Ontwerp | Beschrijft dat accepteren geen aparte tweede sluiting is, maar de bestaande oplossing definitief maakt voor de gebruiker. |
| Functioneel Ontwerp | Beschrijft dat na acceptatie de melding gebruikersgericht Gesloten wordt en dat heropenen door de gebruiker niet meer beschikbaar is. |
| Functioneel Ontwerp | Beschrijft dat de oplossing, afsluitstatus en oorspronkelijke heropen-deadline leesbaar blijven. |
| Functioneel Ontwerp | Beschrijft dat voor de normale acceptatie geen aparte bevestigingspopup nodig is; een wijziging hiervan vereist aanpassing van de usecase, popupmatrix en popupregisterverwijzing. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft AcceptTicketSolutionCommand uit als transactionele mutatie op de actuele sluitregistratie, TicketHistory en eventueel extern zichtbaar tijdlijnitem. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat acceptatie op TicketClosures wordt vastgelegd met acceptatieactor en acceptatiemoment, bijvoorbeeld via AcceptedByUserId en AcceptedAtUtc. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat ReopenDeadlineUtc historisch behouden blijft, maar na acceptatie niet langer functioneel als heropenrecht geldt. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijf server-side objectcontrole op Tickets.CreatedByUserId. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijf race-conditionafhandeling wanneer de sluiting inmiddels verlopen, heropend of al geaccepteerd is. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijf transactionele rollback bij gedeeltelijke fout in acceptatieregistratie, history, discussie-tijdlijn of metadata-update. |
| Software Requirements Specification | Beschrijft requirements voor eigen-objectautorisatie, actuele oplossingstoestand, acceptatieregistratie, beëindigen van heropenmogelijkheid, historyregistratie en foutafhandeling. |
| Database-informatie | Beschrijft of TicketClosures expliciete velden voor gebruikersacceptatie nodig heeft, zoals AcceptedByUserId en AcceptedAtUtc. |
| Database-informatie | Controleer dat gebruikersstatus Gesloten na acceptatie eenduidig kan worden afgeleid uit actuele sluiting plus acceptatiegegevens. |
| Popupbeheer | Beschrijft of de benodigde fout- en niet-toegestaan-popupkeys toe of bevestig bestaande keys in het centrale popupregister. |
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-006-001 | SRS-TIC-002 AC-TIC-002 | Een ingelogde gebruiker toestaan een oplossing te accepteren voor een eigen melding die gebruikersgericht Opgelost is |
REQ-UC-GEN-TIC-006-002 | SRS-AUTH-001 SRS-TIC-002 AC-AUTH-001 AC-TIC-002 | Server-side controleren dat de melding door de ingelogde gebruiker is aangemaakt |
REQ-UC-GEN-TIC-006-003 | SRS-TIC-007 AC-TIC-007 | De actie Oplossing accepteren alleen tonen of toestaan wanneer een actuele formele sluitregistratie met oplossing of afsluitstatus bestaat |
REQ-UC-GEN-TIC-006-004 | SRS-AUTH-001 SRS-TIC-002 AC-AUTH-001 AC-TIC-002 | Acceptatie blokkeren wanneer de melding niet meer gebruikersgericht Opgelost is |
REQ-UC-GEN-TIC-006-005 | SRS-AUTH-001 SRS-TIC-007 AC-AUTH-001 AC-TIC-007 | Acceptatie blokkeren wanneer de actuele sluitregistratie al door de gebruiker is geaccepteerd |
REQ-UC-GEN-TIC-006-006 | SRS-AUTH-001 SRS-TIC-004 AC-AUTH-001 AC-TIC-004 | Acceptatie blokkeren wanneer de heropentermijn inmiddels verlopen is en de melding al gebruikersgericht Gesloten is |
REQ-UC-GEN-TIC-006-007 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Acceptatie vastleggen zonder een tweede TicketClosures-record aan te maken |
REQ-UC-GEN-TIC-006-008 | SRS-TIC-007 SRS-NFR-AUD-001 AC-TIC-007 AC-NFR-AUD-001 | Vastleggen welke gebruiker de oplossing accepteerde |
REQ-UC-GEN-TIC-006-009 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Het acceptatiemoment in UTC vastleggen |
REQ-UC-GEN-TIC-006-010 | SRS-TIC-004 AC-TIC-004 | De oorspronkelijke oplossing, afsluitstatus, sluitdatum en heropen-deadline historisch beschikbaar houden |
REQ-UC-GEN-TIC-006-011 | SRS-TIC-004 AC-TIC-004 | Na acceptatie de heropenmogelijkheid voor de gebruiker beëindigen |
REQ-UC-GEN-TIC-006-012 | SRS-TIC-002 AC-TIC-002 | Na acceptatie de melding gebruikersgericht als Gesloten weergeven |
REQ-UC-GEN-TIC-006-013 | SRS-TIC-002 AC-TIC-002 | De melding na acceptatie raadpleegbaar houden in de gebruikersgerichte gesloten weergave |
REQ-UC-GEN-TIC-006-014 | SRS-TIC-004 AC-TIC-004 | Na acceptatie de acties Oplossing accepteren en Melding heropenen niet langer beschikbaar maken voor de gebruiker |
REQ-UC-GEN-TIC-006-015 | SRS-AUTH-001 SRS-TIC-005 AC-AUTH-001 AC-TIC-005 | Na acceptatie reguliere gebruikersreacties blokkeren |
REQ-UC-GEN-TIC-006-016 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Minimaal één compacte historyregel vastleggen voor de acceptatie |
REQ-UC-GEN-TIC-006-017 | SRS-TIC-006 SRS-NFR-AUD-001 AC-TIC-006 AC-NFR-AUD-001 | Een extern zichtbaar systeemgegenereerd discussie-item vastleggen dat de oplossing is geaccepteerd |
REQ-UC-GEN-TIC-006-018 | SRS-MSG-001 SRS-TIC-001 AC-MSG-001 AC-TIC-001 | Bij acceptatie geen systeembericht aanmaken voor de gebruiker die de acceptatie zelf uitvoert |
REQ-UC-GEN-TIC-006-019 | SRS-MSG-001 SRS-TIC-001 AC-MSG-001 AC-TIC-001 | Bij acceptatie geen privébericht aanmaken |
REQ-UC-GEN-TIC-006-020 | SRS-RDM-001 SRS-TIC-002 AC-RDM-001 AC-TIC-002 | De actie-indicatie voor Wacht op mij opnieuw afleiden na acceptatie |
REQ-UC-GEN-TIC-006-021 | SRS-AUTH-001 SRS-TIC-007 AC-AUTH-001 AC-TIC-007 | Race conditions afvangen door de actuele ticketstatus en actuele sluitregistratie opnieuw server-side te controleren bij acceptatie |
REQ-UC-GEN-TIC-006-022 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Transactioneel borgen dat acceptatieregistratie, history, eventuele externe tijdlijnregel en metadata-update gezamenlijk slagen of gezamenlijk worden teruggedraaid |
REQ-UC-GEN-TIC-006-023 | SRS-TIC-002 SRS-NFR-SEC-001 SRS-NFR-AVL-001 AC-TIC-002 AC-NFR-SEC-001 AC-NFR-AVL-001 | Een veilige foutmelding tonen wanneer acceptatie technisch of transactioneel mislukt |
REQ-UC-GEN-TIC-006-024 | SRS-ACC-003 SRS-ACC-005 SRS-TIC-002 SRS-NFR-SEC-001 SRS-NFR-ACC-001 AC-ACC-003 AC-ACC-005 AC-TIC-002 AC-NFR-SEC-001 AC-NFR-ACC-001 | Een veilige niet-beschikbaarmelding tonen wanneer de melding niet bestaat, niet toegankelijk is of niet veilig geladen kan worden |