Skip to main content

UC-GEN-TIC-006 — Oplossing accepteren

1. Kerngegevens

VeldWaarde
Usecase-IDUC-GEN-TIC-006
NaamOplossing accepteren
DomeinMeldingen
Primaire actorIngelogde gebruiker
Secundaire actor(en)Systeem, meldingenservice, beheerder als behandelaar buiten deze usecase
RolcontextIedere ingelogde gebruiker die binnen de normale gebruikersweergave een eigen melding met aangeboden oplossing mag openen en de oplossing mag accepteren
Betrokken schermenSCH-GEN-06-01 — Meldingen; SCH-GEN-06-02 — Melding details
Gerelateerde usecasesUC-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 entiteitenTickets, TicketClosures, TicketHistory
Secundaire entiteiten / eventsUsers, TicketResolutionTypes, TicketDiscussionMessages, TicketActionIndicatorRecalculated, TicketSolutionAccepted, TicketSolutionAcceptFailed
Gerelateerde popupsPOP-GEN-TIC-ACCEPT-NOT-ALLOWED, POP-GEN-TIC-ACCEPT-FAILED, POP-GEN-TIC-NOT-AVAILABLE
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust 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

IDVoorwaarde
PRE-001De gebruiker is ingelogd.
PRE-002De meldingenfunctionaliteit is sitebreed beschikbaar.
PRE-003De gebruiker heeft toegang tot de normale gebruikersweergave van eigen meldingen.
PRE-004De melding bestaat als Tickets-record.
PRE-005Tickets.CreatedByUserId van de melding is gelijk aan de ingelogde gebruiker.
PRE-006Er bestaat een actuele formele sluitregistratie in TicketClosures met oplossing of afsluitstatus vanuit beheer.
PRE-007De actuele sluitregistratie is nog niet door de gebruiker geaccepteerd.
PRE-008De melding wordt gebruikersgericht als Opgelost weergegeven.
PRE-009De heropentermijn van de actuele sluitregistratie is nog functioneel geldig.
PRE-010De actie Oplossing accepteren is beschikbaar op tabblad Oplossing.
PRE-011De applicatie kan de acceptatie, historyregistratie en eventuele externe tijdlijnregel transactioneel verwerken.

5. Post-condities

IDResultaat
POST-001De bestaande actuele sluitregistratie blijft de formele oplossing van de melding.
POST-002Er wordt geen tweede TicketClosures-record aangemaakt.
POST-003Op de actuele sluitregistratie is vastgelegd dat de gebruiker de oplossing heeft geaccepteerd.
POST-004De acceptatie verwijst naar de ingelogde gebruiker en het acceptatiemoment in UTC.
POST-005De oorspronkelijke oplossingstekst, afsluitstatus, sluitdatum en heropen-deadline blijven historisch beschikbaar.
POST-006De heropenmogelijkheid voor de gebruiker is functioneel beëindigd.
POST-007De gebruikersgerichte status van de melding wordt Gesloten.
POST-008De melding blijft raadpleegbaar via de gebruikersgerichte tab Gesloten.
POST-009De actie Oplossing accepteren is na acceptatie niet meer beschikbaar.
POST-010De actie Melding heropenen is na acceptatie niet meer beschikbaar voor de gebruiker.
POST-011Reguliere reacties zijn na acceptatie niet meer beschikbaar.
POST-012Er is minimaal één compacte TicketHistory-regel vastgelegd.
POST-013Indien een extern zichtbaar systeemgegenereerd discussie-item wordt gebruikt, is dit gekoppeld aan dezelfde melding en zichtbaar voor gebruiker en beheer.
POST-014De actie-indicatie voor Wacht op mij wordt opnieuw afgeleid.
POST-015Interne beheerinformatie blijft onzichtbaar voor de gebruiker.
POST-016Er wordt geen TicketReopenRequests-record aangemaakt.
POST-017Er wordt geen systeembericht aangemaakt voor de accepterende gebruiker.
POST-018Er wordt geen privébericht aangemaakt.
POST-019Bij een niet-toegestane of mislukte acceptatie blijft de bestaande meldingtoestand ongewijzigd.
POST-020Bij 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

