Skip to main content

UC-BEH-DOCSUP-003 — Docentstructuur inspecteren

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-DOCSUP-003
NaamDocentstructuur inspecteren
DomeinBeheerder / Docentondersteuning
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, docentondersteuningcomponent, historiecomponent
RolcontextActieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenContent > Docent ondersteuning
Gerelateerde usecasesUC-BEH-DOCSUP-001, UC-BEH-DOCSUP-002, UC-BEH-DOCSUP-004, UC-BEH-DOCSUP-005, UC-BEH-DOCSUP-006, UC-BEH-DOCSUP-007, UC-BEH-DOCSUP-008, UC-BEH-DOCSUP-009, UC-BEH-DOCSUP-010, UC-BEH-DOCSUP-011, UC-BEH-DOCSUP-012, UC-BEH-DOCSUP-013, UC-BEH-DOCSUP-014
Primaire entiteitenUsers, UserRoles, Roles, TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, ExerciseModules, ExerciseHistory, LevelCollaborators, LevelStudentAuthorizations, UserRelationships
Secundaire entiteiten / eventsRelationshipEvents, SystemMessages, beheerlog, docentondersteuning-readmodels, autorisatiecomponent
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe de beheerder binnen de tab Structuur de onderwijsstructuur van één docent bekijkt. De structuur wordt hiërarchisch getoond als niveau → categorie → oefening.

De tab ondersteunt één zoekveld dat gelijktijdig zoekt op namen van niveaus, categorieën en concrete oefeningen. Er worden geen aanvullende filters verondersteld.

Niveaus, categorieën en oefeningen zijn klikbaar en openen rechts een contextafhankelijk detailpaneel. De tab zelf wijzigt geen structuur.

Uitgangspunten

  • Docentondersteuning werkt altijd vanuit één gekozen docentcontext.
  • De beheerder heeft supportgerichte inzage, maar mutaties blijven beperkt tot expliciete beheeracties met audit.
  • Centrale categorie- en module-identiteit worden niet vanuit deze pagina beheerd.
  • Server-side autorisatie is leidend; clientstate mag geen objecttoegang afdwingen.
  • Historische runs, resultaten en PDF-contexten worden niet herschreven.

3. Scope

Deze usecase beschrijft:

  • Tonen van de hiërarchische structuur niveau → categorie → oefening.
  • Zoeken binnen niveaus, categorieën en concrete oefeningen.
  • Selecteren van een niveau, categorie of oefening voor detailweergave.
  • Expliciet readonly houden van de structuurinspectie.
  • Afhandelen van lege structuur of zoekresultaten.

Deze usecase beschrijft niet:

  • Centraal categoriebeheer; dat blijft bronhoudend in Beheerder / Categorieën beheren.
  • Centraal technisch modulebeheer; dat blijft bronhoudend in Beheerder / Modules beheren.
  • Volledig account- en rolbeheer; dat blijft bronhoudend in Beheerder / Accountbeheer.
  • Reguliere docentflows vervangen; docentondersteuning is supportgericht en niet de primaire docentinterface.
  • Live meekijken tijdens actieve oefeningen; beheerders mogen geschiedenis analyseren, maar niet live meekijken.
  • Popupteksten, knopteksten of inputlabels specificeren; usecases verwijzen uitsluitend naar PopupKey.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Docent / OefenaanbodDocenten beheren hun eigen niveaus, categorieën en oefeningen via de reguliere docentflows; docentondersteuning biedt beheerderinzage en gerichte correctie.
Beheerder / Categorieën beherenCentrale categorie-identiteit, migratie en statuswijziging worden daar beheerd, niet in docentondersteuning.
Beheerder / Modules beherenTechnische modulemetadata en modulemigraties worden daar beheerd; docentondersteuning kan alleen concrete oefeningcontext inspecteren.
Beheerder / AccountbeheerRollen, accountstatus en account lifecycle horen daar; docentondersteuning gebruikt bestaande account- en relatiecontext.
Generiek / RelatiesRelaties en uitnodigingen blijven bronhoudend in het relatiedomein; docentondersteuning kan alleen bestaande geldige context gebruiken of een expliciete beheeractie auditen.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd in OefenHub.
PRE-002De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft.
PRE-003De beheerder bevindt zich binnen de beheeromgeving via Content > Docent ondersteuning.
PRE-004De pagina gebruikt actuele serverdata; clientstate, routeparameters of verborgen formuliervelden bepalen geen autorisatie, docentcontext, niveaucontext of oefeningcontext.
PRE-005De ondersteuningsweergave voor één docent is geopend.
PRE-006De geselecteerde docentcontext bevat nul of meer niveaus, categorieën en oefeningen.

