Skip to main content

UC-GEN-TIC-005 — Eigen melding sluiten

1. Kerngegevens

VeldWaarde
Usecase-IDUC-GEN-TIC-005
NaamEigen melding sluiten
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, niet-functioneel gesloten melding mag openen en zelf mag sluiten
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-007 — Melding heropenen door gebruiker; UC-GEN-MSG-003 — Bericht openen
Primaire entiteitenTickets, TicketClosures, TicketDiscussionMessages, TicketHistory
Secundaire entiteiten / eventsUsers, TicketStatuses, TicketResolutionTypes, TicketActionIndicatorRecalculated, TicketClosedByUser, TicketCloseFailed
Gerelateerde popupsPOP-GEN-TIC-CLOSE-OWN-CONFIRM, POP-GEN-TIC-CLOSE-NOT-ALLOWED, POP-GEN-TIC-CLOSE-FAILED, POP-GEN-TIC-NOT-AVAILABLE
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust have

2. Omschrijving

De gebruiker sluit een eigen melding vanuit de gebruikersgerichte detailpagina. Deze actie is bedoeld voor situaties waarin de gebruiker de melding niet meer door beheer wil laten behandelen, bijvoorbeeld omdat het probleem niet meer speelt of omdat de melding per ongeluk is aangemaakt.

Het sluiten van de eigen melding is een formele ticketmutatie. De gebruiker moet een reden van sluiten invullen. Het systeem registreert de sluiting in TicketClosures met resolutietype ClosedByUser en gebruikerslabel Gesloten door gebruiker. De reden wordt functioneel zichtbaar gehouden als extern discussiebericht bij de melding. Daarnaast wordt een compacte auditregel in TicketHistory vastgelegd.

Deze usecase is geen oplossing-acceptatie. Wanneer beheer al een oplossing heeft geplaatst en de gebruiker die oplossing wil accepteren, hoort dat bij UC-GEN-TIC-006. Deze usecase beschrijft uitsluitend het zelf sluiten van een eigen melding zolang de melding nog niet functioneel gesloten is.

3. Scope

Deze usecase beschrijft:

  • het openen van de eigen meldingdetailpagina;
  • het tonen van de actie Melding sluiten zolang de melding nog niet functioneel gesloten is;
  • het openen van een bevestigingspopup met verplicht tekstveld voor de reden van sluiten;
  • het opnieuw server-side controleren van sessie, featurestatus, objecttoegang en actuele tickettoestand;
  • het valideren van de verplichte reden;
  • het registreren van de formele sluiting in TicketClosures;
  • het gebruiken van resolutietype ClosedByUser met gebruikerslabel Gesloten door gebruiker;
  • het vastleggen van de reden als extern zichtbaar discussiebericht;
  • het vastleggen van een compacte auditregel in TicketHistory;
  • het wijzigen van de ticketstatus naar Closed;
  • het opnieuw afleiden van gebruikersstatus en actie-indicaties;
  • het verplaatsen van de melding naar de gebruikersgerichte gesloten weergave;
  • foutpaden wanneer de melding inmiddels gesloten, niet beschikbaar of niet toegankelijk is.

Deze usecase beschrijft niet:

  • het indienen van een nieuwe melding;
  • het bekijken van het meldingenoverzicht;
  • het algemeen openen van de meldingdetailpagina;
  • het regulier reageren op een melding;
  • het accepteren van een door beheer aangeboden oplossing;
  • het heropenen van een melding binnen een heropentermijn;
  • het plaatsen van interne of externe beheerberichten;
  • het oplossen of sluiten door een beheerder;
  • het handmatig heropenen door een beheerder;
  • het doorzetten naar docent;
  • het verwijderen of anonimiseren van ticketdata;
  • het aanmaken van privéberichten;
  • het wijzigen van ticketcategorieën, technische snapshots of beheerderkoppelingen;
  • 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-006De melding is niet functioneel gesloten.