StapActorScherm / componentActieSysteemresponsData / regel
1GebruikerSCH-GEN-06-01 — MeldingenOpent een melding met status Opgelost via Bekijk details.Het systeem opent de detailpagina.Detailopening valt onder UC-GEN-TIC-003.
2SysteemBackend / autorisatieControleert sessie, featurestatus en objecttoegang.Alleen eigen meldingen worden geopend.Tickets.CreatedByUserId = huidige gebruiker.
3SysteemSCH-GEN-06-02 — Melding detailsToont de meldingdetailpagina.De gebruiker ziet de tabbladen Melding, Oplossing en Discussie.Interne beheerinformatie blijft verborgen.
4GebruikerTabblad OplossingOpent of bekijkt het tabblad Oplossing.Het systeem toont de actuele oplossingstoestand.TicketClosures en TicketResolutionTypes leveren de formele brondata.
5SysteemTabblad OplossingToont oplossinggegevens.De gebruiker ziet minimaal datum opgelost, afsluitstatus, meldingstatus en heropenbaar-tot.De waarden zijn dynamisch en geen vaste mockupdata.
6SysteemTabblad OplossingBepaalt 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.
7GebruikerTabblad OplossingKiest Oplossing accepteren.Het systeem start de acceptatieverwerking.Voor deze flow is geen aparte bevestigingspopup vereist; de gekozen actie is de expliciete bevestiging.
8SysteemBackend / validatieControleert 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.
9SysteemBackend / autorisatieControleert objecttoegang opnieuw.Verwerking gaat alleen verder voor de eigenaar van de melding.Tickets.CreatedByUserId = huidige gebruiker.
10SysteemBackend / validatieLeest 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.
11SysteemBackend / validatieControleert dat de actuele sluiting nog niet geaccepteerd is.Dubbele acceptatie wordt geblokkeerd.Acceptatie is eenmalig per actuele sluitregistratie.
12SysteemBackend / validatieControleert 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.
13SysteemBackend / transactionele opslagRegistreert de acceptatie op de actuele sluitregistratie.De sluitregistratie krijgt een acceptatieactor en acceptatiemoment.Bijvoorbeeld AcceptedByUserId en AcceptedAtUtc op TicketClosures.
14SysteemBackend / statusafleidingBeë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.
15SysteemBackend / auditLegt een compacte historyregel vast.TicketHistory bevat dat de gebruiker de oplossing heeft geaccepteerd.History blijft compact en dupliceert niet de volledige oplossingstekst.
16SysteemBackend / discussie-tijdlijnMaakt 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.
17SysteemBackend / metadataWerkt laatste activiteit en wijzigingsmetadata bij.Detail- en overzichtsweergaven kunnen de nieuwe toestand tonen.Datum- en tijdwaarden worden in UTC opgeslagen.
18SysteemBackend / readmodelLeidt gebruikersstatus en actie-indicaties opnieuw af.De melding is gebruikersgericht Gesloten.Opgelost is geen databasehoofdstatus.
19SysteemSCH-GEN-06-02 — Melding detailsVerverst tabblad Oplossing.De gebruiker ziet de melding als Gesloten; acceptatie- en heropenactie verdwijnen.De oplossing blijft leesbaar.
20SysteemSCH-GEN-06-01 — MeldingenVerwerkt 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

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011-4De 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-AVAILABLEGeen.
ALT-0022, 8De gebruiker is niet ingelogd of de sessie is verlopen.De generieke loginflow wordt gestart.Generieke loginflow, geen domeinpopup.Geen.
ALT-0032, 9De 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-0044-6Er is geen oplossing of formele sluitregistratie beschikbaar.Het tabblad Oplossing toont de actuele behandelingstoestand zonder acceptatieactie.Geen popup.Geen.
ALT-0056De melding is al definitief Gesloten.De acceptatieactie wordt niet getoond.Geen popup.Geen.
ALT-00610De 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-ALLOWEDGeen.
ALT-00711De 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-00812De 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-00912De 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-ALLOWEDGeen.
ALT-01013-17De acceptatie kan niet transactioneel worden opgeslagen.Het systeem rolt de transactie terug en toont een veilige foutmelding.POP-GEN-TIC-ACCEPT-FAILEDGeen gedeeltelijke mutatie.
ALT-01116Het 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-FAILEDGeen gedeeltelijke mutatie.
ALT-01219-20De UI-refresh mislukt na succesvolle servermutatie.Bij opnieuw laden toont het systeem de serverwaarheid: Gesloten.Veilige technische melding indien nodig.Acceptatie blijft opgeslagen.
ALT-0137De gebruiker navigeert weg vóór de serveractie is gestart.Er wordt geen acceptatie uitgevoerd.Geen popup.Geen.
ALT-0147-13De 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

