Skip to main content

UC-BEH-FP-003 — Beheersamenvattingen tonen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-FP-003
NaamBeheersamenvattingen tonen
DomeinBeheerder / Frontpage en context
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, readmodelqueries
RolcontextActieve beheerdercontext; bij combinatierollen samengesteld volgens prioriteit Beheerder, Docent, Ouder/voogd
Betrokken schermenBeheerder-frontpage, gezamenlijke frontpage bij combinatierollen, hoofdmenu
Gerelateerde usecasesUC-BEH-FP-001, UC-BEH-FP-002, UC-BEH-FP-004, UC-GEN-TIC-008, UC-GEN-NOT-001
Primaire entiteitenExerciseModules, Categories, TeacherLevels, Exercises, Users, Roles, UserRoles, Tickets, SiteNotifications
Secundaire entiteiten / eventsSiteFeatureToggles, TicketAssignments, TicketClosures, ContentBlocks
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft de compacte beheersamenvattingen op de beheerder-frontpage. De waarden geven de beheerder snel inzicht in systeemstatus, contentstatus, accounts en meldingen zonder dat de frontpage zelf beheeracties uitvoert.

De samenvattingen zijn verdeeld over minimaal het attentieblok, Contentbeheer en Accounts & rollen. Het attentieblok toont modules in onderhoud, aantal beheerders, meldingen open en nieuw, en actieve systeemnotificaties. Contentbeheer toont actieve modules, actieve categorieën, actieve niveaus en actieve oefeningen. Accounts & rollen toont rolgebonden totalen voor docenten, leerlingen en ouder-/voogdaccounts.

Elke teller heeft een expliciete functionele definitie. Een weergegeven aantal mag niet impliciet zijn: per teller moet duidelijk zijn welke records meetellen, welke statussen uitgesloten zijn, hoe soft-delete of inactief gedrag werkt, welk tijdstip geldt en of combinatierollen per groep meetellen.

Uitgangspunten

  • Samenvattingen zijn readmodelwaarden en geen opgeslagen frontpagewaarheid.
  • De frontpage toont compacte aantallen; analyse en detailbeheer gebeuren op de onderliggende pagina’s.
  • Meldingen op de frontpage verwijzen naar bestaande meldingenbeheerflows en maken geen nieuwe ticketlogica aan.
  • Actieve systeemnotificaties worden geteld als beheerdomein, niet als mailbox-systeemberichten.

3. Scope

Deze usecase beschrijft:

  • Tonen van waarden in het attentieblok.
  • Tonen van totalen in Contentbeheer.
  • Tonen van totalen in Accounts & rollen.
  • Definiëren van filters, statussen en uitzonderingen per teller.
  • Veilige lege staten bij nul of ontbrekende records.
  • Voorkomen dat het tonen van tellers brondomeinen wijzigt.

Deze usecase beschrijft niet:

  • Detailanalyse van meldingen, modules, categorieën, accounts of systeemnotificaties.
  • Aanpassen van featuretoggles of systeemnotificaties.
  • Cachingstrategie voor alle readmodels buiten de frontpage.
  • Auditregistratie van alleen bekijken.
  • Vrij configureerbare tellerdefinities door beheerders.

3.1 Afbakening met aangrenzende usecases

OnderdeelAfbakening
UC-BEH-FP-001Plaats de samenvattingen in de beheerder-frontpage.
UC-BEH-FP-004Recente beheerwijzigingen is een eigen blok en geen teller binnen Contentbeheer.
Generiek meldingenTicketstatussen en beheerderflows blijven bronhoudend in het meldingen-domein.
Features en systeemnotificatiesPubliceren of uitschakelen van notificaties hoort bij het beheerder-subdomein Features en systeemnotificaties.
AccountbeheerRoltotalen zijn read-only en wijzigen geen accounts.

4. Pre-condities

IDVoorwaarde
PRE-001De beheerder-frontpage wordt geladen voor een geldige beheerdercontext.
PRE-002De tellerdefinities zijn functioneel vastgelegd.
PRE-003De backend heeft toegang tot de relevante brondomeinen of kan veilige lege staten tonen.
PRE-004Soft-delete- en actiefstatusvelden zijn per brondomein bekend.
PRE-005Meldingen- en systeemnotificatiestatussen kunnen op het telmoment worden afgeleid.
PRE-006De gebruiker hoeft geen objectselectie te maken om samenvattingen te bekijken.

5. Post-condities