PRE-007De actie Melding sluiten is beschikbaar op de gebruikersgerichte detailpagina.
PRE-008Het resolutietype met technische code ClosedByUser bestaat als vaste waardelijstwaarde.
PRE-009De applicatie kan een TicketClosures-record, een extern TicketDiscussionMessages-record en een TicketHistory-record transactioneel opslaan.
PRE-010De popupdefinitie voor het sluiten van de eigen melding is beschikbaar via het popupregister.

5. Post-condities

IDResultaat
POST-001De melding is formeel gesloten via een nieuw TicketClosures-record.
POST-002De sluiting gebruikt het resolutietype ClosedByUser / Gesloten door gebruiker.
POST-003ClosedByUserId verwijst naar de ingelogde gebruiker die de sluitactie uitvoerde.
POST-004De reden van sluiten is als extern zichtbaar discussiebericht vastgelegd.
POST-005Er is minimaal één compacte TicketHistory-regel vastgelegd.
POST-006De ticketstatus is Closed.
POST-007De gebruikersgerichte status van de melding wordt Gesloten.
POST-008De melding is niet langer zichtbaar in de gebruikersgerichte tab Open.
POST-009De melding is niet langer zichtbaar in de gebruikersgerichte tab Wacht op mij.
POST-010De melding blijft raadpleegbaar via de gebruikersgerichte tab Gesloten.
POST-011De actie Melding sluiten is na sluiting niet meer beschikbaar.
POST-012Reguliere reacties zijn na sluiting niet meer beschikbaar.
POST-013De actie-indicatie voor Wacht op mij wordt opnieuw afgeleid.
POST-014Interne beheerinformatie blijft onzichtbaar voor de gebruiker.
POST-015Er wordt geen nieuwe tabel gebruikt voor sluiten door gebruiker.
POST-016Er wordt geen privébericht aangemaakt.
POST-017Bij annuleren of validatiefout wordt geen ticketmutatie uitgevoerd.
POST-018Bij een transactionele fout blijven ticketstatus, sluitregistratie, discussie en history consistent.

6. Trigger