5. Post-condities

IDResultaat
POST-001De beheerder ziet de docentstructuur.
POST-002Zoekresultaten blijven binnen de gekozen docentcontext.
POST-003Selectie van een object opent het juiste detailpaneel.
POST-004Geen niveau, categorie, oefening of koppeling is gewijzigd.
POST-005Centrale categorie- en modulegegevens worden niet vanuit deze tab beheerd.

6. Trigger

De usecase start wanneer de beheerder de tab Structuur opent binnen de ondersteuningsweergave van één docent.

7. Normale processtroom

StapActorComponent / contextHandelingResultaatBelangrijke gegevens
1BeheerderSupportdetailOpent tab Structuur.De frontend vraagt de hiërarchische structuur op.Geselecteerde docentcontext.
2BackendAutorisatiecomponentValideert beheerder en docentcontext.Alleen geautoriseerde inzage.Server-side context.
3BackendStructuurServiceLaadt niveaus van de docent.Niveauknooppunten worden opgebouwd.TeacherLevels.
4BackendStructuurServiceLaadt categorieën per niveau.Categorieën worden onder niveaus geplaatst.TeacherLevelCategories, Categories.
5BackendStructuurServiceLaadt concrete oefeningen per categorie.Oefeningen worden onder categorieën geplaatst.TeacherLevelCategoryExercises, Exercises.
6FrontendStructuurboomToont structuur en zoekveld.De beheerder kan zoeken of objecten selecteren.Read-only boom.
7BeheerderStructuurboomKlikt niveau, categorie of oefening.Het bijbehorende detailpaneel opent.ObjectType en ObjectId.

8. Alternatieve en exceptionele processtromen

StapSituatieAfhandelingPopupKeyDatamutatie
2Beheerdercontext is ongeldig.De backend weigert de actie en toont een veilige blokkade.POP-BEH-DOCSUP-NO-ACCESSGeen.
3De geselecteerde docent bestaat niet of is niet toegankelijk.De ondersteuningsweergave wordt niet geopend of wordt veilig teruggezet naar het overzicht.POP-BEH-DOCSUP-SAVE-ERRORGeen.
4Het gekozen object bestaat niet meer.De pagina toont dat het object niet beschikbaar is en ververst de context.Niet van toepassingGeen.
5De readmodeldata is tijdelijk incompleet.De beschikbare gegevens worden getoond met veilige ontbrekend-status; ontbrekend wordt niet als nul geïnterpreteerd.Niet van toepassingGeen.
6De beheerder gebruikt een oude route of clientstate.De backend negeert de clientcontext en herleidt de actuele context opnieuw.Niet van toepassingGeen.

9. Business rules

IDBusiness rule
BR-UC-BEH-DOCSUP-003-001De structuurboom is readonly.
BR-UC-BEH-DOCSUP-003-002Zoeken mag alleen binnen de gekozen docentcontext plaatsvinden.
BR-UC-BEH-DOCSUP-003-003Een categorie in deze boom is een gebruik binnen een docentniveau en niet de centrale categoriebeheerpagina.
BR-UC-BEH-DOCSUP-003-004Een oefening in deze boom is een concrete docent-oefening en niet de technische module zelf.
BR-UC-BEH-DOCSUP-003-005Lege niveaus mogen zichtbaar zijn wanneer zij relevant zijn voor support.
BR-UC-BEH-DOCSUP-003-006Niet-actieve oefeningen worden alleen getoond wanneer dat functioneel nodig is voor supportanalyse en duidelijk als zodanig gelabeld.

10. Datavalidatie

