Skip to main content

Oefeningen configureren en testen

Dit subdomein beschrijft hoe een docent concrete oefeningen binnen een categorie bekijkt, aanmaakt, configureert, bewerkt, activeert, kopieert en test. Het subdomein vormt de docentgerichte uitwerking van concrete oefeningen binnen de geselecteerde niveau- en categoriecontext.

De usecases in dit subdomein zijn procesgericht. Zij beschrijven niet ieder visueel detail van de schermen, maar leggen vast welke controles, beslissingen, datamutaties, module-interacties en auditregistraties nodig zijn om oefeningen veilig en voorspelbaar te beheren.

Usecase-overzicht

Usecase-IDNaamBestand
UC-DOC-OEF-001Oefeningen binnen categorie bekijkenuc-doc-oef-001_oefeningen-binnen-categorie-bekijken
UC-DOC-OEF-002Nieuwe oefening aanmakenuc-doc-oef-002_nieuwe-oefening-aanmaken
UC-DOC-OEF-003Technische module selecterenuc-doc-oef-003_technische-module-selecteren
UC-DOC-OEF-004Oefening configurerenuc-doc-oef-004_oefening-configureren
UC-DOC-OEF-005Oefening bewerkenuc-doc-oef-005_oefening-bewerken
UC-DOC-OEF-006Oefening activeren of in onderhoud zettenuc-doc-oef-006_oefening-activeren-of-in-onderhoud-zetten
UC-DOC-OEF-007Oefening kopiëren vanuit open niveauuc-doc-oef-007_oefening-kopieren-vanuit-open-niveau
UC-DOC-OEF-008Oefening testen als docentuc-doc-oef-008_oefening-testen-als-docent
UC-DOC-OEF-009Testoefening opruimenuc-doc-oef-009_testoefening-opruimen

Relevante contexten

ContextBetekenis
DocentcontextDe ingelogde gebruiker handelt vanuit een actieve docentrol.
NiveaucontextDe oefening hoort altijd bij een geselecteerd niveau.
CategoriecontextDe oefening wordt beheerd binnen een categorie die aan het niveau gekoppeld is.
ModulecontextElke concrete oefening verwijst naar precies één technische module uit ExerciseModules.
CollaboratorcontextEen collaborator mag binnen een niveau aan categorieën, oefeningen en configuraties werken, maar krijgt daardoor geen leerlingtoegang.
TestcontextEen docent kan een oefening testen zonder permanente leerlingresultaten of geschiedenis aan te maken.

Domeinafbakening

Binnen dit subdomein

  • bekijken van concrete oefeningen binnen een categorie;
  • starten van de nieuwe-oefeningflow;
  • selecteren van een technische module;
  • configureren van generieke en module-specifieke oefeninggegevens;
  • bewerken van bestaande oefeninggegevens;
  • activeren of in onderhoud zetten van concrete oefeningen;
  • kopiëren van oefeningen vanuit open niveaus;
  • testen van oefeningen als docent;
  • opruimen van tijdelijke docenttestruns.

Buiten dit subdomein

  • centraal modulebeheer door beheerders;
  • modulemigraties door beheerders;
  • centraal categoriebeheer en categoriemigratie;
  • leerlingniveau-autorisaties beheren;
  • leerlingresultaten en geschiedenis bekijken;
  • live meekijken;
  • relatie-uitnodigingen en docent-docentrelaties aanmaken;
  • account-, profiel- of toegankelijkheidsinstellingen beheren;
  • systeemnotificaties tonen of beheren.

Hoofdobjecten