De gebruiker opent een eigen, niet-functioneel gesloten melding en kiest op het tabblad Melding de actie Melding sluiten.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1GebruikerSCH-GEN-06-01 — MeldingenOpent een eigen melding 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.
4SysteemSCH-GEN-06-02 — Tabblad MeldingBepaalt of de actie Melding sluiten beschikbaar is.De actie wordt getoond zolang de melding niet functioneel gesloten is.Gesloten meldingen zijn alleen-lezen voor deze actie.
5GebruikerTabblad MeldingKiest Melding sluiten.Het systeem opent de sluitpopup.PopupKey POP-GEN-TIC-CLOSE-OWN-CONFIRM.
6SysteemPopupToont bevestiging en verplicht tekstveld.De gebruiker kan annuleren of een reden invullen en bevestigen.Popupinhoud staat centraal in het popupregister.
7GebruikerPopupVult de reden van sluiten in.De reden blijft beschikbaar in de popup tot annuleren of bevestigen.Leeg of alleen witruimte is ongeldig.
8GebruikerPopupBevestigt de sluiting.Het systeem start server-side validatie.Frontendvalidatie mag bestaan, maar server-side validatie is leidend.
9SysteemBackend / validatieControleert sessie, featurestatus, ticketbestaan en objecttoegang opnieuw.Het systeem verwerkt alleen wanneer de gebruiker nog steeds eigenaar van de melding is.Race conditions worden server-side afgevangen.
10SysteemBackend / validatieControleert de actuele functionele tickettoestand.Het systeem verwerkt alleen wanneer de melding nog niet functioneel gesloten is.Opgelost/Gesloten blokkeert deze sluitactie.
11SysteemBackend / validatieValideert de reden van sluiten.Het systeem accepteert alleen een niet-lege reden.De reden wordt veilig verwerkt voor opslag en weergave.
12SysteemBackend / transactionele opslagMaakt de formele sluitregistratie aan.Er ontstaat een TicketClosures-record.ResolutionType = ClosedByUser; ClosedByUserId = huidige gebruiker.
13SysteemBackend / transactionele opslagLegt de reden extern zichtbaar vast.Er ontstaat een TicketDiscussionMessages-record met externe zichtbaarheid.De reden blijft functioneel terugleesbaar voor gebruiker en beheer.
14SysteemBackend / statuslogicaZet de ticketstatus naar Closed.De melding is niet meer open of actiebehoevend voor de gebruiker.Afsluitstatus en processtatus blijven verschillende concepten.
15SysteemBackend / ticketmetadataWerkt laatste activiteit bij.De detail- en overzichtsweergave kunnen de nieuwe activiteit tonen.Datum- en tijdwaarden worden in UTC opgeslagen.
16SysteemBackend / historyLegt een compacte historyregel vast.TicketHistory bevat de formele sluitactie.Vrije reden wordt niet volledig in history gedupliceerd.
17SysteemBackend / transactieRondt de transactie af.Sluitregistratie, extern discussie-item, status en history zijn consistent opgeslagen.Bij falen wordt de volledige transactie teruggedraaid.
18SysteemUI / readmodelVerverst de detailpagina.De melding toont gebruikersstatus Gesloten en sluitacties verdwijnen.De melding blijft raadpleegbaar.
19SysteemUI / overzichtsafleidingBepaalt tabindeling en actie-indicaties opnieuw.De melding verdwijnt uit Open en Wacht op mij en blijft zichtbaar onder Gesloten.Wacht op mij wordt afgeleid uit actuele ticketstatus.
20GebruikerSCH-GEN-06-02 — Melding detailsBekijkt de gesloten melding of keert terug naar het overzicht.Het systeem toont alleen nog toegestane vervolgacties voor een gesloten melding.Regulier reageren en opnieuw sluiten zijn niet beschikbaar.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011 / 9De gebruiker is niet ingelogd of de sessie is verlopen.Het systeem volgt de generieke loginflow.Generieke loginflow.Geen.
ALT-0022 / 9De meldingenfunctionaliteit is uitgeschakeld.Het systeem blokkeert de actie of route volgens generieke feature-afhandeling.Generieke melding.Geen.
ALT-0032 / 9De melding bestaat niet meer of kan niet geladen worden.Het systeem toont een veilige niet-beschikbaarmelding.POP-GEN-TIC-NOT-AVAILABLE.Geen.
ALT-0042 / 9De melding hoort niet bij de ingelogde gebruiker.Het systeem weigert server-side toegang zonder details over het bestaan van het record te lekken.Generieke toegangsmelding of POP-GEN-TIC-NOT-AVAILABLE.Geen.
ALT-0054 / 10De melding is inmiddels functioneel gesloten.Het systeem verbergt of blokkeert de sluitactie en ververst de detailweergave.POP-GEN-TIC-CLOSE-NOT-ALLOWED.Geen.
ALT-0064De melding is gebruikersgericht Opgelost binnen de heropentermijn.Het systeem toont geen actie Melding sluiten; de gebruiker kan de oplossing accepteren of heropenen via de daarvoor bedoelde flow.Geen popup vanuit deze usecase.Geen.
ALT-0076De gebruiker sluit de popup zonder te bevestigen.Het systeem keert terug naar de detailpagina.Geen.Geen.
ALT-0087 / 11De reden is leeg of bevat alleen witruimte.Het systeem toont validatie bij het verplichte veld en verwerkt de sluiting niet.Inline validatie binnen de popup.Geen.
ALT-00911De reden bevat onveilige of niet-toegestane inhoud.Het systeem sanitizet of blokkeert de inhoud volgens de veilige tekstverwerkingsregels.Inline validatie wanneer blokkeren nodig is.Geen bij blokkeren; gesanitizete opslag wanneer toegestaan.
ALT-01012-17De databaseactie of transactie faalt.Het systeem draait de transactie terug en toont een veilige foutmelding.POP-GEN-TIC-CLOSE-FAILED.Geen gedeeltelijke domeinmutatie.
ALT-01113Het externe discussie-item kan niet worden opgeslagen.Het systeem beschouwt de sluittransactie als mislukt, omdat de reden zichtbaar terugleesbaar moet blijven.POP-GEN-TIC-CLOSE-FAILED.Geen gedeeltelijke domeinmutatie.
ALT-01214De melding stond op WaitingForUser.Het systeem sluit de melding en verwijdert de actiebehoefte voor de gebruiker.Geen extra popup.Tickets.Status = Closed; actie-indicatie wordt opnieuw afgeleid.
ALT-01314De melding stond op New of InProgress.Het systeem sluit de melding zonder dat eerst beheer een oplossing hoeft te plaatsen.Geen extra popup.Tickets.Status = Closed.
ALT-01418De sluiting is opgeslagen maar de UI-refresh mislukt.Het systeem toont een veilige laadfout of biedt herladen aan.Veilige melding zonder technische details.De opgeslagen sluiting blijft bestaan.
ALT-01519De gebruiker is leerling en zit in een actieve oefenrun.Meldingenindicaties worden tijdens de actieve run tijdelijk verborgen, maar de onderliggende sluiting blijft geldig.Geen popup.Geen extra mutatie.
ALT-01620De gebruiker probeert opnieuw te reageren op de gesloten melding.Het systeem blokkeert reguliere reactieplaatsing.Valt onder UC-GEN-TIC-004 met POP-GEN-TIC-REPLY-NOT-ALLOWED.Geen vanuit deze usecase.

