Skip to main content

UC-DOC-OEF-003 - Technische module selecteren

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-OEF-003
NaamTechnische module selecteren
DomeinDocent
SubdomeinOefeningen configureren en testen
Primaire actorDocent
Secundaire actor(en)Systeem, technische module-interface
RolcontextDocentcontext met toegang tot het geselecteerde niveau
Betrokken schermenDocent - Nieuwe oefening, modulekeuze, modulebeschrijving
Gerelateerde usecasesUC-DOC-OEF-002, UC-DOC-OEF-004, UC-DOC-OEF-008
Primaire entiteitenExerciseModules
Secundaire entiteiten / eventsLevels, LevelCategories, Categories, LevelCollaborators, Exercises
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een docent tijdens het aanmaken van een nieuwe oefening één technische module selecteert. De module bepaalt welke oefenlogica en configuratievelden daarna beschikbaar zijn.

Beschikbare modules komen uit ExerciseModules. De docent kiest een functionele moduleweergave; technische implementatiedetails zoals CodeReference zijn niet vrij bewerkbaar.

Het selecteren van een module slaat nog geen oefening op. De selectie opent de passende modulespecifieke configuratieflow.

3. Scope

3.1 Binnen scope

  • Tonen van selecteerbare technische modules.
  • Filteren op actieve modules.
  • Filteren op test-zichtbaarheid en TestDocent-context.
  • Tonen van functionele module-informatie.
  • Selecteren van precies één module.
  • Server-side valideren van de modulekeuze.
  • Openen van de modulespecifieke configuratieflow.

3.2 Buiten scope

  • Technische module beheren.
  • Modulemigratie uitvoeren.
  • Configuratievelden invullen en opslaan.
  • Oefening activeren.
  • Oefening testen.
  • Modulecompatibiliteit bewijzen.
  • Leerlingresultaten bekijken of wijzigen.
  • Relatie-uitnodigingen of docent-leerlingrelaties beheren.
  • Account-, profiel- of toegankelijkheidsinstellingen wijzigen.
  • Systeemnotificaties beheren of tonen.
  • Centrale beheerderflows voor modules of categorieën uitvoeren.

4. Pre-condities

IDVoorwaarde
PRE-001De docent is ingelogd.
PRE-002De gebruiker heeft een actieve docentrol.
PRE-003Er is een geldig niveau geselecteerd.
PRE-004De docent heeft bewerkrechten binnen het niveau.
PRE-005Er is een categorie geselecteerd.
PRE-006De categorie is actief gekoppeld aan het niveau.
PRE-007De nieuwe-oefening-flow is geldig gestart.
PRE-008Er bestaat minimaal één selecteerbare module.
PRE-009Modulemetadata is beschikbaar.
PRE-010De module-interface kan voor configuratie worden aangesproken.

5. Post-condities

IDResultaat
POST-001De docent heeft één module gekozen.
POST-002De modulekeuze is server-side gevalideerd.
POST-003De configuratieflow voor de gekozen module is geopend.
POST-004Er is nog geen definitieve oefening opgeslagen.
POST-005Niet-toegestane modules zijn niet selecteerbaar.
POST-006De niveau- en categoriecontext blijft behouden.

6. Trigger

Het systeem opent na de nieuwe-oefening-flow de stap waarin de docent een technische module moet kiezen.

De docent selecteert een modulekaart of lijstregel om de configuratiefase te starten.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1SysteemModulekeuzeLaadt aanmaakcontextContext wordt opnieuw gecontroleerdLevelId, CategoryId
2SysteemBackendControleert bewerkrechtenAlleen bevoegde docent mag verderLevelCollaborators
3SysteemBackendHaalt modules opAlleen actieve/selecteerbare modulesExerciseModules
4SysteemBackendPast testfilter toeTestmodules alleen in testcontextIsVisibleForTesting
5SysteemFrontendToont modulelijstDocent ziet module-informatieDisplayName, Version
6DocentModulekeuzeSelecteert moduleSelectie wordt naar backend gestuurdExerciseModuleId
7SysteemBackendValideert module opnieuwAlleen geldige module wordt geaccepteerdIsActive, testcontext
8SysteemBackendBepaalt configuratiecomponentModule-interface wordt voorbereidCodeReference
9SysteemFrontendOpent configuratieflowDocent kan configurerenUC-DOC-OEF-004

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0011Aanmaakcontext ontbreektLeid terug naar oefeningoverzichtRouteguardGeen
ALT-0022Geen bewerkrechtenBlokkeer modulekeuzeToegangafhandelingGeen
ALT-0033Geen actieve modulesToon dat aanmaken niet mogelijk isInline meldingGeen
ALT-0044Alleen testmodules beschikbaar zonder testcontextToon geen selecteerbare modulesInline meldingGeen
ALT-0056Docent annuleertKeer terug naar vorige stapGeen popupGeen
ALT-0067Module is intussen inactiefWeiger selectie en herlaad lijstInline meldingGeen
ALT-0078Module-interface faaltBlokkeer configuratie en log technischGenerieke foutafhandelingGeen domeinmutatie

