Skip to main content

UC-GEN-TIC-007 — Melding heropenen door gebruiker

1. Kerngegevens

VeldWaarde
Usecase-IDUC-GEN-TIC-007
NaamMelding heropenen door gebruiker
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 opgeloste melding mag openen en binnen de heropentermijn mag heropenen
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-004 — Reageren op melding; UC-GEN-TIC-006 — Oplossing accepteren; UC-GEN-TIC-013 — Melding oplossen of sluiten; UC-GEN-MSG-003 — Bericht openen
Primaire entiteitenTickets, TicketClosures, TicketReopenRequests, TicketDiscussionMessages, TicketHistory
Secundaire entiteiten / eventsUsers, TicketAssignments, TicketResolutionTypes, SystemMessages, TicketReopenedByUser, TicketStatusChanged, TicketActionIndicatorRecalculated, TicketReopenFailed
Gerelateerde popupsPOP-GEN-TIC-REOPEN-USER, POP-GEN-TIC-REOPEN-NOT-ALLOWED, POP-GEN-TIC-REOPEN-FAILED, POP-GEN-TIC-NOT-AVAILABLE
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust have

2. Omschrijving

De gebruiker heropent een eigen melding nadat beheer een oplossing heeft aangeboden en de melding gebruikersgericht als Opgelost zichtbaar is. Heropenen is alleen mogelijk zolang de heropentermijn van de actuele formele sluitregistratie nog loopt en de gebruiker de oplossing nog niet heeft geaccepteerd.

Bij heropenen moet de gebruiker verplicht toelichten waarom de melding volgens hem of haar nog niet opgelost is. Het systeem legt deze toelichting formeel vast in TicketReopenRequests, toont de toelichting als extern zichtbaar discussie-item en legt een compacte auditregel vast in TicketHistory. De eerdere sluitregistratie in TicketClosures blijft historisch beschikbaar, inclusief oplossing, afsluitstatus en oorspronkelijke heropen-deadline, maar is na heropenen niet langer de actuele behandeltoestand.

Na heropenen wordt de melding opnieuw behandelbaar door beheer. Wanneer er nog een actieve beheerderkoppeling op de melding bestaat, wordt de melding opnieuw In behandeling. Wanneer er geen actieve beheerderkoppeling bestaat, wordt de melding opnieuw Nieuw. De actie-indicatie voor Wacht op mij vervalt, omdat de gebruiker op dat moment geen reactie meer hoeft te geven.

Deze usecase is iets anders dan het accepteren van een oplossing. Acceptatie hoort bij UC-GEN-TIC-006. Handmatig heropenen door een beheerder hoort bij UC-GEN-TIC-014.

3. Scope

Deze usecase beschrijft:

  • het openen van een eigen melding met gebruikersstatus Opgelost;
  • het tonen van de oplossing, afsluitstatus en concrete heropen-deadline;
  • het beschikbaar maken van de actie Melding heropenen binnen de heropentermijn;
  • het tonen van een popup of modal met verplicht toelichtingsveld;
  • het opnieuw server-side controleren van sessie, featurestatus, objecttoegang, actuele sluitregistratie, acceptatiestatus en heropenbaarheid;
  • het verplicht valideren van de heropentoelichting;
  • het vastleggen van een TicketReopenRequests-record met RequestSource = User;
  • het koppelen van het heropenverzoek aan de eerdere actuele sluitregistratie via PreviousClosureId wanneer die sluitregistratie beschikbaar is;
  • het extern zichtbaar vastleggen van de heropentoelichting in de ticketdiscussie;
  • het compact vastleggen van de heropenactie in TicketHistory;
  • het opnieuw behandelbaar maken van de melding;
  • het bepalen van de nieuwe behandelstatus op basis van actieve beheerderkoppelingen;
  • het opnieuw afleiden van gebruikersstatus en actie-indicaties;
  • foutpaden wanneer de melding niet meer beschikbaar, niet meer toegankelijk, niet meer heropenbaar of transactioneel niet verwerkbaar 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 reguliere gebruikersreactie zonder heropenactie;
  • het zelf sluiten van een melding;
  • het accepteren van een oplossing;
  • het automatisch verlopen van de heropentermijn;
  • het oplossen of sluiten door beheer;
  • het handmatig heropenen door beheer;
  • het doorzetten naar docent;
  • het ontkoppelen van beheerders bij handmatig heropenen door beheer;
  • het wijzigen of verwijderen van de eerdere oplossing of sluitregistratie;
  • het aanmaken van een nieuwe melding als de heropentermijn is verlopen;
  • 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 heeft een ReopenDeadlineUtc die nog in de toekomst ligt.
