Skip to main content

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

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-FP-005
NaamGecombineerde docent-ouder-frontpage tonen
DomeinDocent / Frontpage en context
Primaire actorGebruiker met rol Docent en Ouder/voogd
Secundaire actor(en)OefenHub frontend, OefenHub backend, routeguard, contextresolver, database, frontpage-readmodel
RolcontextIngelogde gebruiker met actieve rollen Docent en Ouder/voogd, zonder rol Leerling.
Betrokken schermenGecombineerde frontpage, docentfrontpageblokken, ouder-/voogdfrontpageblokken, profielmenu.
Gerelateerde usecasesUC-DOC-FP-001 — Docent-frontpage bekijken; UC-DOC-FP-002 — Docentcontext bepalen; UC-DOC-FP-003 — Leerlingenoverzichtsamenvatting tonen; UC-DOC-FP-004 — Niveaus- en inhoudsamenvatting tonen; ouder-/voogdfrontpage-usecases
Primaire entiteitenUsers, UserRoles, Roles, UserSettings, UserRelationships, TeacherLevels, ExerciseRuns
Secundaire entiteiten / eventsgecombineerd frontpage-readmodel, rolprioriteitsregels, gescheiden docent- en ouder-/voogdcontext
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe OefenHub de frontpage samenstelt voor een gebruiker die zowel docent als ouder/voogd is. De gebruiker krijgt geen twee losse startpagina’s, maar één gecombineerde frontpage met één gezamenlijk introblok.

Binnen die gecombineerde frontpage worden eerst de docentblokken getoond en daarna de ouder-/voogdblokken. De volgorde is functioneel vast en wordt niet door de gebruiker omgedraaid of vrij geconfigureerd.

De usecase dupliceert geen ouder-/voogdfunctionaliteit. Zij beschrijft alleen de samenstelling, scheiding en prioriteit van de gecombineerde frontpage. Detailroutes voor kinderen, resultaten, leerlingen, oefenaanbod en live meekijken blijven bij hun eigen domeinflows.

3. Scope

Deze usecase omvat wel:

  • bepalen dat de gebruiker zowel Docent als Ouder/voogd is
  • samenstellen van één gezamenlijke frontpage met één introblok
  • plaatsen van docentblokken vóór ouder-/voogdblokken
  • scheiden van docentcontext en ouder-/voogdcontext in de getoonde gegevens
  • voorkomen dat acties of tellers uit beide contexten door elkaar lopen
  • doorverwijzen naar de reguliere contextspecifieke routes

Deze usecase omvat niet:

  • wijzigen van niveaukerngegevens, categorieën of oefeningen
  • toekennen of intrekken van niveau-autorisaties
  • openen van volledige leerlinggeschiedenis of resultaatdetails
  • starten van live meekijken of het tonen van live voortgang
  • beheer van relaties of uitnodigingen tussen docent en leerling
  • beheer van ouder-/voogdfunctionaliteit buiten de gecombineerde frontpageweergave
  • uitwerken van systeemnotificaties; die lopen via de generieke notificatie-usecases

DRY-afbakening: deze usecase beschrijft alleen de docent-frontpage- of contextlaag. De bronwaarheid voor leerlingenbeheer, oefenaanbodbeheer, live meekijken, relaties, profielinstellingen en systeemnotificaties blijft bij de daarvoor bedoelde usecases en ontwerpbronnen.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd.
PRE-002De gebruiker heeft actieve rollen Docent en Ouder/voogd.
PRE-003De gebruiker heeft geen rol Leerling.
PRE-004De backend kan beide rolcontexten server-side bepalen.
PRE-005De vaste prioriteitsregels voor gecombineerde frontpages zijn beschikbaar.

5. Post-condities

IDResultaat
POST-001De gebruiker ziet één gecombineerde frontpage met één gezamenlijk introblok.
POST-002Docentblokken worden vóór ouder-/voogdblokken getoond.
POST-003Gegevens uit docentcontext en ouder-/voogdcontext blijven functioneel gescheiden.
POST-004Er is geen aparte frontpagevariant per rolcombinatie als persistente bron aangemaakt.
POST-005Vervolgacties verlopen via de reguliere routes van de betreffende rolcontext.

6. Trigger