9. Business rules

IDRegel
BR-UC-GEN-TIC-005-001Een gebruiker mag alleen de eigen melding sluiten.
BR-UC-GEN-TIC-005-002Objecttoegang tot de melding wordt server-side gecontroleerd op basis van Tickets.CreatedByUserId.
BR-UC-GEN-TIC-005-003De actie Melding sluiten is alleen beschikbaar zolang de melding niet functioneel gesloten is.
BR-UC-GEN-TIC-005-004Het sluiten van de eigen melding vereist altijd een reden.
BR-UC-GEN-TIC-005-005De reden mag niet leeg zijn en mag niet alleen uit witruimte bestaan.
BR-UC-GEN-TIC-005-006De reden moet veilig worden opgeslagen en weergegeven zonder actieve HTML of JavaScript uit te voeren.
BR-UC-GEN-TIC-005-007Sluiten door gebruiker gebruikt geen aparte tabel.
BR-UC-GEN-TIC-005-008Sluiten door gebruiker wordt formeel vastgelegd in TicketClosures.
BR-UC-GEN-TIC-005-009Sluiten door gebruiker gebruikt resolutietype ClosedByUser met gebruikerslabel Gesloten door gebruiker.
BR-UC-GEN-TIC-005-010ClosedByUserId mag bij deze flow verwijzen naar de melder/gebruiker zelf.
BR-UC-GEN-TIC-005-011De reden van sluiten wordt functioneel zichtbaar gehouden als extern discussiebericht.
BR-UC-GEN-TIC-005-012De formele sluitactie wordt compact vastgelegd in TicketHistory.
BR-UC-GEN-TIC-005-013Vrije tekst uit de reden wordt niet volledig in TicketHistory gedupliceerd.
BR-UC-GEN-TIC-005-014Na sluiten door gebruiker krijgt de melding processtatus Closed.
BR-UC-GEN-TIC-005-015Na sluiten door gebruiker is de gebruikersgerichte status Gesloten.
BR-UC-GEN-TIC-005-016Sluiten door gebruiker is geen oplossing-acceptatie.
BR-UC-GEN-TIC-005-017Sluiten door gebruiker start geen gebruikersgerichte heropentermijn voor oplossing.
BR-UC-GEN-TIC-005-018Een gesloten melding blijft voor de gebruiker raadpleegbaar via de tab Gesloten.
BR-UC-GEN-TIC-005-019Reguliere reacties en opnieuw sluiten zijn na deze sluiting niet meer beschikbaar.
BR-UC-GEN-TIC-005-020De actie-indicatie voor Wacht op mij wordt na sluiting opnieuw afgeleid en niet als losse teller opgeslagen.
BR-UC-GEN-TIC-005-021Het sluiten van een melding maakt geen privébericht aan.
BR-UC-GEN-TIC-005-022Bij transactionele fouten mag geen gedeeltelijke sluit-, discussie-, status- of historymutatie achterblijven.

