Skip to main content

UC-OVG-FP-005 — Gecombineerde docent-ouder-frontpage tonen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-OVG-FP-005
NaamGecombineerde docent-ouder-frontpage tonen
DomeinOuder/voogd / Frontpage en context
Primaire actorOuder/voogd met docentrol
Secundaire actor(en)Frontend, backend, autorisatiecomponent, database
RolcontextActieve ouder-/voogdcontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenGecombineerde frontpage Docent + Ouder/voogd
Gerelateerde usecasesUC-OVG-FP-001, UC-OVG-FP-002, UC-DOC-FP-005
Primaire entiteitenUsers, UserRoles, UserSettings, UserRelationships, TeacherLevels, ExerciseRuns
Secundaire entiteiten / eventsGecombineerd frontpage-readmodel; geen domeinevents
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWShould

2. Omschrijving

De usecase beschrijft de ouder-/voogdkant van een gecombineerde frontpage voor gebruikers met zowel Docent als Ouder/voogd. De pagina gebruikt één gezamenlijke intro en toont daarna eerst de docentblokken en vervolgens de ouder-/voogdblokken.

De gecombineerde frontpage is runtime samengesteld. Er wordt geen zelfstandig persistent frontpageontwerp per rolcombinatie beheerd en de gebruiker kan de volgorde niet vrij omdraaien.

Uitgangspunten

  • Gecombineerde Docent + Ouder/voogd-frontpage gebruikt één gezamenlijk introblok.
  • Docentblokken worden altijd vóór ouder-/voogdblokken getoond.
  • De volgorde is functioneel vast en niet gebruikersconfigureerbaar.
  • Er bestaat geen apart persistent frontpageontwerp voor elke rolcombinatie.
  • Een gecombineerde frontpage wijzigt geen autorisaties of relaties.

3. Scope

Deze usecase beschrijft:

  • Samenstellen van één gecombineerde Docent + Ouder/voogd-frontpage.
  • Toepassen van vaste volgorde: docentblokken voor ouder-/voogdblokken.
  • Tonen van ouder-/voogdblokken Kinderenoverzicht en Resultatenoverzicht binnen de gecombineerde pagina.
  • Voorkomen van dubbele navigatie-items of dubbele introblokken.

Deze usecase beschrijft niet:

  • Docentfrontpage-blokken inhoudelijk bronhoudend beschrijven; dat hoort bij docent/frontpage-en-context.
  • Vrije pagebuilder of persistent ontwerp voor rolcombinaties.
  • Beheerdercombinaties; die volgen beheerderprioriteit.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Generiek / RelatiesRelatie-uitnodigingen, acceptatie en algemene relatievorming blijven bronhoudend in het generieke relatiedomein.
Generiek / BerichtenSysteemberichten en leesstatussen blijven bronhoudend in het centrale berichtendomein.
LeerlingDe leerling blijft eigenaar van eigen oefenuitvoering; ouder/voogd kan niet namens het kind oefenen.
DocentDocentautorisaties en docentresultaatinzage blijven begrensd door docentcontext; ouder-/voogdcontext gebruikt eigen relatiegrens.

4. Pre-condities

IDWaarde
001De gebruiker is ingelogd.
002De gebruiker heeft actieve rollen Docent en Ouder/voogd.
003De gebruiker heeft geen leerlingrol.
004Onderliggende docent- en ouder-/voogdreadmodels zijn raadpleegbaar.

5. Post-condities

IDWaarde
001De gecombineerde frontpage is getoond met één intro.
002Docentblokken staan boven ouder-/voogdblokken.
003Geen rolcontext, relatie of resultaat is gewijzigd.

6. Trigger

De usecase start wanneer de ouder/voogd de betreffende ouder-/voogdroute opent of de beschreven actie uitvoert binnen de actieve ouder-/voogdcontext.

7. Normale processtroom

StapActor / componentActieResultaatData / controle
1BackendLeest actieve rollenDocent + Ouder/voogd wordt vastgesteldUserRoles
2BackendControleert uitsluitingenGeen leerlingrol aanwezigRolregels
3BackendLaadt docentblokkenDocentreadmodel is beschikbaarDocentcontext
4BackendLaadt ouder-/voogdblokkenKinderen- en resultatenoverzicht zijn beschikbaarOuder-/voogdcontext
5BackendStelt pagina samenEén intro, daarna docent en ouder-/voogdVaste volgorde
6FrontendToont gecombineerde frontpagePagina is langer maar volledigViewmodel

7.1 Scherm- en routegedrag

  • De pagina wordt opgebouwd als overzichts- en oriëntatiepagina, niet als mutatiepagina.
  • Blokken tonen compacte waarden en verwijzen naar onderliggende routes voor detailacties.
  • Bij lege of niet beschikbare data wordt een veilige lege staat getoond in plaats van gedeeltelijk ongeautoriseerde data.
  • De frontend mag visuele keuzes tonen, maar backendautorisatie bepaalt de dataset.