De usecase start wanneer een gebruiker met zowel Docent als Ouder/voogd na login of navigatie een frontpageweergave nodig heeft.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1OefenHub frontendRouteguardVraagt de frontpagecontext op.Backend ontvangt sessiecontext.Clientstate is niet leidend.
2OefenHub backendRolcontextLaadt actieve rollen.Docent en Ouder/voogd worden herkend.Leerling mag niet gecombineerd zijn.
3OefenHub backendPrioriteitsregelsPast vaste frontpagevolgorde toe.Docentblokken komen vóór ouder-/voogdblokken.Bij aanwezigheid van Beheerder gelden bredere prioriteitsregels.
4OefenHub backendFrontpage readmodelStelt gezamenlijk introblok samen.Er wordt geen tweede introblok per rol getoond.Runtime-samenstelling, geen aparte combinatiebron.
5OefenHub backendDocent readmodelStelt docentblokken samen.Leerlingenoverzicht en niveaus & inhoud worden in docentcontext gevuld.UC-DOC-FP-003 en UC-DOC-FP-004.
6OefenHub backendOuder-/voogd readmodelStelt ouder-/voogdblokken samen.Kinderen- en resultatencontext blijven ouder-/voogdspecifiek.Geen docentcontextmenging.
7OefenHub frontendGecombineerde frontpageRendert de pagina in vaste volgorde.Gebruiker ziet eerst docentblokken, daarna ouder-/voogdblokken.Geen datamutatie.
8GebruikerGecombineerde frontpageKiest eventueel een vervolgroute.Systeem opent route in de juiste rolcontext.Vervolgusecase buiten deze usecase.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Gebruiker heeft ook BeheerderrolBredere prioriteit geldt: beheerderblokken vóór docentblokken vóór ouder-/voogdblokken.Niet van toepassingGeen
ALT-0022Gebruiker heeft onverwacht ook LeerlingrolSysteem behandelt dit als inconsistente rolcontext volgens account-/autorisatieregels.Routeguard/toegangafhandelingGeen
ALT-0035Docentcontext heeft geen leerlingen of niveausDocentblokken tonen veilige lege staat, ouder-/voogdblokken blijven beschikbaar.Componentmelding / lege staatGeen
ALT-0046Ouder-/voogdcontext heeft geen gekoppelde kinderenOuder-/voogdblokken tonen veilige lege staat, docentblokken blijven beschikbaar.Componentmelding / lege staatGeen
ALT-0058Vervolgroute hoort bij verkeerde rolcontextRouteguard blokkeert of corrigeert naar de juiste context.Routeguard/toegangafhandelingGeen

9. Business rules

IDRegel
BR-001De docent-frontpage is een overzichts- en oriëntatiepagina en geen beheer- of mutatiepagina.
BR-002Contextafhankelijke acties waarvoor eerst een leerling, niveau, categorie of oefening gekozen moet worden, starten niet als losse generieke frontpageactie.
BR-003Alle getoonde aantallen en samenvattingen worden server-side afgeleid uit bestaande brondata.
BR-004Clientstate, routeparameters of oude browsercontext mogen niet bepalen welke docentcontext actief is.
BR-005Systeemnotificaties blokkeren het laden van de frontpage niet en worden pas na normale weergave gecontroleerd.
BR-006De frontpage introduceert geen aparte frontpagecache als bron van waarheid.
BR-007Een gebruiker met de rol Leerling kan niet tegelijk docent zijn binnen dezelfde accountcontext.
BR-008Docent- en ouder-/voogdcontext mogen wel gecombineerd voorkomen en worden volgens vaste prioriteit samengesteld.
BR-009De specifieke flow UC-DOC-FP-005 mag alleen gegevens tonen of bepalen die binnen de actuele docent- of gecombineerde rolcontext vallen.
BR-010Lege staten mogen functioneel informatief zijn, maar mogen geen automatische domeinmutaties starten.
BR-011Vervolgacties vanaf de frontpage moeten opnieuw server-side worden gevalideerd op de doelroute.

10. Datavalidatie

Veld / objectValidatie
SessiegebruikerMoet server-side bekend, ingelogd en actief zijn.
RolcontextMoet worden afgeleid uit actieve UserRoles en Roles.
DocentcontextMag alleen actief zijn wanneer de gebruiker de actieve rol Docent bezit.
ClientstateMag alleen ondersteunend zijn en nooit als autorisatiebron gelden.
SamenvattingswaardenMoeten een eenduidige definitie hebben van bronrecords, statusvoorwaarden en contextfilters.
FrontpageweergaveMag geen gegevens tonen buiten de actuele docent- of gecombineerde rolcontext.
DocentfrontpageblokMoet alleen informatie tonen die als compacte samenvatting is toegestaan.
VervolgrouteMoet opnieuw via routeguard en autorisatielaag worden gecontroleerd.
Lege staatMoet duidelijk zijn en mag geen gegevens uit andere contexten tonen.