IDResultaat
POST-001De beheerder ziet compacte samenvattingsblokken met eenduidige labels.
POST-002Alle getoonde waarden zijn afgeleid uit server-side readmodels.
POST-003Geen onderliggende module, categorie, oefening, melding, notificatie of account is gewijzigd.
POST-004Waarden met nulrecords tonen nul of een neutrale lege staat.
POST-005Feature- of modulebeschikbaarheid is niet gewijzigd door weergave.
POST-006Tellerdefinities kunnen rechtstreeks worden verwerkt in FO, TO en SRS.

6. Trigger

De usecase start wanneer UC-BEH-FP-001 tijdens het laden van de beheerder-frontpage de beheersamenvattingen opvraagt.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1FrontendBeheerder-frontpageVraagt samenvattingsreadmodel op.De backend valideert de beheerdercontext.UC-BEH-FP-002.
2BackendAttentieblokTelt modules in onderhoud.Het systeem telt actieve technische modules of concrete oefenmodules met onderhoudsstatus volgens vastgelegde definitie.ExerciseModules.IsActive of onderhoudsdefinitie.
3BackendAttentieblokTelt beheerders.Het systeem telt actieve accounts met actieve beheerderrol.Users.IsActive, UserRoles, Roles.
4BackendAttentieblokTelt meldingen open en nieuw.Open meldingen sluiten Closed uit; nieuw telt Tickets met status New.Tickets.Status.
5BackendAttentieblokTelt actieve systeemnotificaties.Notificaties tellen mee wanneer start bereikt is en einddatum ontbreekt of in de toekomst ligt.UTC telmoment.
6BackendContentbeheerTelt actieve modules.Alle inzetbare modules tellen mee volgens modulebeheerdefinitie.ExerciseModules.IsActive.
7BackendContentbeheerTelt actieve categorieën.Alle centrale categorieën met actieve status en niet soft deleted tellen mee.Categories.
8BackendContentbeheerTelt actieve niveaus en oefeningen.Alle actieve docentniveaus en actieve concrete oefeningen tellen mee volgens statusfilters.TeacherLevels, Exercises.
9BackendAccounts en rollenTelt docenten, leerlingen en ouder-/voogden.Accounts tellen per actieve rolcontext; combinatierollen kunnen in meerdere groepen meetellen wanneer de groep rolgebonden is.Users, UserRoles.
10BackendReadmodelBundelt labels, waarden en eventuele leegstaatinformatie.Het readmodel bevat geen ruwe querydetails of technische identifiers.Veilige output.
11FrontendBeheerder-frontpageToont samenvattingsblokken.De beheerder ziet alleen compacte waarden en navigatie-ingangen.Geen mutatieknoppen.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Er zijn geen modules in onderhoud.De teller toont 0 en geen foutmelding.Niet van toepassing.Geen.
ALT-0024Meldingenfeature is sitebreed uitgeschakeld.De teller wordt verborgen of neutraal getoond volgens de beheerdefinitie, maar er wordt geen ticketdata onnodig geladen.Niet van toepassing.Geen.
ALT-0034Een ticket heeft status Closed maar is gebruikersgericht nog Opgelost.De ticket telt niet als open wanneer de tellerdefinitie open uitsluitend niet-Closed statuswaarden bevat.Niet van toepassing.Geen.
ALT-0045Een systeemnotificatie is gepland voor de toekomst.De notificatie telt niet als actief zichtbaar.Niet van toepassing.Geen.
ALT-0055Een systeemnotificatie is verlopen.De notificatie telt niet mee in actieve systeemnotificaties.Niet van toepassing.Geen.
ALT-0068Een categorie is historisch aanwezig maar gedeactiveerd.De categorie telt niet mee bij actieve categorieën.Niet van toepassing.Geen.
ALT-0079Een gebruiker heeft meerdere rollen.De gebruiker telt per rolgroep waarin hij of zij actief is; het label moet duidelijk maken dat het rolgebonden totalen zijn.Niet van toepassing.Geen.
ALT-00810Een readmodelquery geeft een technische fout.Het betreffende blok toont een veilige foutstaat; overige blokken blijven zichtbaar.Inline melding zonder stacktrace.Geen.
ALT-00910Een readmodelwaarde is niet betrouwbaar berekend.De waarde wordt niet als getal getoond maar als tijdelijk niet beschikbaar.Inline melding.Geen.

9. Business rules