IDRegel
BR-UC-GEN-TIC-006-001Alleen de gebruiker die de melding heeft aangemaakt mag de oplossing van die melding accepteren.
BR-UC-GEN-TIC-006-002Oplossing accepteren is alleen beschikbaar wanneer er een actuele formele sluitregistratie met oplossing of afsluitstatus bestaat.
BR-UC-GEN-TIC-006-003Oplossing accepteren is alleen beschikbaar zolang de melding gebruikersgericht Opgelost is.
BR-UC-GEN-TIC-006-004Opgelost is geen backendhoofdstatus maar een afgeleide gebruikersstatus op basis van de actuele sluitregistratie en heropentermijn.
BR-UC-GEN-TIC-006-005Acceptatie maakt geen nieuwe TicketClosures-registratie aan.
BR-UC-GEN-TIC-006-006Acceptatie wordt vastgelegd op of bij de actuele sluitregistratie, zodat herleidbaar is wie de oplossing accepteerde en wanneer.
BR-UC-GEN-TIC-006-007De oorspronkelijke oplossing, afsluitstatus en heropen-deadline blijven historisch beschikbaar na acceptatie.
BR-UC-GEN-TIC-006-008Acceptatie beëindigt de functionele heropenmogelijkheid voor de gebruiker, ook wanneer de oorspronkelijke heropen-deadline nog in de toekomst ligt.
BR-UC-GEN-TIC-006-009Na acceptatie wordt de melding gebruikersgericht Gesloten.
BR-UC-GEN-TIC-006-010Na acceptatie zijn reguliere reacties, opnieuw accepteren en heropenen door de gebruiker niet meer beschikbaar.
BR-UC-GEN-TIC-006-011Acceptatie leidt minimaal tot een compacte TicketHistory-regel.
BR-UC-GEN-TIC-006-012Een 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-013Acceptatie maakt geen systeembericht aan voor de gebruiker die de actie zelf uitvoert.
BR-UC-GEN-TIC-006-014Acceptatie maakt geen privébericht aan.
BR-UC-GEN-TIC-006-015Server-side objectautorisatie en statuscontrole zijn leidend; frontend-zichtbaarheid is geen beveiligingslaag.
IDCentrale regel
BR-GEN-TIC-021Een gebruiker kan een door beheer aangeboden oplossing alleen accepteren voor een eigen melding die gebruikersgericht nog Opgelost is.
BR-GEN-TIC-022Acceptatie van een oplossing maakt geen nieuwe sluiting aan, maar markeert de actuele sluiting als door de gebruiker geaccepteerd.
BR-GEN-TIC-023Na acceptatie wordt de heropenmogelijkheid voor de gebruiker beëindigd en wordt de melding gebruikersgericht Gesloten.

10. Datavalidatie