PRE-008De actuele sluitregistratie is nog niet door de gebruiker geaccepteerd.
PRE-009De melding wordt gebruikersgericht als Opgelost weergegeven.
PRE-010De actie Melding heropenen is beschikbaar op tabblad Oplossing.
PRE-011De applicatie kan heropenverzoek, extern discussie-item, historyregel, statusupdate en readmodelafleiding transactioneel verwerken.

5. Post-condities

IDResultaat
POST-001Er is een TicketReopenRequests-record vastgelegd.
POST-002Het heropenverzoek bevat de verplichte toelichting van de gebruiker.
POST-003Het heropenverzoek bevat RequestSource = User.
POST-004Het heropenverzoek verwijst naar de ingelogde gebruiker als aanvrager.
POST-005Het heropenverzoek verwijst naar de eerdere actuele sluitregistratie via PreviousClosureId wanneer die beschikbaar is.
POST-006De eerdere TicketClosures-registratie blijft historisch beschikbaar en wordt niet verwijderd of inhoudelijk overschreven.
POST-007De eerdere oplossingstekst, afsluitstatus, sluitdatum en oorspronkelijke ReopenDeadlineUtc blijven raadpleegbaar voor historie en beheer.
POST-008De melding is opnieuw behandelbaar door beheer.
POST-009Wanneer er nog minimaal één actieve beheerderkoppeling bestaat, krijgt de melding opnieuw status In behandeling.
POST-010Wanneer er geen actieve beheerderkoppeling bestaat, krijgt de melding opnieuw status Nieuw.
POST-011De gebruikersgerichte status is niet langer Opgelost of Gesloten, maar valt weer onder open/behandelbare meldingen.
POST-012De melding verschijnt opnieuw in de gebruikersgerichte tab Open, tenzij de nieuwe behandelstatus later door beheer wordt gewijzigd naar Wachten op reactie.
POST-013De actie Melding heropenen is na verwerking niet meer beschikbaar voor dezelfde sluitregistratie.
POST-014De actie Oplossing accepteren is na heropenen niet meer beschikbaar voor dezelfde sluitregistratie.
POST-015De heropentoelichting is als extern zichtbaar discussie-item beschikbaar voor gebruiker en beheer.
POST-016Interne beheerinformatie blijft onzichtbaar voor de gebruiker.
POST-017Er is minimaal één compacte TicketHistory-regel vastgelegd.
POST-018De actie-indicatie voor Wacht op mij wordt opnieuw afgeleid en is na deze gebruikersactie niet actief, tenzij beheer later opnieuw om reactie vraagt.
POST-019Er wordt geen nieuwe TicketClosures-registratie aangemaakt.
POST-020Er wordt geen nieuwe Tickets-melding aangemaakt.
POST-021Er wordt geen privébericht aangemaakt.
POST-022Bij een niet-toegestane of mislukte heropenactie blijft de bestaande meldingtoestand ongewijzigd.
POST-023Bij een transactionele fout blijven heropenverzoek, discussie-item, history en statusupdate consistent.

6. Trigger