IDRegel
BR-UC-BEH-FP-003-001Iedere samenvattingswaarde op de beheerder-frontpage heeft een expliciete definitie van bronrecords, filters en statusvoorwaarden.
BR-UC-BEH-FP-003-002Modules in onderhoud tellen alleen volgens de vastgelegde onderhoudsdefinitie en niet op basis van vrije tekstlabels.
BR-UC-BEH-FP-003-003Aantal beheerders telt actieve accounts met actieve beheerderrol en sluit inactieve of geanonimiseerde accounts uit.
BR-UC-BEH-FP-003-004Meldingen open sluit Closed uit; meldingen nieuw telt alleen status New.
BR-UC-BEH-FP-003-005Actieve systeemnotificaties worden bepaald op basis van UTC-start- en eindmoment, doelgroep en actuele zichtbaarheid.
BR-UC-BEH-FP-003-006Actieve contenttotalen sluiten soft-deleted of inactieve records uit tenzij de tellerdefinitie expliciet anders bepaalt.
BR-UC-BEH-FP-003-007Rolgebonden accounttotalen mogen combinatierollen per groep meetellen, maar niet als unieke totaalpopulatie worden gepresenteerd zonder toelichting.
BR-UC-BEH-FP-003-008Het tonen van samenvattingen mag geen detailbeheer of mutatieactie op de frontpage introduceren.
BR-UC-BEH-FP-003-009Tellers worden server-side berekend en niet client-side samengesteld uit verborgen datasets.
BR-UC-BEH-FP-003-010Een teller die niet betrouwbaar kan worden bepaald wordt veilig niet beschikbaar getoond in plaats van misleidend als 0.

10. Datavalidatie

Veld / objectValidatie
Modules in onderhoudDefinitie moet vastleggen of dit ExerciseModules.IsActive=false, een onderhoudsvlag of concrete oefeningstatus betreft.
Aantal beheerdersUsers.IsActive=true en actieve UserRole met rol Beheerder.
Meldingen openTickets met status New, InProgress of WaitingForUser; Closed uitgesloten.
Meldingen nieuwTickets met status New.
Actieve systeemnotificatiesStartAtUtc <= telmoment en EndAtUtc ontbreekt of EndAtUtc > telmoment; doelgroep relevant volgens beheerdefinitie.
Actieve modulesExerciseModules die functioneel inzetbaar zijn voor reguliere of toegestane testcontext.
Actieve categorieënCentrale categorieën zonder soft-delete en met actieve status.
Actieve niveausNiveaus die niet historisch, inactief of soft-deleted zijn.
Actieve oefeningenExercises met IsActive=true binnen actieve niveau-/categoriekoppeling.
Rolgebonden accounttotalenGebruiker telt in elke actieve rolcontext waarvoor een afzonderlijk totaal wordt getoond.

10.1 Autorisatie en server-side controles

ControleUitwerking
AccountstatusControleer dat het interne account actief is voordat beheerdata wordt geladen.
RolstatusControleer dat de beheerderrol actief is op het moment van het verzoek.
ClientstateGebruik browserstate uitsluitend als UI-hint en nooit als autorisatiebron.
Directe URLVoer dezelfde controle uit bij directe routes als bij navigatie via menu of tegel.
Veilige responseGeef bij blokkade geen beheerdata, technische sleutels of querydetails terug.
TellerbronBereken tellers server-side per brondomein en geef geen ruwe datasets aan de browser.
TelmomentGebruik één consistent UTC-telmoment voor tijdsafhankelijke waarden.
DefinitiemismatchToon niet beschikbaar wanneer een tellerdefinitie niet betrouwbaar toepasbaar is.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-11DatabaseNiet van toepassingSamenvattingswaarden worden gelezen of berekend, niet opgeslagen als bronwaarheid.
1-11EventNiet van toepassingHet tonen van tellerwaarden publiceert geen domeinevent.
1-11AuditNiet van toepassingTellerweergave is geen beheerwijziging.

12. Geen datamutaties

EntiteitReden
ExerciseModulesGeen actiefstatus- of onderhoudswijziging.
Categories, TeacherLevels en ExercisesGeen contentwijziging of migratie.
Users, Roles en UserRolesGeen roltoekenning, intrekking of accountstatuswijziging.
TicketsGeen assignment, statuswijziging, sluiting of heropening.
SiteNotificationsGeen publicatie, uitschakeling of seen-registratie.
ContentBlocksGeen frontpagecontentwijziging.

13. State diagram

Niet van toepassing. Deze usecase wijzigt geen persistente domeinstatus, workflowstatus of lifecycle-status. De flow bestaat uit server-side contextcontrole, readmodelopbouw en veilige weergave-afhandeling.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

Samenvattingsreadmodel opbouwen

Veilige blokfout

17. Popupverwijzingen

