Skip to main content

UC-BEH-FP-005 — Gecombineerde beheerder-docent-ouder-frontpage tonen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-FP-005
NaamGecombineerde beheerder-docent-ouder-frontpage 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-DOC-FP-005
Primaire entiteitenUsers, Roles, UserRoles, ContentBlocks
Secundaire entiteiten / eventsTeacherLevels, StudentAuthorizations, GuardianRelationships, ExerciseRuns, SiteNotifications
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe de frontpage wordt samengesteld wanneer een gebruiker de rol Beheerder combineert met Docent en/of Ouder/voogd. De applicatie gebruikt geen apart persistent frontpageontwerp per rolcombinatie, maar bouwt de pagina runtime op uit de onderliggende basiscontexten.

Voor gecombineerde beheercontexten is de volgorde vast: eerst beheerderblokken, daarna docentblokken en daarna ouder-/voogdblokken. Boven deze blokken staat één gezamenlijk introblok. De pagina mag daardoor langer worden; het systeem laat geen blokken weg om de pagina kunstmatig korter te maken.

De gecombineerde frontpage blijft een samenvattingspagina. Contextafhankelijke acties, zoals leerlingdetails, niveaubeheer, kinderenoverzicht, geschiedenis of live meekijken, starten pas via de reguliere menustructuur of een gekozen detailobject en worden niet rechtstreeks als mutatie vanaf de gecombineerde frontpage uitgevoerd.

Uitgangspunten

  • Beheerder is de hoogste frontpageprioriteit wanneer de rol actief is.
  • Gecombineerde frontpages worden runtime samengesteld uit basiscontexten.
  • Er bestaat geen beheerbaar volledig ontwerp per specifieke rolcombinatie.
  • Alle onderliggende blokken blijven begrensd door hun eigen context en autorisatieregels.

3. Scope

Deze usecase beschrijft:

  • Bepalen welke rolcontexten in de gecombineerde frontpage zichtbaar worden.
  • Toepassen van de vaste volgorde Beheerder, Docent, Ouder/voogd.
  • Tonen van één gezamenlijk introblok.
  • Runtime samenstellen uit beheerder-, docent- en ouder-/voogdblokgroepen.
  • Voorkomen van duplicatie van navigatie en detailacties.
  • Afbakenen dat combinaties geen extra persistent frontpageontwerp krijgen.

Deze usecase beschrijft niet:

  • Beheer van contentblokken voor de afzonderlijke basiscontexten.
  • Detailflows van docent, ouder/voogd of beheerder.
  • Wijzigen van actieve rollen of rolvolgorde door de gebruiker.
  • Live meekijken vanuit beheerdercontext.
  • Persistente opslag van een samengestelde frontpage-layout per gebruiker.

3.1 Afbakening met aangrenzende usecases

OnderdeelAfbakening
UC-BEH-FP-002Levert de rolset en prioriteit.
UC-BEH-FP-001Levert de beheerderblokgroep als eerste blokgroep.
Docent-frontpageLevert docentblokken, maar alleen binnen geldige docentcontext.
Ouder-/voogdfrontpageLevert ouder-/voogdblokken, maar alleen binnen geldige oudercontext.
FrontpagebeheerBeheert basiscontent per context, niet een volledig ontwerp per rolcombinatie.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker heeft een actief intern account.
PRE-002De gebruiker heeft een actieve beheerderrol.
PRE-003De gebruiker kan daarnaast de rol Docent en/of Ouder/voogd hebben.
PRE-004Er is geen actieve leerlingrol op hetzelfde account.
PRE-005De basisblokdefinities voor Admin, Teacher en Guardian zijn beschikbaar of hebben veilige lege staten.
PRE-006De applicatie kan per onderliggende context server-side bepalen welke samenvattingsdata zichtbaar is.

5. Post-condities

IDResultaat
POST-001De gebruiker ziet één samengestelde frontpage met beheerderblokken als eerste rolblokgroep.
POST-002Docentblokken worden alleen toegevoegd wanneer de gebruiker actieve docentcontext heeft.
POST-003Ouder-/voogdblokken worden alleen toegevoegd wanneer de gebruiker actieve ouder-/voogdcontext heeft.
POST-004Er is geen nieuwe samengestelde layout opgeslagen.
POST-005Contextafhankelijke detailacties blijven op onderliggende routes.
POST-006Geen rol-, relatie- of autorisatierecord is gewijzigd.

6. Trigger