Veld / objectValidatie
GebruikerMoet ingelogd zijn en toegang hebben tot de normale applicatiecontext.
FeaturestatusDe meldingenfunctionaliteit moet sitebreed beschikbaar zijn.
TicketobjectMoet bestaan en toegankelijk zijn voor de ingelogde gebruiker.
ObjectautorisatieTickets.CreatedByUserId moet gelijk zijn aan de huidige gebruiker.
Actuele sluitregistratieEr moet een actuele TicketClosures-registratie bestaan die de zichtbare oplossing of sluiting vertegenwoordigt.
SluitregistratieMag nog niet door de gebruiker zijn geaccepteerd.
GebruikersstatusDe melding moet op het moment van verwerken gebruikersgericht Opgelost zijn.
HeropentermijnDe heropentermijn moet nog functioneel geldig zijn, tenzij acceptatie al eerder is verwerkt.
AcceptatieactorMoet verwijzen naar de ingelogde gebruiker die de actie uitvoert.
AcceptatiemomentWordt in UTC opgeslagen.
TicketHistoryMoet actor, melding, actie en tijdstip vastleggen.
Extern discussie-itemIndien gebruikt, moet dit gekoppeld zijn aan hetzelfde ticket en extern zichtbaar zijn.
Transactionele consistentieAcceptatieregistratie, history, eventuele discussie-tijdlijn en metadata-update worden als samenhangende mutatie verwerkt.
Race conditionsDe actuele serverstatus wordt opnieuw gelezen op het moment van verwerken.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
13UpdateTicketClosuresDe actuele sluitregistratie wordt gemarkeerd als geaccepteerd door de gebruiker, inclusief acceptatieactor en acceptatiemoment in UTC.
14AfleidingGebruikersstatusDe gebruikersgerichte toestand verandert van Opgelost naar Gesloten doordat acceptatie voorrang krijgt op de resterende heropentermijn.
15CreateTicketHistoryCompacte auditregel voor acceptatie van de oplossing.
16CreateTicketDiscussionMessagesSysteemgegenereerd extern zichtbaar discussie-item dat de oplossing is geaccepteerd, wanneer deze tijdlijnweergave wordt toegepast.
17UpdateTicketsLaatste activiteit en wijzigingsmetadata worden bijgewerkt indien deze velden onderdeel zijn van het ticketreadmodel.
18EventTicketSolutionAcceptedDomeinevent dat de acceptatie van de oplossing representeert.
18EventTicketActionIndicatorRecalculatedAfgeleide actie-indicaties worden opnieuw bepaald.
10, 13EventTicketSolutionAcceptFailedFoutpad voor niet-toegestane of mislukte acceptatie.

12. Geen datamutaties

EntiteitReden
Tickets.CreatedByUserIdDe melder van de melding wijzigt niet.
Tickets.CategoryAcceptatie wijzigt de meldingscategorie niet.
TicketTechnicalSnapshotsTechnische snapshots blijven de momentopname van het indienen en worden niet aangepast.
TicketAssignmentsAcceptatie wijzigt gekoppelde beheerders niet.
TicketClosures nieuw recordAcceptatie maakt geen tweede sluiting aan; de bestaande sluiting blijft leidend.
TicketReopenRequestsAcceptatie is geen heropenverzoek.
SystemMessagesDe gebruiker voert de actie zelf uit; er is geen nieuw systeembericht voor deze gebruiker nodig.
PrivateMessagesAcceptatie maakt geen privébericht aan.
TicketResolutionTypesAfsluitstatussen worden gelezen maar niet gewijzigd.
TicketHistory bestaande recordsBestaande 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

