Skip to main content

UC-BEH-DOCSUP-007 — Concrete oefeningconfiguratie openen

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-DOCSUP-007
NaamConcrete oefeningconfiguratie openen
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-003, UC-BEH-DOCSUP-004, UC-BEH-DOCSUP-005, UC-BEH-DOCSUP-006, 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 een beheerder de volledige configuratie van één concrete docent-oefening opent voor supportanalyse.

De configuratie bestaat uit generieke oefeningmetadata en een modulespecifieke configuratiepayload. De technische module blijft eigenaar van interpretatie en rendering van modulespecifieke instellingen.

De usecase is raadplegend. Wijzigen van concrete oefeningconfiguratie door beheer valt buiten deze usecase en vereist een expliciete beheeractie met audit.

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:

  • Openen van de volledige configuratie van een concrete docent-oefening.
  • Tonen van generieke metadata en modulespecifieke payload in een veilige supportvorm.
  • Aangeven wanneer de gekoppelde module ontbreekt of niet meer resolveerbaar is.
  • Blokkeren van configuraties buiten de gekozen docentcontext.
  • Voorkomen dat historische runs of leerlingresultaten worden herschreven.

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-005Een oefeningdetail is geopend via UC-BEH-DOCSUP-006.
PRE-006De gekoppelde technische module is beschikbaar of de configuratie kan veilig historisch gelezen worden.

5. Post-condities

IDResultaat
POST-001De beheerder ziet de concrete configuratiecontext.
POST-002De modulespecifieke interpretatie is via module-rendering of veilige fallback zichtbaar.
POST-003Geen configuratie is gewijzigd in deze usecase.
POST-004Geen historische run of resultaat is gewijzigd.
POST-005Eventuele ontbrekende module wordt veilig afgehandeld.

6. Trigger

De usecase start wanneer de beheerder vanuit het oefeningdetail de actie Configuratie openen kiest.

7. Normale processtroom

StapActorComponent / contextHandelingResultaatBelangrijke gegevens
1BeheerderOefeningdetailKiest Configuratie openen.De frontend vraagt configuratiedetail op.ExerciseId.
2BackendAutorisatiecomponentControleert beheerdercontext.Alleen beheerder mag supportconfiguratie openen.Server-side rolcontext.
3BackendDocentContextServiceValideert ExerciseId binnen docentcontext.Oefening buiten context wordt geweigerd.Exercises.
4BackendConfiguratieServiceLaadt generieke metadata en payload.Configuratiecontext wordt opgebouwd.Exercises.ConfigurationPayload.
5BackendModuleStrategyProbeert modulespecifieke renderhulp te gebruiken.Configuratie wordt begrijpelijk weergegeven wanneer mogelijk.ExerciseModules.CodeReference.
6FrontendConfiguratiepaneelToont configuratie of veilige fallback.Beheerder kan supportanalyse uitvoeren.Readonly supportweergave.

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-007-001Configuratie openen is geen impliciete bewerkactie.
BR-UC-BEH-DOCSUP-007-002De modulespecifieke payload blijft generiek opgeslagen en modulespecifiek geïnterpreteerd.
BR-UC-BEH-DOCSUP-007-003Ontbrekende of niet-resolveerbare module mag de supportweergave niet onveilig laten falen.
BR-UC-BEH-DOCSUP-007-004Historische runs worden niet herberekend of aangepast.
BR-UC-BEH-DOCSUP-007-005Vrije JSON-wijziging in de GUI is niet toegestaan binnen deze usecase.
BR-UC-BEH-DOCSUP-007-006De configuratie mag alleen worden geopend vanuit een gevalideerde docentcontext.

10. Datavalidatie

IDValidatie
VAL-UC-BEH-DOCSUP-007-001ExerciseId is verplicht.
VAL-UC-BEH-DOCSUP-007-002ExerciseId moet binnen de gekozen docentcontext vallen.
VAL-UC-BEH-DOCSUP-007-003ConfigurationPayload wordt server-side gelezen.
VAL-UC-BEH-DOCSUP-007-004Module-rendering gebruikt de CodeReference uit de database, niet clientinput.
VAL-UC-BEH-DOCSUP-007-005Payloadweergave moet veilig geëncodeerd zijn.
VAL-UC-BEH-DOCSUP-007-006Ontbrekende module wordt als supportfout afgehandeld zonder mutatie.

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 benoemt dat de concrete oefeningdetail een actie biedt om volledige configuratie te openen.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, oefencatalogus, relatiebeheer en logging en historie beschrijven de technische uitwerking. TO vereist veilige payloadweergave en module-rendering via de strategy-interface wanneer de gekoppelde module beschikbaar is.
Software Requirements SpecificationSRS moet vastleggen dat configuratie-inzage niet gelijkstaat aan configuratiewijziging.
DatabaseLeest Exercises.ConfigurationPayload en ExerciseModules; 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-007-001SRS-CAT-003
SRS-LRN-009
SRS-TCH-002
SRS-ADM-001
AC-CAT-003
AC-LRN-009
AC-TCH-002
AC-ADM-001
De concrete oefeningconfiguratie alleen openen binnen een geldige docentcontext
REQ-UC-BEH-DOCSUP-007-002SRS-LRN-009
SRS-ADM-004
SRS-ADM-001
SRS-MOD-003
AC-LRN-009
AC-ADM-004
AC-ADM-001
AC-MOD-003
Generieke oefeningmetadata en modulespecifieke configuratiepayload kunnen tonen
REQ-UC-BEH-DOCSUP-007-003SRS-ADM-004
SRS-ADM-001
SRS-MOD-003
SRS-NFR-SEC-001
AC-ADM-004
AC-ADM-001
AC-MOD-003
AC-NFR-SEC-001
Module-rendering gebruiken wanneer beschikbaar en veilig terugvallen wanneer niet beschikbaar
REQ-UC-BEH-DOCSUP-007-004SRS-ADM-001
AC-ADM-001
Configuratie openen niet behandelen als wijziging
REQ-UC-BEH-DOCSUP-007-005SRS-LRN-009
SRS-ADM-001
AC-LRN-009
AC-ADM-001
Historische runs of resultaten niet herschrijven bij configuratie-inzage
REQ-UC-BEH-DOCSUP-007-006SRS-ADM-001
SRS-NFR-SEC-001
AC-ADM-001
AC-NFR-SEC-001
Payloadweergave veilig coderen en geen actieve inhoud renderen
REQ-UC-BEH-DOCSUP-007-007SRS-ADM-004
SRS-ADM-001
SRS-MOD-003
SRS-NFR-SEC-001
AC-ADM-004
AC-ADM-001
AC-MOD-003
AC-NFR-SEC-001
Ontbrekende modulekoppelingen veilig afhandelen