De usecase start wanneer UC-BEH-FP-002 vaststelt dat een gebruiker beheerdercontext heeft en daarnaast één of meer toegestane niet-leerlingrollen bezit.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1BackendContextserviceOntvangt de actieve rolset.Beheerdercontext is leidend.UC-BEH-FP-002.
2BackendRolvalidatieControleert dat geen leerlingrol aanwezig is.Bij geldige combinatie gaat samenstelling verder.Leerling uitgesloten.
3BackendFrontpagecomposerMaakt één gezamenlijk introblok.Het introblok gebruikt beheerbare content voor de gecombineerde context of veilige basiscontent.Geen losse intro per rolblokgroep.
4BackendFrontpagecomposerVoegt beheerderblokgroep toe.Introblok, attentieblok, Contentbeheer, Accounts & rollen en Recente beheerwijzigingen worden als eerste rolblokgroep opgenomen.UC-BEH-FP-001 t/m 004.
5BackendFrontpagecomposerControleert docentcontext.Bij actieve docentrol worden docentfrontpageblokken toegevoegd na beheerderblokken.Docentcontext blijft eigen autorisatiegrens.
6BackendFrontpagecomposerControleert ouder-/voogdcontext.Bij actieve ouder-/voogdrol worden ouder-/voogdblokken toegevoegd na docentblokken.Oudercontext blijft eigen autorisatiegrens.
7BackendNavigatiecomponentVoorkomt dubbele navigatie-items.Gelijke routes of functies worden in de actieve context niet dubbel getoond.Combinatierolregel.
8BackendReadmodelLevert de samengestelde frontpage.De response bevat basisblokken in vaste volgorde en geen vrij samengestelde layoutdefinitie.Runtime samenstelling.
9FrontendGecombineerde frontpageRendert de blokgroepen.Beheerder ziet één pagina in vaste prioriteitsvolgorde.Pagina mag langer zijn.
10BeheerderFrontpageKiest eventueel een onderliggende route.Doelpagina voert eigen autorisatie en procesflow uit.Geen mutatie vanaf frontpage.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Leerlingrol is aanwezig naast Beheerder.De combinatie wordt niet als geldige samengestelde frontpage verwerkt.Veilige accountafhandeling.Geen.
ALT-0025Docentrol is niet actief.Docentblokken worden overgeslagen; beheerder- en eventuele ouderblokken blijven zichtbaar.Niet van toepassing.Geen.
ALT-0036Ouder-/voogdrol is niet actief.Ouder-/voogdblokken worden overgeslagen.Niet van toepassing.Geen.
ALT-0043Specifieke gezamenlijke introcontent ontbreekt.Het systeem toont een veilige generieke beheerderintro of codegedreven intro.Niet van toepassing.Geen.
ALT-0055Docentcontext heeft geen gekoppelde leerlingen of niveaus.Docentblok toont eigen lege staat, niet een beheerderlege staat.Niet van toepassing.Geen.
ALT-0066Ouder-/voogdcontext heeft geen gekoppelde kinderen.Ouderblok toont eigen lege staat.Niet van toepassing.Geen.
ALT-0077Een navigatie-item bestaat in meerdere contexten.Het item wordt niet dubbel getoond; de route bepaalt de actieve context bij openen.Niet van toepassing.Geen.
ALT-00810Gebruiker probeert via beheerderblok een docentdetailactie zonder docentcontext.De doelroute voert server-side autorisatie uit en blokkeert de actie.Inline toegang geweigerd.Geen.

9. Business rules

IDRegel
BR-UC-BEH-FP-005-001Bij gecombineerde frontpages met Beheerder geldt de volgorde Beheerder, Docent, Ouder/voogd.
BR-UC-BEH-FP-005-002Er wordt één gezamenlijk introblok getoond en niet één los introblok per rolcontext.
BR-UC-BEH-FP-005-003Het systeem beheert geen volledig persistent frontpageontwerp per mogelijke rolcombinatie.
BR-UC-BEH-FP-005-004De samengestelde frontpage wordt runtime opgebouwd uit basiscontexten.
BR-UC-BEH-FP-005-005De pagina mag langer worden; het systeem verbergt geen rolblokgroep uitsluitend om de pagina kort te houden.
BR-UC-BEH-FP-005-006Onderliggende docent- en ouder-/voogdblokken behouden hun eigen autorisatie- en contextfilters.
BR-UC-BEH-FP-005-007Contextafhankelijke detailacties starten niet als directe mutatie vanaf de gecombineerde frontpage.
BR-UC-BEH-FP-005-008Dubbele navigatie-items worden samengevoegd of contextueel eenduidig weergegeven.
BR-UC-BEH-FP-005-009Een beheerderrol geeft geen ouder- of docenttoegang zonder de betreffende rolcontext.
BR-UC-BEH-FP-005-010Een gecombineerde frontpage mag geen leerlingcontext bevatten.

10. Datavalidatie