PopupKeyMomentVariantDoel
POP-GEN-TIC-ACCEPT-NOT-ALLOWEDWanneer de oplossing niet meer geaccepteerd kan worden, bijvoorbeeld doordat de heropentermijn verlopen is of de actuele sluiting niet meer geldig is.InfoOnlyUitleggen dat de acceptatieactie niet meer beschikbaar is.
POP-GEN-TIC-ACCEPT-FAILEDWanneer het opslaan van de acceptatie technisch of transactioneel mislukt.InfoOnlyVeilige foutmelding tonen zonder gedeeltelijke mutatie achter te laten.
POP-GEN-TIC-NOT-AVAILABLEWanneer de melding niet bestaat, niet toegankelijk is of niet veilig geladen kan worden.InfoOnlyGenerieke niet-beschikbaarmelding voor meldingdetailflows.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft dat tabblad Oplossing de actie Oplossing accepteren toont zolang de melding gebruikersgericht Opgelost is.
Functioneel OntwerpBeschrijft dat accepteren geen aparte tweede sluiting is, maar de bestaande oplossing definitief maakt voor de gebruiker.
Functioneel OntwerpBeschrijft dat na acceptatie de melding gebruikersgericht Gesloten wordt en dat heropenen door de gebruiker niet meer beschikbaar is.
Functioneel OntwerpBeschrijft dat de oplossing, afsluitstatus en oorspronkelijke heropen-deadline leesbaar blijven.
Functioneel OntwerpBeschrijft dat voor de normale acceptatie geen aparte bevestigingspopup nodig is; een wijziging hiervan vereist aanpassing van de usecase, popupmatrix en popupregisterverwijzing.
Technisch OntwerpTechnisch 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 OntwerpTechnisch 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 OntwerpTechnisch 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 OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijf server-side objectcontrole op Tickets.CreatedByUserId.
Technisch OntwerpTechnisch 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 OntwerpTechnisch 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 SpecificationBeschrijft requirements voor eigen-objectautorisatie, actuele oplossingstoestand, acceptatieregistratie, beëindigen van heropenmogelijkheid, historyregistratie en foutafhandeling.
Database-informatieBeschrijft of TicketClosures expliciete velden voor gebruikersacceptatie nodig heeft, zoals AcceptedByUserId en AcceptedAtUtc.
Database-informatieControleer dat gebruikersstatus Gesloten na acceptatie eenduidig kan worden afgeleid uit actuele sluiting plus acceptatiegegevens.
PopupbeheerBeschrijft 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-afleidingDektUsecasecontext
REQ-UC-GEN-TIC-006-001SRS-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-002SRS-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-003SRS-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-004SRS-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-005SRS-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-006SRS-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-007SRS-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-008SRS-TIC-007
SRS-NFR-AUD-001
AC-TIC-007
AC-NFR-AUD-001
Vastleggen welke gebruiker de oplossing accepteerde
REQ-UC-GEN-TIC-006-009SRS-TIC-002
SRS-NFR-AUD-001
AC-TIC-002
AC-NFR-AUD-001
Het acceptatiemoment in UTC vastleggen
REQ-UC-GEN-TIC-006-010SRS-TIC-004
AC-TIC-004
De oorspronkelijke oplossing, afsluitstatus, sluitdatum en heropen-deadline historisch beschikbaar houden
REQ-UC-GEN-TIC-006-011SRS-TIC-004
AC-TIC-004
Na acceptatie de heropenmogelijkheid voor de gebruiker beëindigen
REQ-UC-GEN-TIC-006-012SRS-TIC-002
AC-TIC-002
Na acceptatie de melding gebruikersgericht als Gesloten weergeven
REQ-UC-GEN-TIC-006-013SRS-TIC-002
AC-TIC-002
De melding na acceptatie raadpleegbaar houden in de gebruikersgerichte gesloten weergave
REQ-UC-GEN-TIC-006-014SRS-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-015SRS-AUTH-001
SRS-TIC-005
AC-AUTH-001
AC-TIC-005
Na acceptatie reguliere gebruikersreacties blokkeren
REQ-UC-GEN-TIC-006-016SRS-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-017SRS-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-018SRS-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-019SRS-MSG-001
SRS-TIC-001
AC-MSG-001
AC-TIC-001
Bij acceptatie geen privébericht aanmaken
REQ-UC-GEN-TIC-006-020SRS-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-021SRS-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-022SRS-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-023SRS-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-024SRS-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