Skip to main content

UC-DOC-FP-002 — Docentcontext bepalen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-FP-002
NaamDocentcontext bepalen
DomeinDocent / Frontpage en context
Primaire actorSysteem
Secundaire actor(en)Docent, OefenHub frontend, OefenHub backend, routeguard, autorisatielaag, database
RolcontextIngelogde gebruiker met een actieve docentrol of gecombineerde docentcontext.
Betrokken schermenDocent-frontpage, routeguard, contextresolver, rolgebaseerde navigatie.
Gerelateerde usecasesUC-DOC-FP-001 — Docent-frontpage bekijken; UC-DOC-FP-005 — Gecombineerde docent-ouder-frontpage tonen; UC-GEN-ACC-002 — Inloggen en sessie verwerken; UC-GEN-ACC-003 — Geen rol of onvolledig account afhandelen
Primaire entiteitenUsers, UserRoles, Roles, UserSettings
Secundaire entiteiten / eventsserver-side contextresolver, routeguardbeslissing, gecombineerd rolcontextmodel
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe OefenHub na login of bij het openen van een docentroute bepaalt of een docentcontext beschikbaar is. De contextbepaling is server-side applicatielogica en wordt niet als aparte sessietabel of contextentiteit opgeslagen.

De docentcontext bepaalt welke navigatie, frontpageblokken en vervolgpunten beschikbaar zijn. Wanneer de gebruiker daarnaast ook ouder/voogd of beheerder is, wordt de zichtbare frontpage volgens vaste prioriteitsregels samengesteld.

De usecase beschrijft niet het toekennen van rollen. Rollen worden elders beheerd; deze usecase gebruikt uitsluitend de actuele actieve roltoekenningen als input.

3. Scope

Deze usecase omvat wel:

  • server-side bepalen of de gebruiker een actieve docentrol heeft
  • negeren van inactieve of verlopen roltoekenningen
  • toepassen van vaste prioriteit bij gecombineerde rollen
  • bepalen welke docentnavigatie beschikbaar is
  • veilig blokkeren van docentroutes zonder geldige docentcontext
  • vaststellen dat persistent relevante contextkeuzes uit UserSettings mogen worden gelezen

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 heeft een geldige OefenHub-sessie.
PRE-002Actieve rollen kunnen uit UserRoles en Roles worden gelezen.
PRE-003De routeguard kan de gevraagde route classificeren als docentroute of gecombineerde rolroute.
PRE-004De applicatie kent de vaste prioriteitsvolgorde voor gecombineerde rolfrontpages.

5. Post-condities

IDResultaat
POST-001De docentcontext is server-side vastgesteld of veilig geweigerd.
POST-002Inactieve rollen zijn niet gebruikt voor zichtbaarheid of navigatie.
POST-003Er is geen aparte context- of sessietabel aangemaakt.
POST-004Bij gecombineerde rollen is de samenstelling volgens vaste prioriteit bepaald.
POST-005Ongeldige directe routes zijn niet geopend.

6. Trigger