Deze usecase gebruikt geen popupregister-popup. Eventuele fout- of blokkademeldingen worden als inline melding, veilige redirect of statusweergave afgehandeld.

PopupKeyMomentDoel
Niet van toepassingGeen bevestigings- of invoerpopup in deze usecase.Niet van toepassing.

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

DoeldocumentAfleiding
Functioneel OntwerpNeem per beheerder-frontpageblok op welke tellers zichtbaar zijn en welke betekenis zij hebben. Leg expliciet vast dat deze waarden oriëntatie bieden en geen mutatie starten.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, readmodels en beheersamenvattingen en frontendcompositie beschrijven de technische uitwerking. Specificeer per teller de querybron, statusfilter, soft-deletegedrag, rolcontextgedrag, UTC-telmoment en foutafhandeling.
Software Requirements SpecificationBeschrijft requirements voor minimale tellerwaarden, expliciete tellerdefinities, server-side berekening, veilige lege staten en read-only gedrag.

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-BEH-FP-003-001SRS-TIC-003
SRS-ADM-004
SRS-ADM-001
SRS-POP-002
SRS-MOD-003
AC-TIC-003
AC-ADM-004
AC-ADM-001
AC-POP-002
AC-MOD-003
In het attentieblok minimaal modules in onderhoud, aantal beheerders, meldingen open, meldingen nieuw en actieve systeemnotificaties tonen
REQ-UC-BEH-FP-003-002SRS-CAT-001
SRS-LRN-009
SRS-ADM-004
SRS-ADM-001
SRS-CNT-001
SRS-MOD-003
AC-CAT-001
AC-LRN-009
AC-ADM-004
AC-ADM-001
AC-CNT-001
AC-MOD-003
In Contentbeheer minimaal actieve modules, actieve categorieën, actieve niveaus en actieve oefeningen tonen
REQ-UC-BEH-FP-003-003SRS-ACC-002
SRS-LRN-009
SRS-TCH-001
SRS-GUA-001
SRS-ADM-002
SRS-ADM-001
AC-ACC-002
AC-LRN-009
AC-TCH-001
AC-GUA-001
AC-ADM-002
AC-ADM-001
In Accounts & rollen minimaal docenten, leerlingen en ouder-/voogdaccounts of gelijkwaardige rolgebonden groepen tonen
REQ-UC-BEH-FP-003-004SRS-AUTH-001
SRS-RDM-001
SRS-RDM-002
SRS-ADM-001
AC-AUTH-001
AC-RDM-001
AC-RDM-002
AC-ADM-001
Tellerwaarden server-side berekenen uit geautoriseerde brondomeinen
REQ-UC-BEH-FP-003-005SRS-RDM-001
SRS-RDM-002
SRS-ADM-001
SRS-NFR-AUD-001
AC-RDM-001
AC-RDM-002
AC-ADM-001
AC-NFR-AUD-001
Per teller expliciet vastleggen welke statussen en soft-deletecondities meetellen
REQ-UC-BEH-FP-003-006SRS-AUTH-003
SRS-ACC-002
SRS-ADM-002
SRS-ADM-001
AC-AUTH-003
AC-ACC-002
AC-ADM-002
AC-ADM-001
Combinatierollen correct verwerken in rolgebonden accounttotalen
REQ-UC-BEH-FP-003-007SRS-RDM-001
SRS-ADM-001
AC-RDM-001
AC-ADM-001
Bij nul records een duidelijke nul- of lege staat tonen
REQ-UC-BEH-FP-003-008SRS-RDM-001
SRS-RDM-002
SRS-RDM-009
SRS-ADM-001
SRS-NFR-SEC-001
AC-RDM-001
AC-RDM-002
AC-RDM-009
AC-ADM-001
AC-NFR-SEC-001
Bij onbetrouwbare tellerberekening een veilige niet-beschikbaarstatus tonen
REQ-UC-BEH-FP-003-009SRS-RDM-001
SRS-RDM-002
SRS-RDM-004
SRS-ADM-001
AC-RDM-001
AC-RDM-002
AC-RDM-004
AC-ADM-001
Het tonen van beheersamenvattingen mag geen domeinrecords wijzigen
REQ-UC-BEH-FP-003-010SRS-RDM-001
SRS-RDM-002
SRS-RDM-003
SRS-RDM-004
SRS-ADM-001
AC-RDM-001
AC-RDM-002
AC-RDM-003
AC-RDM-004
AC-ADM-001
Op de beheerder-frontpage geen directe mutatieacties aan samenvattingstellers koppelen