Centrale business rules die hierbij horen:

BusinessRule-IDToepassing
BR-GEN-SEC-001Alle afgeschermde acties vereisen server-side rol-, relatie- of objectcontrole.
BR-GEN-TIC-007Een eindgebruiker ziet en bewerkt uitsluitend eigen meldingen.
BR-GEN-TIC-017Reguliere reacties op functioneel gesloten meldingen zijn niet toegestaan.
BR-GEN-TIC-018Een gebruiker mag een eigen open melding zelf sluiten met verplichte reden.
BR-GEN-TIC-019Sluiten door gebruiker hergebruikt TicketClosures met resolutietype ClosedByUser.
BR-GEN-TIC-020De reden van sluiten door gebruiker wordt extern zichtbaar vastgelegd en niet als aparte sluitingstabel gemodelleerd.

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.
TicketstatusSluiten is alleen toegestaan wanneer de melding niet functioneel gesloten is.
Functionele geslotenheidWordt afgeleid uit status, sluitregistratie, heropentermijn en acceptatie-/sluitlogica.
Reden van sluitenVerplicht bij bevestigen.
Reden van sluitenMag niet leeg zijn en mag niet alleen uit witruimte bestaan.
Reden van sluitenMoet veilig worden opgeslagen en weergegeven; actieve HTML, JavaScript of vergelijkbare actieve inhoud wordt niet uitgevoerd.
ResolutietypeMoet verwijzen naar de vaste waarde ClosedByUser.
ClosedByUserIdMoet verwijzen naar de ingelogde gebruiker die de actie uitvoert.
SluitmomentWordt in UTC opgeslagen.
Extern discussie-itemMoet gekoppeld zijn aan hetzelfde ticket en extern zichtbaar zijn.
HistoryregistratieMoet verwijzen naar actor, ticket en uitgevoerde sluitactie; vrije reden wordt niet volledig in history gedupliceerd.
Transactionele consistentieTicketClosures, TicketDiscussionMessages, Tickets.Status en TicketHistory worden als samenhangende mutatie verwerkt.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
12CreateTicketClosuresNieuw sluitrecord met TicketId, ResolutionType = ClosedByUser, ClosedByUserId, ClosedAtUtc en de relevante formele sluitmetadata.
13CreateTicketDiscussionMessagesNieuw extern zichtbaar discussiebericht met de reden van sluiten.
14UpdateTicketsStatus wordt Closed.
15UpdateTicketsLaatste activiteit wordt bijgewerkt.
16CreateTicketHistoryCompacte auditregel voor het sluiten door de gebruiker.
17EventTicketClosedByUserDomeinevent dat de gebruiker de eigen melding heeft gesloten.
19Event / afleidingTicketActionIndicatorRecalculatedActie-indicatie voor Wacht op mij wordt opnieuw afgeleid.
ALT-010EventTicketCloseFailedTechnische of transactionele fout bij het sluiten van de melding.

12. Geen datamutaties

