UC-BEH-SET-001 — Systeeminstellingen-overzicht bekijken
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-BEH-SET-001 |
| Naam | Systeeminstellingen-overzicht bekijken |
| Domein | Beheerder / Systeeminstellingen en beheerlogging |
| Primaire actor | Beheerder |
| Secundaire actor(en) | Frontend, backend, database, autorisatiecomponent, beheerlogcomponent |
| Rolcontext | Actieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Site Instellingen > Technische instellingen / Systeeminstellingen |
| Gerelateerde usecases | UC-BEH-SITE-002, UC-BEH-SET-002, UC-BEH-SET-005, UC-BEH-SET-006 |
| Primaire entiteiten | SystemSettings, Users |
| Secundaire entiteiten / events | SystemSettingHistory, AdminAuditLog |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een beheerder het overzicht van bestaande systeeminstellingen bekijkt. De pagina toont niet-booleaanse, sitebrede instellingen gegroepeerd naar Bestanden & exports, Berichten, Toegankelijkheid en Techniek & cache of vergelijkbare functionele groepen.
SystemSettings bevat instellingen zoals PDF-bestandsnaamopbouw, bewaartermijn van privéberichten en technische site-instellingen die geen eenvoudige aan/uit-feature zijn. Booleaanse featuretoggles horen in SiteFeatureToggles en niet in dit overzicht.
Het overzicht toont per instelling minimaal de functionele naam, SettingKey, beschrijving, actuele waarde, type, laatste wijzigingsmoment, uitvoerende beheerder en recente historie-indicatie.
Uitgangspunten
- Nieuwe SettingKeys worden niet via de GUI aangemaakt.
- Per SettingKey is in code bekend welk waardetype is toegestaan.
- SystemSettings wordt bij applicatiestart gecachet.
- Het overzicht zelf wijzigt geen instelling.
3. Scope
Deze usecase beschrijft:
- Laden van bestaande SystemSettings per groep.
- Tonen van actuele waarde, type en laatste wijziging.
- Afbakenen tussen SystemSettings en SiteFeatureToggles.
- Tonen van veilige lege/fouttoestand bij ontbrekende configuratie.
- Doorgang naar wijzigflow voor bestaande instellingen.
Deze usecase beschrijft niet:
- Wijzigen van instellingen.
- Nieuwe systeeminstellingen aanmaken.
- Featuretoggles beheren.
- Cache verversen na mutatie.
- Account- of domeindata wijzigen.
3.1 Afbakening met aangrenzende usecases
| Onderdeel | Afbakening |
|---|---|
| UC-BEH-SET-002 | Wijzigt een bestaande systeeminstelling. |
| UC-BEH-SET-005 | Dwingt invoervorm en waardetype af. |
| UC-BEH-FEAT-001 | Beheert booleaanse featuretoggles apart. |
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd in OefenHub. |
| PRE-002 | De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft. |
| PRE-003 | De Site Instellingen-route is beschikbaar via de beheerdernavigatie. |
| PRE-004 | Clientstate, querystringwaarden of zichtbare UI-elementen bepalen niet zelfstandig de autorisatie. |
| PRE-005 | De bekende SettingKeys zijn in code beschikbaar. |
| PRE-006 | SystemSettings-records kunnen server-side worden gelezen. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De beheerder ziet bestaande systeeminstellingen gegroepeerd naar functioneel domein. |
| POST-002 | Geen instelling is gewijzigd. |
| POST-003 | Booleaanse features worden niet als SystemSetting getoond. |
| POST-004 | Ontbrekende of ongeldige configuratie wordt veilig zichtbaar gemaakt. |
| POST-005 | De beheerder kan een bestaande instelling selecteren voor wijziging. |
6. Trigger
De usecase start wanneer de beheerder vanuit Site Instellingen de pagina Technische instellingen of Systeeminstellingen opent.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Beheerder | Site Instellingen | Opent Technische instellingen. | De frontend vraagt systeeminstellingen-readmodel op. | UC-BEH-SITE-002. |
| 2 | Backend | Autorisatiecomponent | Controleert beheerdercontext. | Alleen beheerders krijgen het overzicht. | Server-side autorisatie. |
| 3 | Backend | Instellingcatalogus | Laadt bekende SettingKeys en bijbehorende type-informatie. | Alleen bekende sleutels worden als beheerbaar behandeld. | Codecatalogus. |
| 4 | Backend | Database | Leest SystemSettings-records. | Waarden worden gekoppeld aan de bekende catalogus. | SystemSettings. |
| 5 | Backend | Readmodel | Groepeert instellingen functioneel. | Bestanden & exports, Berichten, Toegankelijkheid en Techniek & cache worden ondersteund. | Groepsmetadata. |
| 6 | Frontend | Overzicht | Toont actuele waarde, type, beschrijving en laatste wijziging. | De beheerder ziet welke instellingen wijzigbaar zijn. | Geen mutatie. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 2 | Gebruiker is geen beheerder. | Toegang wordt geweigerd. | Niet van toepassing. | Geen. |
| ALT-002 | 4 | Bekende SettingKey ontbreekt in de database. | De instelling wordt als configuratieprobleem getoond en niet automatisch aangemaakt. | Niet van toepassing. | Geen. |
| ALT-003 | 4 | Database bevat onbekende SettingKey. | De onbekende sleutel wordt niet regulier wijzigbaar getoond. | Niet van toepassing. | Geen. |
| ALT-004 | 5 | Waarde past niet bij verwacht type. | De regel krijgt een foutstatus en wijzigen wordt geblokkeerd tot correctie via beheerflow of migratie. | Niet van toepassing. | Geen. |
| ALT-005 | 6 | Er zijn geen instellingen in een groep. | De groep toont een neutrale lege staat. | Niet van toepassing. | Geen. |
9. Business rules
| ID | Business rule |
|---|---|
| BR-001 | SystemSettings is bedoeld voor niet-booleaanse systeeminstellingen. |
| BR-002 | Booleaanse aan/uit-schakelaars blijven in SiteFeatureToggles. |
| BR-003 | Nieuwe SettingKeys worden niet via de GUI aangemaakt. |
| BR-004 | Per SettingKey is het waardetype codegedreven vastgelegd. |
| BR-005 | Bekijken van instellingen ververst de runtimecache niet. |
| BR-006 | Instellingen worden server-side gelezen; clientstate bepaalt geen actuele waarde. |
| BR-007 | Records worden functioneel niet hard verwijderd via beheer. |
10. Datavalidatie
| ID | Validatie |
|---|---|
| VAL-001 | SettingKey moet bekend zijn in de instellingcatalogus. |
| VAL-002 | Per instelling mag slechts het passende value-veld betekenisvol zijn. |
| VAL-003 | UpdatedAtUtc wordt als UTC weergegeven naar lokale beheerderstijd. |
| VAL-004 | ValueText is maximaal 500 tekens volgens databasebegrenzing. |
| VAL-005 | Onbekende of type-inconsistente records mogen niet stilzwijgend als geldig worden behandeld. |
| VAL-006 | Alle wijzigacties moeten verwijzen naar een bestaande SettingKey. |
11. Datamutaties en events
| ID | Mutatie / event | Toelichting |
|---|---|---|
| MUT-001 | Geen functionele mutatie | Het overzicht bekijken wijzigt geen SystemSettings. |
| MUT-002 | Geen cachemutatie | Alleen raadplegen veroorzaakt geen cache refresh. |
12. Geen datamutaties
| ID | Geen mutatie | Reden |
|---|---|---|
| NO-001 | SystemSettings | Waarden en auditvelden blijven ongewijzigd. |
| NO-002 | SystemSettingHistory | Raadplegen schrijft geen geschiedenis. |
| NO-003 | SiteFeatureToggles | Featurestatussen blijven ongewijzigd. |
| NO-004 | Configuratiecache | De cache wordt niet vernieuwd door alleen bekijken. |
| NO-005 | Domeindata | Berichten, PDF-resultaten en gebruikersinstellingen blijven ongewijzigd. |
13. State diagram
Niet van toepassing. Deze usecase wijzigt geen persistent statusobject. De getoonde toestanden zijn readmodel- of UI-toestanden en worden daarom uitgewerkt in de decision flow en het data lifecycle diagram.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
17. Popupverwijzingen
Niet van toepassing.
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Document | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft systeeminstellingenpagina met functionele groepen en bestaande instellingen. |
| Technisch Ontwerp | Technisch Ontwerp: logging en foutafhandeling, security en configuratie en beheer en operatie beschrijven de technische uitwerking. Vraagt catalogusgedreven typekoppeling en readmodel over SystemSettings. |
| Software Requirements Specification | Levert eisen voor raadplegen, typeconsistentie en scheiding van featuretoggles. |
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 |
|---|---|---|
UC-BEH-SET-001-REQ-001 | SRS-ADM-001 AC-ADM-001 | Bestaande SystemSettings gegroepeerd tonen aan beheerders |
UC-BEH-SET-001-REQ-002 | SRS-ADM-001 AC-ADM-001 | Alleen bekende SettingKeys regulier beheerbaar maken |
UC-BEH-SET-001-REQ-003 | SRS-ADM-001 SRS-POP-003 AC-ADM-001 AC-POP-003 | Booleaanse featuretoggles buiten SystemSettings houden |
UC-BEH-SET-001-REQ-004 | SRS-ADM-001 AC-ADM-001 | Per instelling type, actuele waarde en laatste wijziging tonen |
UC-BEH-SET-001-REQ-005 | SRS-ADM-001 AC-ADM-001 | Bij raadplegen geen waarde of cache wijzigen |
UC-BEH-SET-001-REQ-006 | SRS-ADM-001 SRS-NFR-SEC-001 AC-ADM-001 AC-NFR-SEC-001 | Type-inconsistente instellingen veilig signaleren |
UC-BEH-SET-001-REQ-007 | SRS-AUTH-001 SRS-RDM-001 SRS-RDM-004 SRS-ADM-001 AC-AUTH-001 AC-RDM-001 AC-RDM-004 AC-ADM-001 | Toegang tot het overzicht server-side beperken tot beheerders |