UC-GEN-TIC-003 — Melding details bekijken
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-TIC-003 |
| Naam | Melding details bekijken |
| Domein | Meldingen |
| Primaire actor | Ingelogde gebruiker |
| Secundaire actor(en) | Systeem, meldingenservice, berichtensysteem als bron van verwijzingen, beheerder als behandelaar buiten deze usecase |
| Rolcontext | Iedere ingelogde gebruiker die de eigen melding mag openen binnen de normale gebruikersweergave |
| Betrokken schermen | SCH-GEN-06-01 — Meldingen; SCH-GEN-06-02 — Melding details; SCH-GEN-04 — Open bericht als mogelijke herkomst vanuit systeembericht |
| Gerelateerde usecases | UC-GEN-TIC-001 — Melding indienen; UC-GEN-TIC-002 — Mijn meldingen bekijken; UC-GEN-TIC-004 — Reageren op een melding; UC-GEN-TIC-005 — Eigen melding sluiten; UC-GEN-TIC-006 — Oplossing accepteren; UC-GEN-TIC-007 — Melding heropenen door gebruiker; UC-GEN-MSG-003 — Bericht openen |
| Primaire entiteiten | Tickets, TicketDiscussionMessages, TicketClosures, TicketReopenRequests |
| Secundaire entiteiten / events | Users, TicketStatuses, TicketCategories, TicketResolutionTypes, TicketHistory, SystemMessages, TicketDetailOpened, TicketDetailLoadFailed |
| Gerelateerde popups | POP-GEN-TIC-NOT-AVAILABLE |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must have |
2. Omschrijving
De gebruiker opent de detailpagina van één eigen melding om de oorspronkelijke melding, de actuele gebruikersgerichte status, een eventuele oplossing en de externe discussie terug te lezen. De detailpagina is de centrale gebruikersgerichte context voor vervolgacties zoals reageren, de eigen melding sluiten, een oplossing accepteren of een opgeloste melding heropenen.
De detailpagina toont alleen informatie die voor de melder zichtbaar mag zijn. Interne beheerdiscussie, gekoppelde beheerders, technische snapshots en beheerhistory blijven verborgen voor de gebruiker. Berichten die door beheerders extern zijn geplaatst worden gebruikersgericht weergegeven als Beheerder; individuele beheerdersnamen worden niet getoond.
De pagina gebruikt de tabbladen Melding, Oplossing en Discussie. Wanneer de melding wacht op een reactie van de gebruiker, opent de pagina direct op Discussie en wordt dit tabblad voorzien van een actie-indicatie. In andere gevallen opent de pagina op een voorspelbaar standaardtabblad, waarbij de gebruiker vrij tussen de zichtbare tabbladen kan wisselen zonder dat hierdoor een ticketmutatie ontstaat.
3. Scope
Deze usecase beschrijft:
- het openen van de detailpagina vanuit Mijn meldingen;
- het openen van de detailpagina vanuit een systeembericht met
EntityType = Ticket; - het server-side controleren dat de melding door de ingelogde gebruiker is aangemaakt;
- het tonen van meldingsreferentie, titel, gebruikersgerichte status en laatst bijgewerkt;
- het tonen van de tabbladen Melding, Oplossing en Discussie;
- het standaard openen van Discussie wanneer de melding wacht op een reactie van de gebruiker;
- het tonen van een actie-indicatie op Discussie bij
WaitingForUser; - het tonen van de oorspronkelijke meldinggegevens op tabblad Melding;
- het tonen van oplossing- en sluitinformatie op tabblad Oplossing wanneer beschikbaar;
- het tonen van externe discussieberichten op tabblad Discussie;
- het wel of niet tonen van vervolgacties op basis van de actuele toestand;
- het terugnavigeren naar het meldingenoverzicht;
- foutpaden voor ontbrekende, niet-toegankelijke of niet-laadbare meldingen.
Deze usecase beschrijft niet:
- het aanmaken van een nieuwe melding;
- het verwerken van het meldingenoverzicht;
- het plaatsen van een gebruikersreactie;
- het sluiten van de eigen melding;
- het accepteren van een oplossing;
- het heropenen van een melding;
- het plaatsen van interne of externe beheerberichten;
- het oplossen of sluiten door een beheerder;
- het handmatig heropenen door een beheerder;
- het doorzetten naar docent;
- beheerderdetailweergave, technische metadata, gekoppelde beheerders of volledige beheerhistory;
- het beheren van systeemberichtsjablonen, popupdefinities, ticketcategorieën of resolutietypen.
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 applicatiecontext waarin eigen meldingen geopend mogen worden. |
| PRE-004 | Er is een route- of contextverwijzing naar één concrete melding beschikbaar. |
| PRE-005 | De gevraagde melding bestaat als Tickets-record. |
| PRE-006 | Tickets.CreatedByUserId van de gevraagde melding is gelijk aan de ingelogde gebruiker. |
| PRE-007 | De relevante status-, sluit-, heropen- en discussiegegevens zijn beschikbaar om de gebruikersweergave samen te stellen. |
| PRE-008 | De applicatie kan bepalen welke tab standaard geopend moet worden. |
| PRE-009 | De applicatie kan interne beheerinformatie onderscheiden van extern zichtbare gebruikersinformatie. |
| PRE-010 | Wanneer de detailpagina via een systeembericht wordt geopend, bevat het systeembericht een geldige domeinverwijzing met EntityType = Ticket en EntityId naar de melding. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De gebruiker ziet de detailpagina van maximaal één eigen melding. |
| POST-002 | De gebruiker ziet geen melding van een andere gebruiker. |
| POST-003 | De detailpagina toont de meldingsreferentie en titel als hoofdidentificatie. |
| POST-004 | De detailpagina toont de gebruikersgerichte status en Laatst bijgewerkt. |
| POST-005 | De detailpagina toont de tabbladen Melding, Oplossing en Discussie. |
| POST-006 | Bij status WaitingForUser opent de pagina standaard op Discussie. |
| POST-007 | Bij status WaitingForUser toont Discussie een actie-indicatie. |
| POST-008 | Tabblad Melding toont de oorspronkelijke meldingsgegevens die de gebruiker zelf heeft ingediend. |
| POST-009 | Tabblad Oplossing toont actuele oplossing- en sluitinformatie wanneer deze beschikbaar is. |
| POST-010 | Tabblad Discussie toont uitsluitend extern zichtbare discussieberichten. |
| POST-011 | Interne beheerberichten worden niet getoond aan de gebruiker. |
| POST-012 | Individuele beheerdersnamen worden niet getoond aan de gebruiker. |
| POST-013 | Beschikbare vervolgacties worden alleen getoond wanneer de actuele toestand dit toestaat. |
| POST-014 | Alleen openen, bekijken en wisselen van tabblad veroorzaakt geen ticketmutatie. |
| POST-015 | Er ontstaat geen TicketHistory-regel door alleen bekijken. |
| POST-016 | De detailpagina toont geen technische snapshot, interne beheerhistory of gekoppelde beheerders. |
| POST-017 | Foutafhandeling toont geen stacktrace, interne identifiers of databasegegevens aan de gebruiker. |
6. Trigger
De gebruiker kiest Bekijk details bij een melding in Mijn meldingen, opent een melding via een systeembericht met ticketverwijzing, of navigeert rechtstreeks naar een geldige detailroute van een eigen melding.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Gebruiker | SCH-GEN-06-01 — Meldingen / systeembericht / route | Opent een meldingdetail. | Het systeem start de detailroute voor de gevraagde melding. | De herkomst kan overzicht, systeembericht of directe route zijn. |
| 2 | Systeem | Routeguard / backend | Controleert sessie, featurestatus en basisautorisatie. | Alleen bij geldige context wordt de melding opgehaald. | Frontendzichtbaarheid is geen autorisatiebewijs. |
| 3 | Systeem | Backend | Valideert de gevraagde melding. | Het systeem controleert dat de melding bestaat en door de huidige gebruiker is aangemaakt. | Objectautorisatie: Tickets.CreatedByUserId = huidige gebruiker. |
| 4 | Systeem | Backend / readmodel | Haalt de melding en gebruikersrelevante gegevens op. | Het systeem bouwt het ticketdetail-readmodel. | Interne beheerdata wordt niet opgenomen in de gebruikersweergave. |
| 5 | Systeem | Backend / readmodel | Bepaalt de gebruikersgerichte status. | Statuslabels zoals Nieuw, In behandeling, Wachten op reactie, Opgelost en Gesloten worden afgeleid. | Opgelost is afgeleid uit sluitregistratie en heropentermijn. |
| 6 | Systeem | SCH-GEN-06-02 — Melding details | Toont kopinformatie. | De gebruiker ziet meldingsreferentie, titel, statusregel en Laatst bijgewerkt. | Dynamische voorbeeldwaarden uit mockups zijn geen vaste productiegegevens. |
| 7 | Systeem | SCH-GEN-06-02 — Melding details | Toont navigatie naar het overzicht. | De actie Terug naar overzicht is beschikbaar. | Terugnavigeren valt terug naar UC-GEN-TIC-002. |
| 8 | Systeem | SCH-GEN-06-02 — Melding details | Toont de tabbladen Melding, Oplossing en Discussie. | De gebruiker kan tussen tabbladen wisselen. | Er is geen aparte zijbalk voor deze gebruikersweergave. |
| 9 | Systeem | Tabselectie | Bepaalt het standaardtabblad. | Bij WaitingForUser wordt Discussie standaard geopend; anders opent het standaardtabblad voor normale raadpleging. | Reactiegevraagde meldingen sturen de gebruiker direct naar de discussiecontext. |
| 10 | Systeem | Tabblad Discussie | Bepaalt of actie-indicatie nodig is. | Bij WaitingForUser krijgt Discussie een actie-indicatie met tooltipstrekking dat een reactie wordt gevraagd. | De indicatie is afgeleid en niet los opgeslagen. |
| 11 | Systeem | Tabblad Melding | Toont de oorspronkelijke melding. | De gebruiker ziet aanmaakdatum, categorie, onderwerp en volledige meldingsomschrijving. | Technische snapshotgegevens worden niet getoond. |
| 12 | Systeem | Tabblad Melding | Bepaalt of Melding sluiten beschikbaar is. | De actie wordt alleen getoond zolang de melding nog niet functioneel gesloten is. | Uitvoering valt onder UC-GEN-TIC-005. |
| 13 | Systeem | Tabblad Oplossing | Toont oplossingstoestand. | Zonder oplossing toont het tabblad compact de actuele behandelingstoestand; met oplossing toont het oplossing- en sluitinformatie. | TicketClosures en TicketResolutionTypes zijn bron voor formele sluitinformatie. |
| 14 | Systeem | Tabblad Oplossing | Bepaalt of acceptatie of heropenen beschikbaar is. | Acties worden alleen getoond wanneer de actuele sluit- en heropentermijn dit toestaan. | Acceptatie valt onder UC-GEN-TIC-006; heropenen onder UC-GEN-TIC-007. |
| 15 | Systeem | Tabblad Discussie | Toont extern zichtbare discussieberichten. | De gebruiker ziet alleen TicketDiscussionMessages met externe zichtbaarheid. | Interne berichten worden niet getoond. |
| 16 | Systeem | Tabblad Discussie | Normaliseert beheerderweergave. | Externe berichten van beheerders worden weergegeven als Beheerder. | Namen van individuele beheerders blijven verborgen. |
| 17 | Systeem | Tabblad Discussie | Bepaalt of reactie toevoegen beschikbaar is. | Het reactieveld of de actie tot reageren is alleen beschikbaar zolang de melding niet functioneel gesloten is. | Uitvoering valt onder UC-GEN-TIC-004. |
| 18 | Gebruiker | SCH-GEN-06-02 — Melding details | Wisselt tussen tabbladen. | Het systeem toont de gekozen tab zonder ticketmutatie. | Tabwissel is een leesactie. |
| 19 | Gebruiker | SCH-GEN-06-02 — Melding details | Kiest Terug naar overzicht. | Het systeem keert terug naar Mijn meldingen. | Vervolg valt onder UC-GEN-TIC-002. |
| 20 | Systeem | Backend / logging | Rondt de leesactie af. | Er wordt geen ticketstatus, discussie, sluitregistratie of history gewijzigd. | Optionele technische logging mag, maar is geen domeinmutatie. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 2 | De gebruiker is niet ingelogd of de sessie is verlopen. | Het systeem start de generieke loginflow. | Generieke loginflow, geen meldingenpopup. | Geen. |
| ALT-002 | 2 | De meldingenfunctionaliteit is sitebreed uitgeschakeld. | Het systeem toont een veilige niet-beschikbaar- of toegangsmelding. | Generieke melding buiten het ticketdomein. | Geen. |
| ALT-003 | 3 | De gevraagde melding bestaat niet. | Het systeem weigert de detailweergave en keert veilig terug of toont een niet-beschikbaarmelding. | POP-GEN-TIC-NOT-AVAILABLE. | Geen. |
| ALT-004 | 3 | De melding bestaat, maar hoort niet bij de ingelogde gebruiker. | Het systeem weigert server-side toegang. | Generieke toegangsmelding of POP-GEN-TIC-NOT-AVAILABLE zonder details over bestaan van het object. | Geen. |
| ALT-005 | 1-3 | De detailroute is geopend via een gemanipuleerde routeparameter. | Het systeem gebruikt alleen server-side objectcontrole en toont geen gegevens. | Generieke toegangsmelding of POP-GEN-TIC-NOT-AVAILABLE. | Geen. |
| ALT-006 | 1 | De pagina wordt geopend vanuit een systeembericht met EntityType = Ticket, maar EntityId verwijst niet naar een toegankelijke melding. | Het systeem opent geen detailpagina en toont veilige terugkoppeling. | POP-GEN-TIC-NOT-AVAILABLE. | Geen. |
| ALT-007 | 4 | De detailgegevens kunnen tijdelijk niet worden geladen. | Het systeem toont een veilige foutmelding en biedt terugnavigatie. | Geen technische details. | Geen. |
| ALT-008 | 5 | De status wijzigt tussen overzicht en detailopening. | Het systeem toont de actuele serverstatus op het moment van laden. | Geen popup. | Geen door de kijkactie. |
| ALT-009 | 9-10 | De melding wacht op reactie van de gebruiker. | Het systeem opent standaard tabblad Discussie en toont de actie-indicatie. | Geen popup. | Geen door de kijkactie. |
| ALT-010 | 9-10 | De melding wacht niet op reactie van de gebruiker. | Het systeem opent de normale detailcontext zonder actie-indicatie op Discussie. | Geen popup. | Geen. |
| ALT-011 | 13 | Er is nog geen oplossing of sluitregistratie beschikbaar. | Tabblad Oplossing toont compact de actuele behandelingstoestand. | Geen popup. | Geen. |
| ALT-012 | 13-14 | Er is een oplossing binnen de heropentermijn beschikbaar. | Tabblad Oplossing toont oplossing, afsluitstatus, meldingstatus en heropenbaar-tot. | Geen popup. | Geen door bekijken. |
| ALT-013 | 13-14 | De heropentermijn is verlopen of de oplossing is geaccepteerd. | Het systeem toont de melding gebruikersgericht als gesloten; heropenactie is niet beschikbaar. | Geen popup. | Geen. |
| ALT-014 | 15 | Er zijn geen extern zichtbare discussieberichten. | Het systeem toont een lege staat binnen Discussie. | Inline lege staat. | Geen. |
| ALT-015 | 15 | Er bestaan interne beheerberichten. | Het systeem laat deze berichten weg uit de gebruikersweergave. | Geen. | Geen. |
| ALT-016 | 16 | Een extern bericht is door een beheerder geplaatst. | Het systeem toont de afzender als Beheerder. | Geen. | Geen. |
| ALT-017 | 12 | De gebruiker kiest Melding sluiten. | Het systeem start de sluitflow voor de eigen melding. | Zie UC-GEN-TIC-005. | Geen binnen deze usecase. |
| ALT-018 | 17 | De gebruiker kiest een reactieactie. | Het systeem start de reageerflow. | Zie UC-GEN-TIC-004. | Geen binnen deze usecase. |
| ALT-019 | 14 | De gebruiker kiest Oplossing accepteren. | Het systeem start de acceptatieflow. | Zie UC-GEN-TIC-006. | Geen binnen deze usecase. |
| ALT-020 | 14 | De gebruiker kiest Heropenen. | Het systeem start de heropenflow binnen de heropentermijn. | Zie UC-GEN-TIC-007. | Geen binnen deze usecase. |
| ALT-021 | 18 | De gebruiker wisselt tabbladen meermaals. | Het systeem wijzigt alleen de zichtbare weergave. | Geen popup. | Geen. |
| ALT-022 | 20 | Technische logging van openen is gewenst. | Het systeem mag een technische logregel schrijven zonder functionele ticketmutatie. | Geen gebruikersmelding. | Alleen technische logging, geen TicketHistory. |
9. Business rules
| ID | Regel |
|---|---|
| BR-UC-GEN-TIC-003-001 | Een eindgebruiker mag alleen de detailpagina van eigen meldingen openen. |
| BR-UC-GEN-TIC-003-002 | Objecttoegang tot een melding wordt server-side afgedwongen op basis van Tickets.CreatedByUserId. |
| BR-UC-GEN-TIC-003-003 | De detailpagina toont één melding per keer. |
| BR-UC-GEN-TIC-003-004 | De detailpagina toont meldingsreferentie, titel, gebruikersgerichte status en Laatst bijgewerkt. |
| BR-UC-GEN-TIC-003-005 | De gebruikersdetailpagina bevat de tabbladen Melding, Oplossing en Discussie. |
| BR-UC-GEN-TIC-003-006 | Er is geen aparte zijbalk nodig voor de gebruikersdetailweergave. |
| BR-UC-GEN-TIC-003-007 | Wanneer de melding backendstatus WaitingForUser heeft, opent de detailpagina standaard op Discussie. |
| BR-UC-GEN-TIC-003-008 | Wanneer de melding backendstatus WaitingForUser heeft, toont tabblad Discussie een actie-indicatie. |
| BR-UC-GEN-TIC-003-009 | Tabblad Melding toont de oorspronkelijke meldingsgegevens van de gebruiker: aanmaakdatum, categorie, onderwerp en volledige omschrijving. |
| BR-UC-GEN-TIC-003-010 | Tabblad Oplossing toont oplossing- en sluitinformatie wanneer een formele sluiting of oplossing beschikbaar is. |
| BR-UC-GEN-TIC-003-011 | Tabblad Oplossing toont zonder oplossing compact de actuele behandelingstoestand. |
| BR-UC-GEN-TIC-003-012 | Tabblad Discussie toont uitsluitend extern zichtbare discussieberichten. |
| BR-UC-GEN-TIC-003-013 | Interne beheerberichten, technische metadata, gekoppelde beheerders en beheerhistory worden niet aan de gebruiker getoond. |
| BR-UC-GEN-TIC-003-014 | Externe beheerberichten worden in de gebruikersweergave generiek weergegeven als Beheerder. |
| BR-UC-GEN-TIC-003-015 | Namen van individuele beheerders worden in de gebruikersdetailweergave niet getoond. |
| BR-UC-GEN-TIC-003-016 | Beschikbare vervolgacties worden afgeleid uit de actuele ticketstatus, sluitregistratie en heropentermijn. |
| BR-UC-GEN-TIC-003-017 | Alleen het openen, bekijken of wisselen van tabblad mag geen ticketstatus, discussie, sluiting, heropenverzoek of history wijzigen. |
| BR-UC-GEN-TIC-003-018 | Een systeembericht met ticketverwijzing is geen autorisatiebewijs; objecttoegang wordt opnieuw server-side gecontroleerd. |
| BR-UC-GEN-TIC-003-019 | Ontbrekende of niet-toegankelijke meldingen worden veilig afgehandeld zonder informatielek over het bestaan van records van andere gebruikers. |
| BR-UC-GEN-TIC-003-020 | Technische identifiers zoals GUID's worden niet als primaire herkenningsinformatie aan de gebruiker getoond. |
Centrale business rules die hierbij horen:
| BusinessRule-ID | Toepassing |
|---|---|
BR-GEN-SEC-001 | Alle afgeschermde acties vereisen server-side rol-, relatie- of objectcontrole. |
BR-GEN-TIC-007 | Een eindgebruiker ziet uitsluitend eigen meldingen. |
BR-GEN-TIC-010 | Gebruikersgerichte meldingstatussen mogen afgeleid zijn van processtatus, sluitregistratie en heropentermijn. |
BR-GEN-TIC-011 | Interne beheerinformatie wordt niet getoond in gebruikersgerichte meldingoverzichten. |
BR-GEN-TIC-012 | De gebruikersdetailpagina gebruikt de tabbladen Melding, Oplossing en Discussie. |
BR-GEN-TIC-013 | Externe beheercommunicatie wordt gebruikersgericht als Beheerder weergegeven. |
BR-GEN-TIC-014 | Een systeemberichtverwijzing naar een ticket geeft geen objecttoegang zonder server-side controle. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Detailroute | Moet verwijzen naar één concrete melding; routewaarde is geen autorisatiebewijs. |
TicketId / EntityId | Moet bestaan en moet server-side gekoppeld zijn aan een melding die de huidige gebruiker mag zien. |
SystemMessages.EntityType | Mag alleen naar de ticketdetailflow leiden wanneer de waarde Ticket is. |
SystemMessages.EntityId | Moet verwijzen naar een bestaande, toegankelijke melding; anders wordt veilige foutafhandeling toegepast. |
| Gebruiker | Moet ingelogd zijn en een geldige applicatiecontext hebben. |
| Ticketobject | Tickets.CreatedByUserId moet gelijk zijn aan de huidige gebruiker. |
| Featurestatus | Meldingenfunctionaliteit moet beschikbaar zijn. |
| Gebruikersgerichte status | Wordt afgeleid uit backendstatus, sluitregistratie, heropentermijn en acceptatie-/sluitlogica. |
| Meldingsreferentie | Moet gebruikersgericht en betekenisvol zijn; technische GUID's worden niet als primaire herkenning getoond. |
| Titel / onderwerp | Wordt veilig weergegeven; actieve inhoud wordt niet als HTML uitgevoerd. |
| Omschrijving | Wordt veilig weergegeven; actieve inhoud of script wordt niet uitgevoerd. |
| Categorie | Moet één van de toegestane meldingcategorieën zijn. |
| Laatst bijgewerkt | Wordt afgeleid uit de meest recente relevante wijziging voor de gebruikersweergave. |
| Tabkeuze | Alleen Melding, Oplossing en Discussie zijn toegestaan in de gebruikersdetailweergave. |
| Standaardtab | Bij WaitingForUser moet Discussie standaard actief zijn. |
| Discussieberichten | Alleen berichten met externe zichtbaarheid zijn zichtbaar voor de gebruiker. |
| Beheerdernaam | Wordt voor externe beheerberichten genormaliseerd naar Beheerder. |
| Oplossingsgegevens | Mogen alleen worden getoond wanneer een formele sluiting/oplossing beschikbaar is. |
| Heropenbaar tot | Wordt alleen getoond wanneer ReopenDeadlineUtc functioneel relevant is. |
| Datum- en tijdwaarden | Worden in UTC opgeslagen en lokaal weergegeven. |
| Foutmeldingen | Mogen geen stacktraces, interne identifiers, technische snapshots of databasegegevens tonen. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 2 | Read | SiteFeatureToggles, gebruikercontext | Controleren of de detailpagina beschikbaar is. |
| 3 | Read / autorisatie | Tickets | Controleren of de gevraagde melding bestaat en door de huidige gebruiker is aangemaakt. |
| 4 | Read | Tickets | Ophalen van hoofdgegevens van de melding. |
| 4-5 | Read | TicketStatuses, TicketClosures, TicketResolutionTypes | Afleiden van gebruikersgerichte status en oplossingstoestand. |
| 4-5 | Read | TicketReopenRequests | Bepalen van relevante heropeninformatie wanneer van toepassing. |
| 11 | Read | TicketCategories | Tonen van de gekozen categorie. |
| 13-14 | Read | TicketClosures, TicketResolutionTypes | Tonen van oplossing, afsluitstatus en heropenbaar-tot. |
| 15-16 | Read | TicketDiscussionMessages | Tonen van extern zichtbare discussie en normaliseren van beheerderweergave. |
| 1 / ALT-006 | Read | SystemMessages | Alleen bij herkomst vanuit systeembericht: gebruiken van EntityType = Ticket en EntityId als navigatiecontext. |
Deze usecase opent en leest een bestaande melding. Het openen van de detailpagina markeert geen melding als gelezen, wijzigt geen ticketstatus en schrijft geen functionele historyregel.
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
Tickets | Alleen bekijken wijzigt geen ticketstatus of inhoud. |
TicketAssignments | De gebruikersdetailpagina koppelt of ontkoppelt geen beheerders. |
TicketDiscussionMessages | Deze usecase toont discussie maar plaatst geen nieuw bericht. |
TicketClosures | Deze usecase toont sluitinformatie maar sluit of accepteert geen oplossing. |
TicketReopenRequests | Deze usecase toont heropencontext maar maakt geen heropenverzoek aan. |
TicketForwardedToTeacher | Doorzetten naar docent hoort bij een beheerflow. |
TicketHistory | Alleen bekijken veroorzaakt geen historyregel. |
TicketTechnicalSnapshots | Technische snapshots worden niet getoond en niet gewijzigd. |
SystemMessages | Het openen van de ticketdetailpagina markeert het systeembericht zelf niet als gelezen; dat hoort bij het berichtendomein. |
PrivateMessageThreads | De ticketdetailweergave raakt geen privéberichtthread. |
UserRelationships | De flow maakt, wijzigt of beëindigt geen relatie. |
| Popupdetails of popupregister | Er wordt geen popupdefinitie aangemaakt of gewijzigd. |
13. State diagram — gebruikersgerichte detailtoestand
14. Decision flow
15. Data lifecycle diagram
Deze usecase maakt geen nieuwe domeinrecords aan. Het diagram toont welke bestaande gegevens wel worden gelezen en welke niet aan de gebruiker worden getoond.
16. Sequence diagrammen
16.1 Detail openen vanuit Mijn meldingen
16.2 Detail openen vanuit systeembericht
17. Popupverwijzingen
| PopupKey | Moment | Variant | Doel |
|---|---|---|---|
POP-GEN-TIC-NOT-AVAILABLE | Wanneer een gevraagde melding ontbreekt, niet meer beschikbaar is of niet door de huidige gebruiker geopend mag worden. | InfoOnly | Veilig terugkoppelen dat de melding niet geopend kan worden zonder interne details of informatielek. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft de gebruikersdetailpagina Melding details met kopinformatie, statusregel, tabbladen Melding, Oplossing en Discussie, terugactie en toestandafhankelijke vervolgacties. |
| Functioneel Ontwerp | Beschrijft dat bij WaitingForUser tabblad Discussie standaard opent en een actie-indicatie toont. |
| Functioneel Ontwerp | Beschrijft dat de gebruiker alleen eigen meldinggegevens, externe discussie en oplossing ziet; interne beheerinformatie blijft verborgen. |
| Functioneel Ontwerp | Beschrijft welke vervolgacties vanuit de detailpagina zichtbaar zijn en verwijs naar de aparte usecases voor reageren, sluiten, accepteren en heropenen. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft het ticketdetail-readmodel uit als afgeleide van Tickets, TicketStatuses, TicketClosures, TicketResolutionTypes, TicketReopenRequests en extern zichtbare TicketDiscussionMessages. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft server-side objectautorisatie op Tickets.CreatedByUserId bij iedere detailopvraag, ook bij navigatie vanuit systeemberichten. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat SystemMessages.EntityType = Ticket en EntityId alleen navigatiecontext vormen en geen autorisatiebewijs zijn. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft dat interne discussie, technische snapshots, assignments en history niet in de gebruikersdetail-DTO worden opgenomen. |
| Technisch Ontwerp | Technisch Ontwerp: meldingen, tickets en beheerafhandeling, communicatie, background jobs en logging en foutafhandeling beschrijven de technische uitwerking. Beschrijft veilige foutafhandeling uit voor ontbrekende, niet-toegankelijke of niet-laadbare ticketdetails. |
| Software Requirements Specification | Beschrijft requirements voor objectautorisatie, tabstructuur, standaardtab bij WaitingForUser, zichtbaarheid van externe discussie, verborgen interne beheerinformatie en geen mutatie bij alleen bekijken. |
| Database-informatie | Beschrijft of de bestaande ticket-, closure-, discussie-, reopen-, snapshot- en historytabellen de benodigde readmodelafleiding volledig ondersteunen. |
| Popupregister | Beschrijft of POP-GEN-TIC-NOT-AVAILABLE toe of hergebruik deze key voor veilige foutafhandeling bij niet-beschikbare of niet-toegankelijke meldingen. |
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-003-001 | SRS-RDM-001 SRS-RDM-007 SRS-TIC-002 AC-RDM-001 AC-RDM-007 AC-TIC-002 | Een ingelogde gebruiker een detailpagina kunnen tonen voor één eigen melding |
REQ-UC-GEN-TIC-003-002 | SRS-AUTH-001 SRS-TIC-002 AC-AUTH-001 AC-TIC-002 | Bij iedere detailopvraag server-side controleren dat de melding door de huidige gebruiker is aangemaakt |
REQ-UC-GEN-TIC-003-003 | SRS-TIC-002 AC-TIC-002 | Een eindgebruiker geen meldingdetails tonen van andere gebruikers |
REQ-UC-GEN-TIC-003-004 | SRS-RDM-001 SRS-RDM-007 SRS-TIC-002 AC-RDM-001 AC-RDM-007 AC-TIC-002 | De detailpagina kunnen openen vanuit het meldingenoverzicht |
REQ-UC-GEN-TIC-003-005 | SRS-RDM-001 SRS-RDM-007 SRS-MSG-007 SRS-TIC-002 AC-RDM-001 AC-RDM-007 AC-MSG-007 AC-TIC-002 | De detailpagina kunnen openen vanuit een systeembericht met EntityType = Ticket en een geldige EntityId |
REQ-UC-GEN-TIC-003-006 | SRS-AUTH-001 SRS-RDM-001 SRS-RDM-007 SRS-MSG-001 SRS-TIC-002 AC-AUTH-001 AC-RDM-001 AC-RDM-007 AC-MSG-001 AC-TIC-002 | Een systeemberichtverwijzing opnieuw autoriseren voordat de ticketdetailpagina wordt getoond |
REQ-UC-GEN-TIC-003-007 | SRS-RDM-001 SRS-RDM-007 SRS-TIC-002 AC-RDM-001 AC-RDM-007 AC-TIC-002 | De detailpagina moet meldingsreferentie, titel, gebruikersgerichte status en Laatst bijgewerkt tonen |
REQ-UC-GEN-TIC-003-008 | SRS-RDM-001 SRS-RDM-007 SRS-TIC-006 AC-RDM-001 AC-RDM-007 AC-TIC-006 | De detailpagina moet de tabbladen Melding, Oplossing en Discussie tonen |
REQ-UC-GEN-TIC-003-009 | SRS-TIC-006 AC-TIC-006 | Bij meldingen met status WaitingForUser standaard tabblad Discussie openen |
REQ-UC-GEN-TIC-003-010 | SRS-TIC-006 AC-TIC-006 | Bij meldingen met status WaitingForUser een actie-indicatie tonen op tabblad Discussie |
REQ-UC-GEN-TIC-003-011 | SRS-TIC-002 SRS-CAT-001 AC-TIC-002 AC-CAT-001 | Tabblad Melding moet de aanmaakdatum, categorie, onderwerp en volledige omschrijving van de oorspronkelijke melding tonen |
REQ-UC-GEN-TIC-003-012 | SRS-TIC-007 AC-TIC-007 | Tabblad Oplossing moet oplossing- en sluitinformatie tonen zodra een formele oplossing of sluiting beschikbaar is |
REQ-UC-GEN-TIC-003-013 | SRS-TIC-003 AC-TIC-003 | Tabblad Oplossing moet zonder beschikbare oplossing een compacte actuele behandelingstoestand tonen |
REQ-UC-GEN-TIC-003-014 | SRS-MSG-001 SRS-TIC-006 AC-MSG-001 AC-TIC-006 | Tabblad Discussie moet uitsluitend extern zichtbare discussieberichten tonen |
REQ-UC-GEN-TIC-003-015 | SRS-MSG-001 SRS-TIC-003 SRS-ADM-001 SRS-NFR-AUD-001 AC-MSG-001 AC-TIC-003 AC-ADM-001 AC-NFR-AUD-001 | Interne beheerberichten, technische snapshots, gekoppelde beheerders en beheerhistory verbergen voor eindgebruikers |
REQ-UC-GEN-TIC-003-016 | SRS-MSG-001 SRS-TIC-003 SRS-ADM-001 AC-MSG-001 AC-TIC-003 AC-ADM-001 | Externe beheerberichten in de gebruikersweergave generiek als Beheerder weergeven |
REQ-UC-GEN-TIC-003-017 | SRS-RDM-001 SRS-RDM-007 SRS-TIC-002 AC-RDM-001 AC-RDM-007 AC-TIC-002 | Vervolgacties op de detailpagina alleen tonen wanneer de actuele tickettoestand deze toestaat |
REQ-UC-GEN-TIC-003-018 | SRS-TIC-002 SRS-NFR-AUD-001 AC-TIC-002 AC-NFR-AUD-001 | Alleen openen, bekijken of wisselen van tabblad mag geen ticketmutatie en geen TicketHistory-regel veroorzaken |
REQ-UC-GEN-TIC-003-019 | SRS-AUTH-004 SRS-ACC-003 SRS-ACC-005 SRS-TIC-002 SRS-NFR-SEC-001 SRS-NFR-ACC-001 AC-AUTH-004 AC-ACC-003 AC-ACC-005 AC-TIC-002 AC-NFR-SEC-001 AC-NFR-ACC-001 | Ontbrekende of niet-toegankelijke meldingen veilig afhandelen zonder technische details of informatielek |
REQ-UC-GEN-TIC-003-020 | SRS-RDM-001 SRS-TIC-002 AC-RDM-001 AC-TIC-002 | Technische GUID's niet als primaire herkenningsinformatie aan de gebruiker tonen op de detailpagina |