11. Datamutaties en events

Deze usecase stelt een gecombineerde frontpage runtime samen. Er wordt geen aparte frontpagevariant per rolcombinatie opgeslagen en er worden geen docent- of ouder-/voogdrecords gewijzigd.

OnderdeelGedrag
RolcombinatieWordt server-side gelezen uit actieve rollen van dezelfde gebruiker.
PrioriteitsvolgordeWordt runtime toegepast: bij Docent + Ouder/voogd eerst docentblokken, daarna ouder-/voogdblokken; met Beheerder eerst beheerderblokken.
Gezamenlijk introblokWordt als presentatieonderdeel samengesteld en niet als aparte combinatie-entiteit opgeslagen.
Gescheiden contextenDocentdata en ouder-/voogddata blijven afzonderlijk gefilterd en autoriseerbaar.
DomeineventsNiet van toepassing; gecombineerde frontpageopbouw is readmodel- en presentatielogica.

12. Geen datamutaties

EntiteitReden
UsersDe frontpage- of contextflow wijzigt geen accountgegevens.
UserRolesRollen worden gelezen maar niet toegekend of ingetrokken.
RolesRoldefinities worden gelezen maar niet gewijzigd.
UserRelationshipsRelaties worden hoogstens gelezen voor context of samenvatting.
TeacherLevelsNiveaus worden gelezen of geteld, maar niet aangemaakt of gewijzigd.
TeacherLevelCategoriesCategorie-koppelingen worden gelezen of geteld, maar niet aangepast.
ExercisesOefeningen worden gelezen of geteld, maar niet geconfigureerd.
TeacherStudentAuthorizationsAutorisaties worden gelezen of geteld, maar niet aangepast.
SystemMessagesDeze usecase maakt geen systeemberichten aan.
SystemNotificationsSysteemnotificaties worden niet door deze usecase gemuteerd.

13. State diagram

Niet van toepassing als statusdiagram. De gecombineerde frontpage wijzigt geen persistente rol-, context- of frontpagestatus.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Frontpage- of contextweergave

16.2 Vervolgroute vanaf frontpage

17. Popupverwijzingen

PopupKeyMomentDoel
Niet van toepassingGehele usecaseDeze frontpage- en contextafhandeling gebruikt routeguardgedrag, componentmeldingen, lege staten en bestaande generieke flows; er is geen domeinspecifieke popupregister-popup.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft de gecombineerde docent-ouder-frontpage als runtime-samenstelling met één gezamenlijk introblok en vaste blokvolgorde.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, readmodels en tellers en frontendcompositie beschrijven de technische uitwerking. Beschrijft dat gecombineerde frontpages geen persistente combinatievarianten zijn en dat docent- en ouder-/voogdreadmodels gescheiden blijven.
Software Requirements SpecificationBeschrijft requirements voor vaste prioriteit, gescheiden contextfilters, geen leerlingrolcombinatie en hernieuwde routeguardcontrole per vervolgroute.
Database-informatieBeschrijft dat actieve rollen en bestaande brondata voldoende zijn voor runtime-samenstelling zonder aparte combinatietabel.
Ontwerpbronnen/registersVerwerk business rules, autorisatiematrix en usecase-matrices; command- en eventregisters hoeven voor deze read-only flow niet te worden uitgebreid.

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-DOC-FP-005-001SRS-AUTH-003
SRS-TCH-001
SRS-GUA-001
AC-AUTH-003
AC-TCH-001
AC-GUA-001
Voor gebruikers met Docent en Ouder/voogd één gecombineerde frontpage tonen
REQ-UC-DOC-FP-005-002SRS-AUTH-003
SRS-TCH-001
AC-AUTH-003
AC-TCH-001
In de gecombineerde frontpage één gezamenlijk introblok tonen
REQ-UC-DOC-FP-005-003SRS-TCH-001
SRS-GUA-001
AC-TCH-001
AC-GUA-001
Docentblokken vóór ouder-/voogdblokken tonen
REQ-UC-DOC-FP-005-004SRS-TCH-001
SRS-GUA-001
AC-TCH-001
AC-GUA-001
Gegevens uit docentcontext en ouder-/voogdcontext functioneel gescheiden houden
REQ-UC-DOC-FP-005-005SRS-TCH-001
AC-TCH-001
Geen afzonderlijke persistente frontpagevariant per rolcombinatie vereisen
REQ-UC-DOC-FP-005-006SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Vervolgacties via de juiste rolcontext en routeguard laten verlopen