ObjectGebruik binnen dit subdomein
ExercisesConcrete docent-oefening binnen niveau- en categoriecontext.
ExerciseModulesTechnische module waar de oefening naar verwijst.
ModuleConfigurationJsonBase64Generieke opslagvorm voor de module-specifieke configuratie.
ExerciseHistoryAuditlaag voor aanmaak, kopie, configuratiewijziging, statuswijziging en herstelacties.
LevelsNiveau waarbinnen de oefening wordt beheerd.
CategoriesCentrale categorie-identiteit.
LevelCategoriesKoppeling tussen niveau en categorie.
LevelCollaboratorsBepaalt of een docent naast eigenaar ook als collaborator mag beheren.
ExerciseRunsAlleen relevant voor testmodus wanneer IsTestRun = true.
ExerciseRunProgressTijdelijke voortgang tijdens docenttests.

Bijzondere regels

  • Een concrete oefening hoort altijd bij een niveau- en categoriecontext.
  • Een concrete oefening verwijst naar precies één ExerciseModules-record.
  • De module-specifieke configuratie wordt generiek opgeslagen als JSON/base64-payload.
  • Nieuwe oefeningen staan standaard In onderhoud.
  • Een oefening In onderhoud is niet zichtbaar of startbaar voor leerlingen.
  • Activeren of in onderhoud zetten wordt auditbaar vastgelegd.
  • Kopiëren vanuit een open niveau maakt een zelfstandige kopie en wijzigt de bron niet.
  • Een kopie krijgt ParentExerciseId naar de bronoefening en start In onderhoud.
  • Leerlingruns, resultaten en geschiedenis worden nooit meegekopieerd.
  • Docenttests krijgen IsTestRun = true en leveren geen permanente leerlingresultaten op.
  • Testruns tellen niet mee voor geschiedenis, statistieken, populaire categorieën, recent geoefend of frontpageblokken.
  • Achtergebleven testruns worden direct of via scheduler opgeruimd.
  • Beheer van technische modules blijft buiten docentusecases.

Popupverwijzingen

De meeste flows gebruiken inline validatie, routeguardafhandeling of bestaande formuliercomponenten. Waar een expliciete bevestiging of blokkade nodig is, verwijzen de usecases naar popupkeys. Popupteksten, knopteksten en themakeuzes horen in het centrale popup-register en worden niet in deze intro gedupliceerd.

PopupKeyGebruik
POP-DOC-OEF-COPY-CONFIRMBevestigen dat een zelfstandige kopie vanuit een open niveau wordt aangemaakt.
POP-DOC-OEF-COPY-SUCCESSTerugkoppelen dat de kopie in onderhoud is aangemaakt.
POP-DOC-OEF-COPY-BLOCKEDUitleggen dat kopiëren niet mogelijk is door bron-, doel- of modulecontext.

Diagramgebruik

In dit subdomein worden vooral sequence diagrams en decision flows gebruikt. Sequence diagrams zijn nuttig omdat oefeningbeheer interactie heeft met frontend, backend, database en technische module-interface. Decision flows zijn nuttig bij modulebeschikbaarheid, bewerkrechten, statuswissels, kopiëren en testdata-opruiming.

State diagrams worden alleen gebruikt waar een echte of functioneel relevante lifecycle zichtbaar wordt, zoals de overgang tussen In onderhoud en Actief of de tijdelijke lifecycle van testruns.

Samenhang met andere subdomeinen

SubdomeinSamenhang
Oefenaanbod, niveaus en categorieënBepaalt niveau- en categoriecontext waarin concrete oefeningen worden beheerd.
Samenwerking en eigenaarschapBepaalt wanneer collaborators oefeningbeheer mogen uitvoeren.
Leerlingen en autorisatiesBepaalt welke leerlingen toegang krijgen tot actieve oefeningen binnen geautoriseerde niveaus.
Resultaten en geschiedenisLeest afgeronde leerlingruns, maar wijzigt oefeningconfiguraties niet.
Online en live meekijkenGebruikt actieve leerlingruns en voortgang; docenttests zijn geen live-meekijkcontext.
Beheerder - modules beherenBeheert technische modules centraal; docentusecases gebruiken modules alleen als beschikbare bron.
Beheerder - categorieën beherenBeheert centrale categorie-identiteit; docentusecases koppelen of gebruiken categorieën binnen niveaucontext.