9. Business rules

IDRegel
BR-001Een nieuwe concrete oefening verwijst uiteindelijk naar precies één ExerciseModules-record.
BR-002Alleen actieve modules zijn selecteerbaar voor normale oefeningen.
BR-003Testzichtbare modules zijn alleen beschikbaar in geldige testcontext.
BR-004CodeReference is technisch en niet vrij bewerkbaar door de docent.
BR-005Modulekeuze wordt pas persistent bij definitieve oefeningopslag.
BR-006Modulekeuze maakt niets zichtbaar voor leerlingen.
BR-007De backend valideert de gekozen module opnieuw.
BR-008Modulebeheer en modulemigratie horen niet in deze docentflow.
BR-009Configuratie-DTO en validatie blijven modulespecifiek.
BR-010Opslag en audit blijven generiek en centraal.

10. Datavalidatie

Veld / objectValidatie
ExerciseModuleIdMoet bestaand en selecteerbaar zijn.
ExerciseModule.IsActiveMoet waar zijn voor normale selectie.
IsVisibleForTestingAlleen toegestaan binnen testcontext.
CodeReferenceWordt alleen technisch gebruikt.
DisplayNameWordt getoond als functionele herkenning.
VersionMag getoond worden ter herkenning.
DocentcontextMoet bewerkrechten bevatten.
Module-interfaceMoet aanspreekbaar zijn voor configuratie.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1ReadAanmaakcontextContext wordt gecontroleerd.
3ReadExerciseModulesModulelijst wordt gelezen.
7ReadExerciseModulesGekozen module wordt gevalideerd.
8ReadModule-interfaceConfiguratiecomponent wordt bepaald.

12. Geen datamutaties

EntiteitReden
ExercisesNog geen opslag.
ExerciseHistoryGeen concrete wijziging.
ExerciseModulesAlleen lezen.
ModuleConfigurationJsonBase64Nog geen configuratie.
ExerciseRunsGeen run.
SystemMessagesGeen communicatie.
StudentAuthorizationsGeen leerlingtoegang.

13. State diagram

Geen zelfstandig statusmodel. De modulebeschikbaarheid wordt gelezen, maar niet gewijzigd.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Module selecteren

16.2 Module niet beschikbaar

17. Popupverwijzingen

PopupKeyMomentToelichting
Niet van toepassingDeze usecase gebruikt geen domeinspecifieke popup.Routeguard-, inline validatie- of componentafhandeling volstaat.

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

DoeldocumentAfleiding
Functioneel OntwerpDocent selecteert een functionele technische module bij nieuwe oefening.
Functioneel OntwerpAlleen beschikbare modules zijn zichtbaar.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. Modulelijst komt uit ExerciseModules en configuratie loopt via module-interface.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. CodeReference blijft technisch.
Software Requirements SpecificationInactieve modules zijn niet selecteerbaar.
DatabaseGeen nieuwe entiteiten; ExerciseModules blijft bron.
OefenmodulesModuleplatform en contract beschrijft het generieke modulecontract; Optellen & Aftrekken (simpel) is de eerste concrete module-uitwerking voor configuratie, states en payloads.

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-OEF-003-001SRS-TCH-001
SRS-MOD-003
AC-TCH-001
AC-MOD-003
Toon selecteerbare technische modules
REQ-UC-DOC-OEF-003-002SRS-RDM-001
SRS-TCH-001
SRS-MOD-003
AC-RDM-001
AC-TCH-001
AC-MOD-003
Filter op actieve modules
REQ-UC-DOC-OEF-003-003SRS-RDM-001
SRS-TCH-005
SRS-MOD-003
AC-RDM-001
AC-TCH-005
AC-MOD-003
Filter testmodules op testcontext
REQ-UC-DOC-OEF-003-004SRS-AUTH-001
SRS-TCH-001
SRS-MOD-003
AC-AUTH-001
AC-TCH-001
AC-MOD-003
Valideer modulekeuze server-side
REQ-UC-DOC-OEF-003-005SRS-CAT-001
SRS-TCH-002
AC-CAT-001
AC-TCH-002
Behoud niveau- en categoriecontext
REQ-UC-DOC-OEF-003-006SRS-LRN-009
SRS-TCH-002
SRS-MOD-003
AC-LRN-009
AC-TCH-002
AC-MOD-003
Sla nog geen definitieve oefening op door modulekeuze
REQ-UC-DOC-OEF-003-007SRS-TCH-001
SRS-MOD-005
AC-TCH-001
AC-MOD-005
Blokkeer oude selectie van niet meer beschikbare module
REQ-UC-DOC-OEF-003-008SRS-TCH-001
AC-TCH-001
Behandel CodeReference niet als docentinput
REQ-UC-DOC-OEF-003-009SRS-TCH-001
AC-TCH-001
Open configuratieflow na geldige keuze
REQ-UC-DOC-OEF-003-010SRS-TCH-001
SRS-MOD-003
SRS-NFR-SEC-001
AC-TCH-001
AC-MOD-003
AC-NFR-SEC-001
Handel module-interfacefouten veilig af