EntiteitReden
PrivateMessageThreadsHet sluiten van een melding is geen privéberichtflow.
PrivateMessagesEr wordt geen privébericht aangemaakt.
SystemMessagesDe gebruiker hoeft geen systeembericht te ontvangen over de eigen sluitactie.
TicketReopenRequestsDeze flow heropent niets.
TicketForwardedToTeacherDoorzetten naar docent valt buiten deze usecase.
TicketTechnicalSnapshotsDe technische snapshot hoort bij aanmaken of specifieke technische processen, niet bij sluiten.
TicketAssignmentsSluiten door de gebruiker wijzigt gekoppelde beheerders niet als aparte actie binnen deze usecase.
TicketResolutionTypesDe vaste waarde ClosedByUser wordt gebruikt; de waardelijst zelf wordt niet gewijzigd.
Interne beheerberichtenDe gebruiker kan geen intern beheerbericht plaatsen.
PopupdefinitiesPopupinhoud wordt centraal beheerd en niet door deze usecase aangemaakt.

13. State diagram

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Normale flow — eigen melding sluiten

16.2 Exceptionele flow — niet meer toegestaan bij bevestigen

17. Popupverwijzingen

PopupKeyMomentVariantDoel
POP-GEN-TIC-CLOSE-OWN-CONFIRMBij kiezen van Melding sluiten op een eigen, open melding.InputTextareaBevestigen van de sluitactie en vastleggen van de verplichte reden.
POP-GEN-TIC-CLOSE-NOT-ALLOWEDWanneer de melding inmiddels functioneel gesloten is of de actie in de actuele toestand niet meer geldig is.InfoOnlyUitleggen dat de melding niet via deze flow gesloten kan worden.
POP-GEN-TIC-CLOSE-FAILEDWanneer de sluitactie 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 de actie Melding sluiten op het tabblad Melding beschikbaar is zolang de eigen melding niet functioneel gesloten is.
Functioneel OntwerpBeschrijft dat de sluitpopup een verplicht tekstveld Reden van sluiten bevat.
Functioneel OntwerpBeschrijft dat sluiten door gebruiker leidt tot gebruikersstatus Gesloten en dat de melding daarna onder het tabblad Gesloten raadpleegbaar blijft.
Functioneel OntwerpBeschrijft dat deze flow verschilt van oplossing accepteren en van heropenen binnen de heropentermijn.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft CloseOwnTicketCommand uit als transactionele mutatie over TicketClosures, TicketDiscussionMessages, Tickets en TicketHistory.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat resolutietype ClosedByUser als vaste waardelijstwaarde aanwezig moet zijn.
Technisch OntwerpTechnisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat de reden als extern discussie-item wordt opgeslagen en niet in een aparte sluitingstabel.
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 transactionele rollback bij gedeeltelijke fout in sluitregistratie, discussie-item, statusupdate of history.
Software Requirements SpecificationBeschrijft requirements voor verplichte reden, objectautorisatie, formele sluitregistratie, externe zichtbaarheid van de reden, historyregistratie en gesloten weergave.
Database-informatieControleer dat TicketClosures sluiten door gebruiker ondersteunt via ClosedByUserId en ResolutionTypeId = ClosedByUser.
Database-informatieControleer dat TicketDiscussionMessages geschikt is voor het extern zichtbaar vastleggen van de sluitreden.
PopupbeheerBeschrijft of de benodigde 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-005-001SRS-TIC-002
AC-TIC-002
Een ingelogde gebruiker toestaan een eigen melding te sluiten zolang deze melding niet functioneel gesloten is
REQ-UC-GEN-TIC-005-002SRS-AUTH-001
SRS-TIC-007
AC-AUTH-001
AC-TIC-007
Server-side controleren dat de te sluiten melding door de ingelogde gebruiker is aangemaakt
REQ-UC-GEN-TIC-005-003SRS-TIC-007
AC-TIC-007
De actie Melding sluiten alleen tonen of toestaan wanneer de actuele tickettoestand dit toestaat
REQ-UC-GEN-TIC-005-004SRS-TIC-007
SRS-POP-001
AC-TIC-007
AC-POP-001
Vóór het sluiten een bevestigingspopup tonen met een verplicht tekstveld voor de reden van sluiten
REQ-UC-GEN-TIC-005-005SRS-AUTH-001
SRS-TIC-007
AC-AUTH-001
AC-TIC-007
Sluiten blokkeren wanneer de reden leeg is of alleen uit witruimte bestaat
REQ-UC-GEN-TIC-005-006SRS-TIC-002
SRS-NFR-SEC-001
AC-TIC-002
AC-NFR-SEC-001
De reden veilig verwerken en mag actieve HTML, JavaScript of vergelijkbare actieve inhoud niet uitvoeren
REQ-UC-GEN-TIC-005-007SRS-TIC-007
SRS-NFR-AUD-001
AC-TIC-007
AC-NFR-AUD-001
Sluiten door gebruiker vastleggen in TicketClosures en geen aparte sluitingstabel introduceren
REQ-UC-GEN-TIC-005-008SRS-TIC-007
AC-TIC-007
Bij sluiten door gebruiker het resolutietype ClosedByUser / Gesloten door gebruiker gebruiken
REQ-UC-GEN-TIC-005-009SRS-TIC-002
SRS-NFR-AUD-001
AC-TIC-002
AC-NFR-AUD-001
Vastleggen welke gebruiker de eigen melding heeft gesloten
REQ-UC-GEN-TIC-005-010SRS-TIC-006
SRS-NFR-AUD-001
AC-TIC-006
AC-NFR-AUD-001
De reden van sluiten extern zichtbaar vastleggen binnen de ticketdiscussie
REQ-UC-GEN-TIC-005-011SRS-TIC-007
SRS-NFR-AUD-001
AC-TIC-007
AC-NFR-AUD-001
Minimaal één compacte historyregel vastleggen voor de sluitactie
REQ-UC-GEN-TIC-005-012SRS-TIC-007
AC-TIC-007
De ticketstatus na succesvolle sluiting op Closed zetten
REQ-UC-GEN-TIC-005-013SRS-TIC-007
AC-TIC-007
De melding na sluiting gebruikersgericht als Gesloten weergeven
REQ-UC-GEN-TIC-005-014SRS-TIC-002
AC-TIC-002
De gesloten melding raadpleegbaar houden in de gebruikersgerichte gesloten weergave
REQ-UC-GEN-TIC-005-015SRS-AUTH-001
SRS-TIC-005
AC-AUTH-001
AC-TIC-005
Reguliere reacties en opnieuw sluiten blokkeren nadat de melding door de gebruiker is gesloten
REQ-UC-GEN-TIC-005-016SRS-RDM-001
SRS-RDM-007
SRS-TIC-007
AC-RDM-001
AC-RDM-007
AC-TIC-007
De actie-indicatie voor Wacht op mij opnieuw afleiden na het sluiten van de melding
REQ-UC-GEN-TIC-005-017SRS-MSG-001
SRS-TIC-001
AC-MSG-001
AC-TIC-001
Bij sluiten door gebruiker geen privébericht aanmaken
REQ-UC-GEN-TIC-005-018SRS-TIC-007
SRS-POP-001
AC-TIC-007
AC-POP-001
Annuleren van de sluitpopup afhandelen zonder domeinmutatie
REQ-UC-GEN-TIC-005-019SRS-AUTH-001
SRS-TIC-002
AC-AUTH-001
AC-TIC-002
Race conditions afvangen door de actuele ticketstatus opnieuw server-side te controleren bij bevestigen
REQ-UC-GEN-TIC-005-020SRS-TIC-006
SRS-NFR-AUD-001
AC-TIC-006
AC-NFR-AUD-001
Transactioneel borgen dat sluitregistratie, extern discussie-item, statusupdate en history gezamenlijk slagen of gezamenlijk worden teruggedraaid
REQ-UC-GEN-TIC-005-021SRS-TIC-007
SRS-NFR-SEC-001
SRS-NFR-AVL-001
AC-TIC-007
AC-NFR-SEC-001
AC-NFR-AVL-001
Een veilige foutmelding tonen wanneer de sluitactie technisch of transactioneel mislukt
REQ-UC-GEN-TIC-005-022SRS-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