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-ID | Naam | Bestand |
|---|---|---|
| UC-DOC-OEF-001 | Oefeningen binnen categorie bekijken | uc-doc-oef-001_oefeningen-binnen-categorie-bekijken |
| UC-DOC-OEF-002 | Nieuwe oefening aanmaken | uc-doc-oef-002_nieuwe-oefening-aanmaken |
| UC-DOC-OEF-003 | Technische module selecteren | uc-doc-oef-003_technische-module-selecteren |
| UC-DOC-OEF-004 | Oefening configureren | uc-doc-oef-004_oefening-configureren |
| UC-DOC-OEF-005 | Oefening bewerken | uc-doc-oef-005_oefening-bewerken |
| UC-DOC-OEF-006 | Oefening activeren of in onderhoud zetten | uc-doc-oef-006_oefening-activeren-of-in-onderhoud-zetten |
| UC-DOC-OEF-007 | Oefening kopiëren vanuit open niveau | uc-doc-oef-007_oefening-kopieren-vanuit-open-niveau |
| UC-DOC-OEF-008 | Oefening testen als docent | uc-doc-oef-008_oefening-testen-als-docent |
| UC-DOC-OEF-009 | Testoefening opruimen | uc-doc-oef-009_testoefening-opruimen |
Relevante contexten
| Context | Betekenis |
|---|---|
| Docentcontext | De ingelogde gebruiker handelt vanuit een actieve docentrol. |
| Niveaucontext | De oefening hoort altijd bij een geselecteerd niveau. |
| Categoriecontext | De oefening wordt beheerd binnen een categorie die aan het niveau gekoppeld is. |
| Modulecontext | Elke concrete oefening verwijst naar precies één technische module uit ExerciseModules. |
| Collaboratorcontext | Een collaborator mag binnen een niveau aan categorieën, oefeningen en configuraties werken, maar krijgt daardoor geen leerlingtoegang. |
| Testcontext | Een 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
| Object | Gebruik binnen dit subdomein |
|---|---|
Exercises | Concrete docent-oefening binnen niveau- en categoriecontext. |
ExerciseModules | Technische module waar de oefening naar verwijst. |
ModuleConfigurationJsonBase64 | Generieke opslagvorm voor de module-specifieke configuratie. |
ExerciseHistory | Auditlaag voor aanmaak, kopie, configuratiewijziging, statuswijziging en herstelacties. |
Levels | Niveau waarbinnen de oefening wordt beheerd. |
Categories | Centrale categorie-identiteit. |
LevelCategories | Koppeling tussen niveau en categorie. |
LevelCollaborators | Bepaalt of een docent naast eigenaar ook als collaborator mag beheren. |
ExerciseRuns | Alleen relevant voor testmodus wanneer IsTestRun = true. |
ExerciseRunProgress | Tijdelijke 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
ParentExerciseIdnaar de bronoefening en start In onderhoud. - Leerlingruns, resultaten en geschiedenis worden nooit meegekopieerd.
- Docenttests krijgen
IsTestRun = trueen 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.
| PopupKey | Gebruik |
|---|---|
POP-DOC-OEF-COPY-CONFIRM | Bevestigen dat een zelfstandige kopie vanuit een open niveau wordt aangemaakt. |
POP-DOC-OEF-COPY-SUCCESS | Terugkoppelen dat de kopie in onderhoud is aangemaakt. |
POP-DOC-OEF-COPY-BLOCKED | Uitleggen 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
| Subdomein | Samenhang |
|---|---|
| Oefenaanbod, niveaus en categorieën | Bepaalt niveau- en categoriecontext waarin concrete oefeningen worden beheerd. |
| Samenwerking en eigenaarschap | Bepaalt wanneer collaborators oefeningbeheer mogen uitvoeren. |
| Leerlingen en autorisaties | Bepaalt welke leerlingen toegang krijgen tot actieve oefeningen binnen geautoriseerde niveaus. |
| Resultaten en geschiedenis | Leest afgeronde leerlingruns, maar wijzigt oefeningconfiguraties niet. |
| Online en live meekijken | Gebruikt actieve leerlingruns en voortgang; docenttests zijn geen live-meekijkcontext. |
| Beheerder - modules beheren | Beheert technische modules centraal; docentusecases gebruiken modules alleen als beschikbare bron. |
| Beheerder - categorieën beheren | Beheert centrale categorie-identiteit; docentusecases koppelen of gebruiken categorieën binnen niveaucontext. |