De gebruiker opent een eigen melding met gebruikersstatus Opgelost, bekijkt tabblad Oplossing en kiest binnen de geldige heropentermijn de actie Melding heropenen.

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 de eigen melding wordt geladen.Tickets.CreatedByUserId moet gelijk zijn aan de huidige gebruiker.
3SysteemSCH-GEN-06-02 — Melding detailsToont tabblad Oplossing met oplossing, afsluitstatus, meldingstatus en heropen-deadline.De gebruiker ziet de actuele oplossing en de concrete heropenbaarheid.Opgelost wordt afgeleid uit de actuele sluitregistratie.
4SysteemBackend / statusafleidingControleert of de actuele sluitregistratie nog heropenbaar is.De actie Melding heropenen wordt beschikbaar gemaakt.ReopenDeadlineUtc ligt in de toekomst en acceptatie ontbreekt.
5GebruikerTabblad OplossingKiest Melding heropenen.Het systeem opent de heropenpopup.POP-GEN-TIC-REOPEN-USER.
6SysteemPopup / modalToont één verplicht tekstvlak voor de toelichting.De gebruiker kan de reden van heropenen invoeren of annuleren.Popuptekst en knopteksten staan in het popupregister.
7GebruikerPopup / modalVult de toelichting in waarom de oplossing niet volstaat.Het systeem houdt de invoer vast tot de gebruiker bevestigt.Lege of alleen-whitespace invoer is niet geldig.
8GebruikerPopup / modalBevestigt de heropenactie.Het systeem start de server-side verwerking.De client mag nog geen status als waarheid aannemen.
9SysteemBackend / autorisatieControleert opnieuw sessie, featurestatus en objecttoegang.Verwerking gaat alleen verder bij geldige context.Server-side controle is leidend.
10SysteemBackend / actuele toestandLaadt de actuele melding, actuele sluitregistratie en acceptatiestatus.Het systeem voorkomt verwerking op verouderde clientstate.Race conditions worden server-side afgevangen.
11SysteemBackend / validatieControleert dat de melding nog gebruikersgericht Opgelost is.Heropenen blijft alleen toegestaan voor een actuele oplossing binnen de termijn.Geen heropenactie na acceptatie of verlopen termijn.
12SysteemBackend / validatieValideert de verplichte heropentoelichting.Ongeldige invoer wordt geweigerd voordat mutaties plaatsvinden.Toelichting moet inhoud bevatten en binnen de maximale lengte vallen.
13SysteemBackend / transactieStart een transactionele mutatie.Heropenverzoek, discussie-item, history en statusupdate worden samen verwerkt.Geen gedeeltelijke opslag.
14SysteemBackend / heropenverzoekMaakt een TicketReopenRequests-record aan.Het heropenverzoek bevat ticket, actor, bron, toelichting, tijdstip en eerdere sluiting.RequestSource = User; PreviousClosureId verwijst naar de actuele sluiting indien beschikbaar.
15SysteemBackend / discussieMaakt een extern zichtbaar discussie-item aan met de heropentoelichting.Gebruiker en beheer zien waarom de melding is heropend.Visibility = External; de gebruiker is de inhoudelijke actor.
16SysteemBackend / statusserviceBepaalt de nieuwe behandelstatus.Bij actieve beheerderkoppeling wordt status In behandeling; zonder actieve beheerderkoppeling wordt status Nieuw.Heropenen door gebruiker ontkoppelt beheerders niet.
17SysteemBackend / ticketWerkt het ticket bij naar de nieuwe behandelstatus en wijzigingsmetadata.De eerdere sluiting is niet langer de actuele behandeltoestand.Eerdere TicketClosures blijft historisch bestaan.
18SysteemBackend / auditLegt een compacte TicketHistory-regel vast.De geschiedenis vermeldt dat de gebruiker de melding heeft heropend.History bevat geen volledige heropentoelichting; die staat in heropenverzoek/discussie.
19SysteemBackend / eventsPubliceert domeinevents voor heropenen, statuswijziging en herberekening van actie-indicaties.Afgeleide overzichten en badges kunnen worden bijgewerkt.TicketReopenedByUser, TicketStatusChanged, TicketActionIndicatorRecalculated.
20SysteemSCH-GEN-06-02 — Melding detailsVerverst de detailweergave.De melding staat opnieuw open/behandelbaar; acceptatie- en heropenactie verdwijnen.Tabbladen blijven beschikbaar volgens de nieuwe status.
21SysteemSCH-GEN-06-01 — MeldingenVerwerkt de nieuwe toestand in overzichtsdata.De melding valt opnieuw onder Open, tenzij beheer later om reactie vraagt.Wacht op mij wordt opnieuw afgeleid en is door deze actie niet actief.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011-3De melding bestaat niet meer of kan niet veilig geladen worden.Het systeem toont een veilige niet-beschikbaarmelding.POP-GEN-TIC-NOT-AVAILABLEGeen.
ALT-0022, 9De 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-0043-4Er is geen actuele formele sluitregistratie met oplossing.Het tabblad Oplossing toont de actuele behandelingstoestand zonder heropenactie.Geen popup.Geen.
ALT-0054, 11De heropentermijn is verlopen.Het systeem toont de melding als Gesloten en biedt geen heropenactie aan.POP-GEN-TIC-REOPEN-NOT-ALLOWED wanneer de gebruiker net probeerde te heropenen.Geen.
ALT-0064, 11De gebruiker heeft de oplossing al geaccepteerd.Het systeem toont de melding als Gesloten en blokkeert heropenen.POP-GEN-TIC-REOPEN-NOT-ALLOWEDGeen.
ALT-0076-8De gebruiker annuleert de heropenpopup.De popup sluit en de melding blijft ongewijzigd.Geen popup.Geen.
ALT-00812De toelichting is leeg of bevat alleen whitespace.Het systeem weigert bevestigen of toont veldvalidatie.Inline validatie of POP-GEN-TIC-REOPEN-NOT-ALLOWED, afhankelijk van implementatie.Geen.
ALT-00912De toelichting overschrijdt de maximale lengte.Het systeem weigert bevestigen of toont veldvalidatie.Inline validatie.Geen.
ALT-01010-11De melding is na het openen door beheer opnieuw gewijzigd.Het systeem verwerkt op basis van de actuele serverstatus en blokkeert heropenen wanneer de toestand niet meer geldig is.POP-GEN-TIC-REOPEN-NOT-ALLOWEDGeen.
ALT-01113-18De heropenactie kan niet transactioneel worden opgeslagen.Het systeem rolt de transactie terug en toont een veilige foutmelding.POP-GEN-TIC-REOPEN-FAILEDGeen gedeeltelijke mutatie.
ALT-01215Het externe discussie-item kan niet worden aangemaakt.Het systeem rolt de volledige heropenactie terug, omdat de toelichting zichtbaar en herleidbaar moet blijven.POP-GEN-TIC-REOPEN-FAILEDGeen gedeeltelijke mutatie.
ALT-01316-17De statusupdate kan niet worden opgeslagen.Het systeem rolt het heropenverzoek, discussie-item en history terug.POP-GEN-TIC-REOPEN-FAILEDGeen gedeeltelijke mutatie.
ALT-01420-21De UI-refresh mislukt na succesvolle servermutatie.Bij opnieuw laden toont het systeem de serverwaarheid: de melding is opnieuw open/behandelbaar.Veilige technische melding indien nodig.Heropenactie blijft opgeslagen.
ALT-0158-14De gebruiker klikt herhaald op bevestigen.Het systeem verwerkt maximaal één heropenverzoek voor dezelfde actuele sluitregistratie.Geen popup of POP-GEN-TIC-REOPEN-NOT-ALLOWED.Maximaal één heropenmutatie.
ALT-0165De gebruiker probeert te heropenen vanuit een verouderde link of bookmark.Het systeem opent eerst de actuele meldingdetailweergave en toont de actie alleen als die nog geldig is.POP-GEN-TIC-NOT-AVAILABLE of POP-GEN-TIC-REOPEN-NOT-ALLOWED indien niet geldig.Geen, tenzij de gebruiker daarna geldig bevestigt.