IDValidatie
VAL-UC-BEH-DOCSUP-003-001Docentcontext is verplicht.
VAL-UC-BEH-DOCSUP-003-002Zoekterm wordt server-side toegepast of server-side begrensd.
VAL-UC-BEH-DOCSUP-003-003Objectselectie moet overeenkomen met objecttype niveau, categorie of oefening.
VAL-UC-BEH-DOCSUP-003-004Een geselecteerd object moet binnen de gekozen docentcontext vallen.
VAL-UC-BEH-DOCSUP-003-005Objecten uit andere docenten mogen niet via routeparameters worden geïnjecteerd.
VAL-UC-BEH-DOCSUP-003-006Historische of inactieve objecten worden alleen getoond met duidelijke status.

11. Datamutaties en events

Object / eventMutatie
Geen functionele mutatieDeze usecase raadpleegt of navigeert zonder inhoudelijke domeinwijziging.
Geen eventEr wordt geen historyrecord geschreven voor alleen raadplegen.

12. Geen datamutaties

ObjectWaarom geen mutatie
UsersAlleen gelezen voor actor- en docentcontext.
TeacherLevelsAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
TeacherLevelCategoriesAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
TeacherLevelCategoryExercisesAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
ExercisesAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
ExerciseRunsHistorische runs worden nooit herschreven.

13. State diagram

Niet van toepassing.

Deze usecase wijzigt geen persistent statusobject. De getoonde selectie-, detail-, zoek- of navigatietoestand is uitsluitend tijdelijke UI-state binnen de beheerderweergave en wordt niet als domeinstatus opgeslagen.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruik
Niet van toepassingDeze usecase gebruikt geen popupregister-popup.

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

OnderdeelAfleiding
Functioneel OntwerpFO beschrijft Structuur als hiërarchie niveau → categorie → oefening met één gecombineerd zoekveld.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, oefencatalogus, relatiebeheer en logging en historie beschrijven de technische uitwerking. TO vereist een readmodel dat docentniveau, categoriekoppelingen en concrete oefeningen samenbrengt.
Software Requirements SpecificationSRS moet vastleggen welke statussen zichtbaar zijn en hoe zoeken binnen de docentcontext werkt.
DatabaseLeest TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises en Exercises; schrijft niets.

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-DOCSUP-003-001SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
SRS-ADM-001
AC-CAT-001
AC-LRN-009
AC-TCH-002
AC-ADM-001
De docentstructuur hiërarchisch tonen als niveau, categorie en oefening
REQ-UC-BEH-DOCSUP-003-002SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
SRS-ADM-001
AC-CAT-001
AC-LRN-009
AC-TCH-002
AC-ADM-001
Één zoekveld ondersteunen dat zoekt op niveaus, categorieën en oefeningen binnen de docentcontext
REQ-UC-BEH-DOCSUP-003-003SRS-AUTH-001
SRS-TCH-001
SRS-ADM-001
AC-AUTH-001
AC-TCH-001
AC-ADM-001
Objectselecties server-side valideren binnen de gekozen docentcontext
REQ-UC-BEH-DOCSUP-003-004SRS-CAT-001
SRS-LRN-009
SRS-ADM-004
SRS-ADM-001
SRS-MOD-003
AC-CAT-001
AC-LRN-009
AC-ADM-004
AC-ADM-001
AC-MOD-003
Vanuit de structuurinspectie geen categorie-, module- of oefeningmutatie uitvoeren
REQ-UC-BEH-DOCSUP-003-005SRS-CAT-002
SRS-TCH-002
SRS-ADM-001
AC-CAT-002
AC-TCH-002
AC-ADM-001
Onderscheid maken tussen centrale categorie-identiteit en categoriegebruik binnen een docentniveau
REQ-UC-BEH-DOCSUP-003-006SRS-LRN-009
SRS-TCH-002
SRS-ADM-004
SRS-ADM-001
SRS-MOD-003
AC-LRN-009
AC-TCH-002
AC-ADM-004
AC-ADM-001
AC-MOD-003
Concrete docent-oefeningen onderscheiden van technische modules
REQ-UC-BEH-DOCSUP-003-007SRS-ADM-008
SRS-ADM-001
SRS-NFR-SEC-001
AC-ADM-008
AC-ADM-001
AC-NFR-SEC-001
Lege of inactieve onderdelen veilig en herkenbaar tonen wanneer zij relevant zijn voor support