Skip to main content

UC-DOC-FP-004 — Niveaus- en inhoudsamenvatting tonen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-FP-004
NaamNiveaus- en inhoudsamenvatting tonen
DomeinDocent / Frontpage en context
Primaire actorDocent
Secundaire actor(en)OefenHub frontend, OefenHub backend, database, oefenaanbod-readmodel, autorisatielaag
RolcontextIngelogde gebruiker met actieve docentcontext.
Betrokken schermenDocent-frontpage, blok Niveaus & inhoud, navigatie naar Oefenaanbod.
Gerelateerde usecasesUC-DOC-FP-001 — Docent-frontpage bekijken; UC-DOC-FP-002 — Docentcontext bepalen; UC-DOC-AANB-001 — Oefenaanbod openen; UC-DOC-AANB-002 — Niveau selecteren; UC-DOC-OEF-001 — Oefeningen binnen categorie bekijken
Primaire entiteitenTeacherLevels, TeacherLevelCategories, Categories, Exercises, ExerciseModules, LevelCollaborators
Secundaire entiteiten / eventsniveaus-en-inhoud-readmodel, collaboratorcontext, routeverwijzing naar Oefenaanbod
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe de docent-frontpage een compacte samenvatting toont van niveaus en inhoud binnen de actuele docentcontext. Het blok geeft de docent oriëntatie op beheerde niveaus, gekoppelde categorieën, concrete oefeningen en eventueel actieve collaborators.

De samenvatting voert geen beheer uit. Niveaus aanmaken, categorieën koppelen, oefeningen configureren en collaborators beheren blijven achterliggende routes met eigen usecases.

De frontpage telt alleen objecten die binnen de actuele docentcontext relevant zijn. Waar een docent collaborator is in plaats van eigenaar, moet de samenvatting dat kunnen respecteren zonder rechten te verruimen.

3. Scope

Deze usecase omvat wel:

  • tonen van compacte aantallen rond niveaus, categorieën en oefeningen
  • onderscheiden van eigenaarschap en collaboratorcontext waar relevant
  • verwijzen naar de reguliere route Oefenaanbod
  • tonen van een veilige lege staat wanneer geen niveaus of inhoud bestaan
  • afleiden van zichtbare inhoud uit bestaande docentstructuurdata
  • voorkomen dat inhoud vanaf de frontpage wordt gewijzigd

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 docentcontext is server-side vastgesteld.
PRE-002Niveau-, categorie-, oefening- en collaboratorgegevens zijn uitleesbaar.
PRE-003De betekenis van elk getoond inhoudsaantal is eenduidig gedefinieerd.
PRE-004De frontpage is niet bedoeld voor mutaties aan oefenaanbod.

5. Post-condities

IDResultaat
POST-001De docent ziet een inhoudssamenvatting binnen de actuele context.
POST-002Er zijn geen niveaus, categorieën, oefeningen of collaboratorrecords gewijzigd.
POST-003De reguliere Oefenaanbod-route blijft de ingang voor inhoudelijke acties.
POST-004Lege of beperkte toestanden zijn veilig weergegeven.

6. Trigger