9. Business rules

IDRegel
BR-UC-GEN-TIC-007-001Alleen de gebruiker die de melding heeft aangemaakt mag de eigen melding heropenen vanuit de gebruikersweergave.
BR-UC-GEN-TIC-007-002Heropenen door de gebruiker is alleen beschikbaar wanneer de melding gebruikersgericht Opgelost is.
BR-UC-GEN-TIC-007-003Opgelost is geen backendhoofdstatus maar een afgeleide gebruikersstatus op basis van de actuele sluitregistratie en heropen-deadline.
BR-UC-GEN-TIC-007-004Heropenen door de gebruiker is alleen toegestaan zolang ReopenDeadlineUtc van de actuele sluitregistratie nog in de toekomst ligt.
BR-UC-GEN-TIC-007-005Heropenen door de gebruiker is niet toegestaan wanneer de oplossing al door de gebruiker is geaccepteerd.
BR-UC-GEN-TIC-007-006Heropenen vereist altijd een inhoudelijke toelichting van de gebruiker.
BR-UC-GEN-TIC-007-007De heropentoelichting wordt formeel vastgelegd in TicketReopenRequests.
BR-UC-GEN-TIC-007-008Een heropenverzoek door de gebruiker gebruikt RequestSource = User.
BR-UC-GEN-TIC-007-009Het heropenverzoek verwijst naar de eerdere actuele sluitregistratie wanneer deze beschikbaar is.
BR-UC-GEN-TIC-007-010De eerdere sluitregistratie blijft historisch bestaan en wordt niet verwijderd of overschreven.
BR-UC-GEN-TIC-007-011De heropentoelichting wordt zichtbaar gemaakt als extern discussie-item, zodat gebruiker en beheer dezelfde inhoudelijke reden kunnen teruglezen.
BR-UC-GEN-TIC-007-012Een heropenactie leidt altijd tot minimaal één compacte TicketHistory-regel.
BR-UC-GEN-TIC-007-013Heropenen door de gebruiker ontkoppelt geen actief gekoppelde beheerders.
BR-UC-GEN-TIC-007-014Na heropenen wordt de melding opnieuw behandelbaar: In behandeling bij actieve beheerderkoppeling en Nieuw zonder actieve beheerderkoppeling.
BR-UC-GEN-TIC-007-015Na heropenen zijn Oplossing accepteren en Melding heropenen niet meer beschikbaar voor dezelfde eerdere sluitregistratie.
BR-UC-GEN-TIC-007-016Heropenen maakt geen nieuwe melding en geen nieuwe sluitregistratie aan.
BR-UC-GEN-TIC-007-017Server-side objectautorisatie en statuscontrole zijn leidend; frontend-zichtbaarheid is geen beveiligingslaag.
IDCentrale regel
BR-GEN-TIC-024Een gebruiker kan een eigen melding alleen heropenen zolang de melding gebruikersgericht Opgelost is, de heropentermijn nog loopt en de oplossing niet is geaccepteerd.
BR-GEN-TIC-025Heropenen door de gebruiker vereist een verplichte toelichting en wordt formeel vastgelegd in TicketReopenRequests met RequestSource = User.
BR-GEN-TIC-026Heropenen door de gebruiker maakt de eerdere sluiting historisch, maakt de melding opnieuw behandelbaar en ontkoppelt geen beheerders.

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.
Heropen-deadlineReopenDeadlineUtc moet nog in de toekomst liggen op het moment van server-side verwerking.
AcceptatiestatusDe actuele sluitregistratie mag nog niet door de gebruiker zijn geaccepteerd.
GebruikersstatusDe melding moet op het moment van verwerken gebruikersgericht Opgelost zijn.
HeropentoelichtingVerplicht, mag niet leeg zijn en mag niet uitsluitend uit whitespace bestaan.
Heropentoelichting lengteMoet binnen de maximale tekstlengte voor heropenverzoeken vallen.
RequestSourceMoet voor deze usecase User zijn.
PreviousClosureIdVerwijst naar de actuele eerdere sluitregistratie wanneer die registratie beschikbaar is.
Extern discussie-itemMoet gekoppeld zijn aan hetzelfde ticket, Visibility = External hebben en de heropentoelichting representeren.
Status na heropenenWordt bepaald op basis van actieve beheerderkoppelingen: actieve koppeling resulteert in In behandeling, geen actieve koppeling resulteert in Nieuw.
TicketHistoryMoet actor, melding, actie en tijdstip vastleggen.
Transactionele consistentieHeropenverzoek, extern discussie-item, history, statusupdate en metadata-update worden als samenhangende mutatie verwerkt.
Race conditionsDe actuele serverstatus wordt opnieuw gelezen op het moment van bevestigen.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
14CreateTicketReopenRequestsNieuw heropenverzoek met ticket, actor, RequestSource = User, toelichting, tijdstip en eventuele PreviousClosureId.
15CreateTicketDiscussionMessagesExtern zichtbaar discussie-item met de heropentoelichting.
16AfleidingTicketAssignmentsActieve beheerderkoppelingen worden gelezen om de nieuwe behandelstatus te bepalen.
17UpdateTicketsStatus wordt opnieuw behandelbaar: InProgress bij actieve beheerderkoppeling of New zonder actieve beheerderkoppeling; wijzigingsmetadata worden bijgewerkt.
18CreateTicketHistoryCompacte auditregel voor heropenen door gebruiker.
19EventTicketReopenedByUserDomeinevent dat het heropenen door de gebruiker representeert.
19EventTicketStatusChangedDomeinevent voor de statusovergang van gesloten/opgelost naar opnieuw behandelbaar.
19EventTicketActionIndicatorRecalculatedAfgeleide actie-indicaties worden opnieuw bepaald.
10-13EventTicketReopenFailedFoutpad voor niet-toegestane of mislukte heropenactie.