Veld / objectValidatie
RolsetMoet actieve Beheerder bevatten en mag geen Leerling bevatten.
DocentblokkenAlleen tonen bij actieve docentrol en geldige docentcontext.
OuderblokkenAlleen tonen bij actieve ouder-/voogdrol en geldige oudercontext.
IntroblokMaximaal één gezamenlijk introblok boven rolblokgroepen.
BlokvolgordeBeheerder voor Docent voor Ouder/voogd.
PersistentieGeen opslag van samengestelde rolcombinatielayout.
NavigatieGeen dubbele items voor hetzelfde doel binnen actieve frontendcontext.
DoorklikroutesElke doelroute voert eigen server-side autorisatie uit.

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.
RolvolgordePas de blokvolgorde server-side toe voordat het readmodel naar de frontend gaat.
Geen combinatielayoutSla geen samengesteld frontpageontwerp per rolcombinatie op.
OndercontextenVoer per rolblokgroep de eigen autorisatiefilters uit.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-10DatabaseNiet van toepassingRuntime samenstelling wijzigt geen rollen, relaties of content.
1-10SessiecontextActieve frontendcontextDe leidende context kan in de beveiligde sessie beschikbaar zijn; er wordt geen samengestelde layout persistent opgeslagen.
1-10AuditNiet van toepassingHet bekijken van de samengestelde frontpage is geen beheerwijziging.

12. Geen datamutaties

EntiteitReden
ContentBlocksContentblokken worden gelezen, niet aangepast.
Users, Roles en UserRolesRolset wordt gelezen, niet gewijzigd.
TeacherLevels en StudentAuthorizationsDocentblokken lezen contextdata zonder autorisaties te wijzigen.
UserRelationshipsOuder-/voogdcontext wordt gelezen zonder relaties te wijzigen.
ExerciseRuns en LiveViewAuditGeen geschiedeniswijziging en geen live meekijken gestart.

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

Runtime samenstelling combinatierollen

Doorklik met eigen autorisatie

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 OntwerpBeschrijft gecombineerde frontpageweergave met één introblok, vaste volgorde Beheerder, Docent, Ouder/voogd en geen aparte beheerbare rolcombinatie-layout.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, readmodels en beheersamenvattingen en frontendcompositie beschrijven de technische uitwerking. Leg de runtime-compositie vast als readmodelopbouw uit basiscontexten, met sessiecontext, rolprioriteit, blokvolgorde en routeautorisatie per doelpagina.
Software Requirements SpecificationNeem eisen op voor rolprioriteit, één gezamenlijk introblok, geen persistente combinatielayout, behoud van contextfilters en veilige blokkade bij conflicterende rollen.

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-005-001SRS-AUTH-003
SRS-TCH-001
SRS-GUA-001
SRS-ADM-001
AC-AUTH-003
AC-TCH-001
AC-GUA-001
AC-ADM-001
Bij gecombineerde beheerdercontexten de volgorde Beheerder, Docent, Ouder/voogd toepassen
REQ-UC-BEH-FP-005-002SRS-AUTH-003
SRS-ADM-001
AC-AUTH-003
AC-ADM-001
Op een gecombineerde frontpage één gezamenlijk introblok tonen
REQ-UC-BEH-FP-005-003SRS-ADM-002
SRS-ADM-001
AC-ADM-002
AC-ADM-001
Geen volledig frontpageontwerp per rolcombinatie persistent beheren
REQ-UC-BEH-FP-005-004SRS-AUTH-003
SRS-LRN-009
SRS-ADM-001
AC-AUTH-003
AC-LRN-009
AC-ADM-001
Gecombineerde frontpages runtime samenstellen uit onderliggende basiscontexten
REQ-UC-BEH-FP-005-005SRS-TCH-001
SRS-ADM-001
AC-TCH-001
AC-ADM-001
Docentblokken alleen tonen wanneer de gebruiker een actieve docentcontext heeft
REQ-UC-BEH-FP-005-006SRS-GUA-001
SRS-ADM-001
AC-GUA-001
AC-ADM-001
Ouder-/voogdblokken alleen tonen wanneer de gebruiker een actieve ouder-/voogdcontext heeft
REQ-UC-BEH-FP-005-007SRS-AUTH-001
SRS-LRN-009
SRS-ADM-001
AC-AUTH-001
AC-LRN-009
AC-ADM-001
De combinatie Leerling met Beheerder blokkeren
REQ-UC-BEH-FP-005-008SRS-AUTH-003
SRS-ADM-002
SRS-ADM-001
AC-AUTH-003
AC-ADM-002
AC-ADM-001
Dubbele navigatie-items bij combinatierollen voorkomen
REQ-UC-BEH-FP-005-009SRS-AUTH-001
SRS-ADM-001
AC-AUTH-001
AC-ADM-001
Voor elke doorklikroute opnieuw server-side autorisatie toepassen
REQ-UC-BEH-FP-005-010SRS-AUTH-001
SRS-AUTH-003
SRS-REL-001
SRS-ADM-002
SRS-ADM-001
AC-AUTH-001
AC-AUTH-003
AC-REL-001
AC-ADM-002
AC-ADM-001
Het tonen van een gecombineerde frontpage mag geen rollen, relaties of autorisaties wijzigen