De usecase start wanneer OefenHub na login, refresh of directe navigatie moet bepalen of een docentcontext beschikbaar is.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1OefenHub frontendRouteguardVraagt contextbepaling voor een docentroute of frontpage.Backend ontvangt route en server-side sessiecontext.Geen vertrouwen op clientstate.
2OefenHub backendAccountcontextLaadt het interne account.Actieve gebruiker wordt gevalideerd.Users.IsActive = true is vereist.
3OefenHub backendRolcontextLeest actieve roltoekenningen.Alleen actieve UserRoles tellen mee.Inactieve rollen worden genegeerd.
4OefenHub backendContextresolverControleert of rol Docent beschikbaar is.Docentcontext wordt beschikbaar of geweigerd.Docentrol is verplicht voor docentroutes.
5OefenHub backendPrioriteitsregelsControleert gecombineerde rollen.Samenstelling van frontpagecontext wordt bepaald.Beheerder > Docent > Ouder/voogd bij bredere combinaties.
6OefenHub backendUserSettingsLeest alleen persistent relevante voorkeuren.Voorkeuren mogen presentatie beïnvloeden, geen autorisatie.Geen nieuwe contextentiteit.
7OefenHub backendNavigatiemodelBepaalt zichtbare docentnavigatie.Oefenaanbod, Leerlingen en Online kunnen beschikbaar zijn.Routes blijven apart beschermd.
8OefenHub frontendFrontpage/navigatieRendert de toegestane context.Gebruiker ziet docentcontext of veilige blokkade.Geen domeinmutatie.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0013Geen actieve docentrolDocentroute wordt geblokkeerd.Routeguard/toegangafhandelingGeen
ALT-0023Alleen inactieve docentrol gevondenRol wordt niet gebruikt; docentcontext is niet beschikbaar.Routeguard/toegangafhandelingGeen
ALT-0035Gebruiker heeft Docent en Ouder/voogdGecombineerde frontpage wordt volgens vaste volgorde samengesteld.Niet van toepassingGeen
ALT-0045Gebruiker heeft Beheerder en DocentBeheerdercontext krijgt hogere prioriteit in gecombineerde frontpage.Niet van toepassingGeen
ALT-0056Voorkeur ontbreekt of is ongeldigSysteem gebruikt veilige default zonder autorisatie te wijzigen.Niet van toepassingGeen

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-002 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 bepaalt context en autoriseerbaarheid. Er worden geen rollen, voorkeuren of contextrecords aangemaakt of gewijzigd.

OnderdeelGedrag
AccountcontextWordt gelezen uit het actieve interne OefenHub-account.
RolcontextWordt afgeleid uit actieve UserRoles en Roles; inactieve roltoekenningen worden genegeerd.
Gecombineerde contextWordt runtime bepaald op basis van de actieve rollen en vaste prioriteitsregels.
VoorkeurenKunnen presentatie beïnvloeden, maar wijzigen geen zichtbare gegevensset of autorisatie.
DomeineventsNiet van toepassing; contextbepaling is autorisatie- en readmodelgedrag, geen persistente domeinmutatie.

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 docentcontext is geen opgeslagen statusobject maar een server-side afgeleide requestcontext.

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 dat docentcontext server-side wordt bepaald en dat clientstate geen rol- of frontpagecontext mag afdwingen.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, readmodels en tellers en frontendcompositie beschrijven de technische uitwerking. Leg de contextresolver vast als read-only autorisatielaag die actieve rollen, gecombineerde rollen en voorkeuren scheidt.
Software Requirements SpecificationBeschrijft requirements voor actieve docentrol, negeren van inactieve roltoekenningen, veilige blokkade zonder docentcontext en vaste prioriteit bij gecombineerde rollen.
Database-informatieBeschrijft dat rollen, roltoekenningen en gebruikersinstellingen voldoende informatie leveren voor contextbepaling zonder aparte contexttabel.
Ontwerpbronnen/registersVerwerk business rules, autorisatiematrix en usecase-schermmatrix; command- en eventregisters hoeven voor deze contextcontrole 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-002-001SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
De docentcontext server-side bepalen uit actieve rollen
REQ-UC-DOC-FP-002-002SRS-TCH-001
AC-TCH-001
Inactieve roltoekenningen niet gebruiken voor de docentcontext
REQ-UC-DOC-FP-002-003SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Docentroutes blokkeren wanneer geen actieve docentcontext beschikbaar is
REQ-UC-DOC-FP-002-004SRS-AUTH-003
SRS-TCH-001
AC-AUTH-003
AC-TCH-001
Gecombineerde frontpagecontexten volgens vaste prioriteit samenstellen
REQ-UC-DOC-FP-002-005SRS-TCH-001
AC-TCH-001
De contextkeuze niet als aparte sessie- of contextentiteit opslaan
REQ-UC-DOC-FP-002-006SRS-AUTH-001
SRS-ACC-003
SRS-RDM-008
SRS-TCH-001
AC-AUTH-001
AC-ACC-003
AC-RDM-008
AC-TCH-001
Voorkeuren alleen toepassen op presentatiegedrag en niet op autorisatie