12. Geen datamutaties

EntiteitReden
Tickets.CreatedByUserIdDe melder van de melding wijzigt niet.
TicketClosuresDe eerdere sluiting blijft historisch beschikbaar en wordt niet verwijderd of overschreven.
TicketResolutionTypesDe eerdere afsluitstatus blijft historisch gekoppeld aan de eerdere sluiting.
TicketAssignmentsHeropenen door de gebruiker ontkoppelt geen actief gekoppelde beheerders.
TicketTechnicalSnapshotsDe technische snapshot van het oorspronkelijke meldmoment blijft ongewijzigd.
SystemMessagesDeze usecase maakt geen nieuw systeembericht aan voor de gebruiker die zelf heropent.
PrivateMessageThreadsHeropenen van een melding maakt geen privéberichtthread aan.
PrivateMessagesHeropenen van een melding maakt geen privébericht aan.

13. State diagram

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Heropenen binnen geldige heropentermijn

16.2 Heropenen niet toegestaan

17. Popupverwijzingen

PopupKeyMomentVariantDoel
POP-GEN-TIC-REOPEN-USERWanneer de gebruiker binnen de heropentermijn kiest voor heropenen.InputTextareaVerplichte toelichting vragen voordat de melding wordt heropend.
POP-GEN-TIC-REOPEN-NOT-ALLOWEDWanneer heropenen niet meer of niet langer toegestaan is.InfoOnlyVeilig uitleggen dat heropenen vanuit deze toestand niet mogelijk is.
POP-GEN-TIC-REOPEN-FAILEDWanneer de heropenactie niet transactioneel verwerkt kan worden.InfoOnlyVeilige foutmelding zonder technische details.
POP-GEN-TIC-NOT-AVAILABLEWanneer de melding niet bestaat, niet beschikbaar is of niet toegankelijk is.InfoOnlyVeilige niet-beschikbaarmelding zonder objectdetails te lekken.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft de gebruikersflow voor heropenen vanaf tabblad Oplossing, inclusief zichtbaarheid van actie, concrete heropen-deadline, verplichte toelichting, externe discussieweergave en terugkeer naar een open/behandelbare melding.
Functioneel OntwerpBeschrijft dat heropenen door de gebruiker geen beheerders ontkoppelt en verschilt van handmatig heropenen door beheer.
Functioneel OntwerpBeschrijft dat de melding na heropenen opnieuw onder Open valt, tenzij beheer later opnieuw om reactie vraagt.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft ReopenTicketCommand of gelijkwaardige serviceactie uit met server-side objectautorisatie, actuele closurecontrole, deadlinecontrole, acceptatiestatuscontrole en transactionele verwerking.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat TicketReopenRequests.RequestSource = User gebruikt wordt en dat PreviousClosureId naar de eerdere actuele sluitregistratie verwijst wanneer beschikbaar.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft de statusafleiding na heropenen uit: InProgress bij actieve beheerderkoppeling en New zonder actieve beheerderkoppeling.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat heropenverzoek, extern discussie-item, historyregel, statusupdate en readmodelafleiding consistent in één transactie of compensatievrije unit-of-work worden verwerkt.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat heropenen door gebruiker geen TicketAssignments, TicketClosures, SystemMessages of privéberichtrecords aanmaakt of wijzigt, behalve de status/metadata op het ticket.
Software Requirements SpecificationBeschrijft requirements voor heropenbaarheid, verplichte toelichting, deadlinecontrole, objectautorisatie, statusovergang, auditregistratie, foutafhandeling en het niet overschrijven van historische sluitgegevens.
Database-informatieBeschrijft of TicketReopenRequests velden bevat voor ticket, actor, RequestSource, toelichting, PreviousClosureId, tijdstip en eventuele auditmetadata.
Database-informatieBeschrijft of TicketClosures historisch kan blijven bestaan terwijl de melding opnieuw behandelbaar wordt.
OntwerpbronnenBeschrijven business rules, command, events, popupverwijzingen en matrixregels voor UC-GEN-TIC-007.

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-007-001SRS-TIC-002
AC-TIC-002
Een gebruiker toestaan een eigen melding te heropenen wanneer de melding gebruikersgericht Opgelost is, de heropentermijn nog geldig is en de oplossing niet is geaccepteerd
REQ-UC-GEN-TIC-007-002SRS-AUTH-001
SRS-TIC-004
AC-AUTH-001
AC-TIC-004
Heropenen blokkeren wanneer de gebruiker niet de melder van de melding is
REQ-UC-GEN-TIC-007-003SRS-AUTH-001
SRS-ACC-003
SRS-ACC-005
SRS-TIC-004
SRS-NFR-SEC-001
SRS-NFR-ACC-001
AC-AUTH-001
AC-ACC-003
AC-ACC-005
AC-TIC-004
AC-NFR-SEC-001
AC-NFR-ACC-001
Heropenen blokkeren wanneer de melding niet bestaat, niet beschikbaar is of niet veilig toegankelijk is
REQ-UC-GEN-TIC-007-004SRS-AUTH-001
SRS-TIC-004
AC-AUTH-001
AC-TIC-004
Heropenen blokkeren wanneer de actuele sluitregistratie ontbreekt
REQ-UC-GEN-TIC-007-005SRS-AUTH-001
SRS-TIC-004
AC-AUTH-001
AC-TIC-004
Heropenen blokkeren wanneer ReopenDeadlineUtc is verlopen
REQ-UC-GEN-TIC-007-006SRS-AUTH-001
SRS-TIC-004
AC-AUTH-001
AC-TIC-004
Heropenen blokkeren wanneer de gebruiker de oplossing al heeft geaccepteerd
REQ-UC-GEN-TIC-007-007SRS-TIC-004
AC-TIC-004
Bij heropenen een verplichte toelichting vragen
REQ-UC-GEN-TIC-007-008SRS-AUTH-001
SRS-TIC-004
AC-AUTH-001
AC-TIC-004
Lege of whitespace-only heropentoelichtingen weigeren
REQ-UC-GEN-TIC-007-009SRS-TIC-004
AC-TIC-004
Heropentoelichtingen begrenzen volgens de geldende maximale tekstlengte
REQ-UC-GEN-TIC-007-010SRS-TIC-004
AC-TIC-004
Een geldig heropenverzoek opslaan in TicketReopenRequests
REQ-UC-GEN-TIC-007-011SRS-TIC-004
SRS-NFR-AUD-001
AC-TIC-004
AC-NFR-AUD-001
Voor gebruikersheropeningen RequestSource = User vastleggen
REQ-UC-GEN-TIC-007-012SRS-TIC-004
AC-TIC-004
Het heropenverzoek koppelen aan de eerdere actuele sluitregistratie wanneer die beschikbaar is
REQ-UC-GEN-TIC-007-013SRS-TIC-004
AC-TIC-004
De heropentoelichting extern zichtbaar maken in de ticketdiscussie
REQ-UC-GEN-TIC-007-014SRS-TIC-004
SRS-NFR-AUD-001
AC-TIC-004
AC-NFR-AUD-001
Een compacte TicketHistory-regel vastleggen voor heropenen door gebruiker
REQ-UC-GEN-TIC-007-015SRS-TIC-004
AC-TIC-004
De eerdere TicketClosures-registratie historisch behouden en niet overschrijven bij heropenen
REQ-UC-GEN-TIC-007-016SRS-TIC-003
AC-TIC-003
Na heropenen de melding opnieuw behandelbaar maken
REQ-UC-GEN-TIC-007-017SRS-TIC-003
SRS-ADM-001
AC-TIC-003
AC-ADM-001
Na heropenen status In behandeling gebruiken wanneer er nog minimaal één actieve beheerderkoppeling bestaat
REQ-UC-GEN-TIC-007-018SRS-TIC-003
SRS-ADM-001
AC-TIC-003
AC-ADM-001
Na heropenen status Nieuw gebruiken wanneer er geen actieve beheerderkoppeling bestaat
REQ-UC-GEN-TIC-007-019SRS-REL-003
SRS-REL-006
SRS-TIC-003
SRS-ADM-001
AC-REL-003
AC-REL-006
AC-TIC-003
AC-ADM-001
Bij heropenen door gebruiker geen actieve beheerders ontkoppelen
REQ-UC-GEN-TIC-007-020SRS-MSG-007
SRS-TIC-001
AC-MSG-007
AC-TIC-001
Bij heropenen door gebruiker geen nieuwe melding, nieuwe sluitregistratie, nieuw systeembericht of privébericht aanmaken
REQ-UC-GEN-TIC-007-021SRS-TIC-004
AC-TIC-004
Na heropenen de acties Oplossing accepteren en Melding heropenen voor de eerdere sluitregistratie verbergen
REQ-UC-GEN-TIC-007-022SRS-RDM-001
SRS-TIC-004
AC-RDM-001
AC-TIC-004
Na heropenen de actie-indicatie voor Wacht op mij opnieuw afleiden
REQ-UC-GEN-TIC-007-023SRS-TIC-004
SRS-NFR-AUD-001
AC-TIC-004
AC-NFR-AUD-001
Heropenverzoek, extern discussie-item, historyregel, statusupdate en metadata-update transactioneel consistent verwerken
REQ-UC-GEN-TIC-007-024SRS-AUTH-001
SRS-TIC-002
AC-AUTH-001
AC-TIC-002
Race conditions afvangen door de actuele ticketstatus, closure, deadline en acceptatiestatus opnieuw server-side te controleren op het moment van bevestigen
REQ-UC-GEN-TIC-007-025SRS-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