De usecase start wanneer de docent-frontpage het blok Niveaus & inhoud moet samenstellen.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1OefenHub backendDocentcontextOntvangt de vastgestelde docentcontext.Backend gebruikt actuele context voor filtering.UC-DOC-FP-002.
2OefenHub backendNiveau-readmodelBepaalt relevante niveaus.Eigen niveaus en toegestane collaboratorniveaus worden volgens regels meegenomen.Geen rechtenuitbreiding.
3OefenHub backendCategorie-readmodelBepaalt gekoppelde categorieën binnen relevante niveaus.Alleen actieve of contextueel relevante koppelingen tellen mee.Categoriebeheer blijft elders.
4OefenHub backendOefening-readmodelBepaalt concrete oefeningen binnen relevante categorieën.Actieve en onderhoudsstatus kunnen apart worden afgeleid indien functioneel nodig.Geen configuratiemutatie.
5OefenHub backendCollaborator-readmodelBepaalt relevante collaboratorcontext.Samenvatting kan actieve collaborators tonen of tellen.Geen collaboratorbeheer.
6OefenHub backendFrontpage readmodelStelt compacte inhoudssamenvatting samen.Waarden zijn eenduidig en contextgebonden.Geen frontpagecache als bron.
7OefenHub frontendBlok Niveaus & inhoudRendert de samenvatting.Docent ziet overzicht en route naar Oefenaanbod.Geen datamutatie.
8DocentDocent-frontpageKiest eventueel de Oefenaanbod-route.Systeem opent reguliere oefenaanbodflow.Vervolgusecase buiten deze usecase.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Docent heeft nog geen niveausBlok toont veilige lege staat en route naar Oefenaanbod.Componentmelding / lege staatGeen
ALT-0022Docent is alleen collaborator op niveausSamenvatting toont alleen wat binnen collaboratorcontext zichtbaar mag zijn.Niet van toepassingGeen
ALT-0034Er zijn categorieën zonder actieve oefeningenSamenvatting telt of toont dit alleen wanneer de definitie dat toestaat.Componentmelding / neutrale waardeGeen
ALT-0046Een tellerdefinitie is onduidelijkWaarde wordt niet getoond totdat de definitie eenduidig is in ontwerpbron.Generieke foutafhandelingGeen

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-004 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 toont een afgeleide samenvatting van niveaus en onderwijsinhoud. Er worden geen niveaus, categorieën, oefeningen, modules of collaboratorrecords gewijzigd.

OnderdeelGedrag
NiveausWorden gelezen binnen eigenaarschap of toegestane collaboratorcontext van de docent.
CategorieënWorden geteld vanuit bestaande koppelingen binnen de relevante niveaus.
OefeningenWorden geteld of samengevat op basis van bestaande oefeningen en hun status volgens de tellerdefinitie.
CollaboratorsKunnen als contextinformatie meetellen, maar wijzigen geen rechten of koppelingen.
DomeineventsNiet van toepassing; de inhoudssamenvatting 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 niveaus- en inhoudsamenvatting wijzigt geen status van niveau, categorie, oefening, module of collaborator.

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 het blok Niveaus & inhoud als compacte samenvatting die naar Oefenaanbod verwijst maar geen inhoudelijke beheeractie uitvoert.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, readmodels en tellers en frontendcompositie beschrijven de technische uitwerking. Leg tellerdefinities vast voor beheerde niveaus, actieve categorieën, oefeningen en collaboratorcontext binnen de docentcontext.
Software Requirements SpecificationBeschrijft requirements voor contextgebonden inhoudssamenvattingen, veilige lege staten en routeguardcontrole bij doorklikken naar Oefenaanbod.
Database-informatieBeschrijft dat niveau-, categorie-, oefening-, module- en collaboratorrecords voldoende statusinformatie bevatten voor eenduidige tellingen.
Ontwerpbronnen/registersVerwerk business rules, autorisatiematrix en usecase-matrices; er is geen uitbreiding van command- of eventregister nodig.

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-004-001SRS-RDM-001
SRS-RDM-002
SRS-RDM-005
SRS-TCH-001
AC-RDM-001
AC-RDM-002
AC-RDM-005
AC-TCH-001
Inhoudssamenvattingen beperken tot de actuele docentcontext
REQ-UC-DOC-FP-004-002SRS-RDM-001
SRS-RDM-003
SRS-RDM-005
SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
AC-RDM-001
AC-RDM-003
AC-RDM-005
AC-CAT-001
AC-LRN-009
AC-TCH-002
Niveaus, categorieën en oefeningen als afgeleide frontpagewaarden tonen
REQ-UC-DOC-FP-004-003SRS-CAT-001
SRS-TCH-001
AC-CAT-001
AC-TCH-001
Geen oefenaanbodmutaties vanaf de frontpage uitvoeren
REQ-UC-DOC-FP-004-004SRS-RDM-001
SRS-RDM-002
SRS-TCH-006
AC-RDM-001
AC-RDM-002
AC-TCH-006
Collaboratorcontext respecteren bij inhoudssamenvattingen
REQ-UC-DOC-FP-004-005SRS-TCH-001
SRS-NFR-SEC-001
AC-TCH-001
AC-NFR-SEC-001
Veilige lege toestanden tonen wanneer nog geen inhoud bestaat
REQ-UC-DOC-FP-004-006SRS-CAT-001
SRS-TCH-001
AC-CAT-001
AC-TCH-001
De reguliere Oefenaanbod-route gebruiken voor inhoudelijke vervolgacties