8. Alternatieve en exceptionele processtromen

IDWaarde
001Docentcontext niet beschikbaar maar ouder-/voogdcontext wel: toon alleen toegestane ouder-/voogdweergave of veilige contextkeuze volgens routering.
002Ouder-/voogdcontext niet beschikbaar: toon docentweergave zonder ouder-/voogdblokken.
003Gebruiker heeft ook beheerderrol: beheerderprioriteit bepaalt de samengestelde frontpage op hoogste laag.
004Onderliggend blok heeft lege staat: het blok blijft op zijn positie maar toont veilige lege inhoud.

8.1 Afhandeling van verouderde of ongeldige clientstate

  • De backend herhaalt de autorisatiecontrole bij iedere vervolgactie.
  • Oude selectie-, route- of browsercontext wordt genegeerd wanneer de actuele server-side context geen toegang meer geeft.
  • De frontend mag verouderde weergave herstellen door opnieuw het actuele viewmodel op te vragen.

9. Business rules

IDWaarde
001Gecombineerde Docent + Ouder/voogd-frontpage gebruikt één gezamenlijk introblok.
002Docentblokken worden altijd vóór ouder-/voogdblokken getoond.
003De volgorde is functioneel vast en niet gebruikersconfigureerbaar.
004Er bestaat geen apart persistent frontpageontwerp voor elke rolcombinatie.
005Een gecombineerde frontpage wijzigt geen autorisaties of relaties.

9.1 Readmodel- en tellerdefinities

WaardeDefinitieUitsluitingen / grenzen
IntroblokEenmalig samengesteld voor de gecombineerde rolweergave.Geen dubbele docent- en ouderintro.
BlokvolgordeDocentblokken eerst, daarna ouder-/voogdblokken.Volgorde is niet gebruikersconfigureerbaar.
Onderliggende scopesElk blok gebruikt eigen rolcontext en autorisatiegrens.Docentdata en ouderdata worden niet samengevoegd tot één domeinrecord.

9.2 Autorisatie- en privacygrenzen

  • De zichtbare dataset wordt altijd server-side beperkt tot de actieve ouder-/voogdcontext.
  • Persoonsgegevens van kinderen worden alleen getoond zolang er een actieve ouder-/voogdrelatie bestaat.
  • Historische oefenresultaten worden gelezen binnen de toegestane context, maar niet gewijzigd door raadplegen of samenvatten.

10. Datavalidatie

IDWaarde
001Beide rollen moeten actief zijn.
002Leerlingrol moet afwezig zijn.
003Elk blok moet server-side binnen zijn eigen context gefilterd worden.
004Dubbele intro- of navigatie-elementen moeten worden voorkomen.

11. Datamutaties en events

IDWaarde
001Geen domeinmutaties.

12. Geen datamutaties

IDWaarde
001UserRoles worden niet gewijzigd.
002Frontpagecontent wordt niet gewijzigd.
003UserSettings worden niet gewijzigd door de runtime-samenstelling.
004Onderliggende docent- of ouderdata wordt niet gewijzigd.

13. State diagram

Niet van toepassing. Deze usecase wijzigt geen persistent statusobject. De gecombineerde frontpage is een runtime-samenstelling van onderliggende rolcontexten en wordt niet als zelfstandige rolcombinatiepagina opgeslagen.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruikOpmerking
Niet van toepassingDeze usecase gebruikt geen popupregister-popup.Lege staten en inline meldingen zijn scherminhoud en geen popupdefinitie.

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

AspectAfleiding
FO/TO/SRS-001Voor Docent + Ouder/voogd geldt één gecombineerde frontpage.
FO/TO/SRS-002De pagina toont eerst docentblokken en daarna ouder-/voogdblokken.
FO/TO/SRS-003Gecombineerde rolfrontpages worden runtime samengesteld uit basiscontexten.

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-OVG-FP-005-001SRS-AUTH-003
SRS-TCH-001
SRS-GUA-001
AC-AUTH-003
AC-TCH-001
AC-GUA-001
Bij Docent + Ouder/voogd één gezamenlijke intro tonen
REQ-UC-OVG-FP-005-002SRS-TCH-001
SRS-GUA-001
AC-TCH-001
AC-GUA-001
Docentblokken vóór ouder-/voogdblokken plaatsen
REQ-UC-OVG-FP-005-003SRS-LRN-009
SRS-GUA-001
AC-LRN-009
AC-GUA-001
Rolcombinatiefrontpages runtime samenstellen
REQ-UC-OVG-FP-005-004SRS-GUA-001
AC-GUA-001
Geen persistent ontwerp per rolcombinatie vereisen
REQ-UC-OVG-FP-005-005SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
Elk blok afzonderlijk server-side autoriseren