Skip to main content

UC-DOC-OEF-002 - Nieuwe oefening aanmaken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-OEF-002
NaamNieuwe oefening aanmaken
DomeinDocent
SubdomeinOefeningen configureren en testen
Primaire actorDocent
Secundaire actor(en)Systeem
RolcontextDocentcontext met toegang tot het geselecteerde niveau
Betrokken schermenDocent - Oefeningoverzicht, nieuwe oefening-flow
Gerelateerde usecasesUC-DOC-OEF-001, UC-DOC-OEF-003, UC-DOC-OEF-004, UC-DOC-OEF-006
Primaire entiteitenLevels, LevelCategories, Categories, Exercises
Secundaire entiteiten / eventsExerciseModules, LevelCollaborators, ExerciseHistory
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een docent vanuit een categorie binnen een niveau de flow start om een nieuwe concrete oefening aan te maken. De usecase vormt de veilige ingang naar modulekeuze en configuratie.

De usecase maakt zelf nog geen definitief Exercises-record aan. De concrete oefening ontstaat pas wanneer de technische module is gekozen en de modulespecifieke configuratie geldig is opgeslagen.

Dit voorkomt half aangemaakte oefeningen wanneer de docent de flow annuleert of de browser sluit vóór definitieve opslag.

3. Scope

3.1 Binnen scope

  • Starten van de nieuwe-oefening-flow.
  • Controleren van docentrol, niveaucontext en bewerkrechten.
  • Controleren van actieve categoriekoppeling.
  • Voorbereiden van veilige aanmaakcontext.
  • Routeren naar technische module selecteren.
  • Blokkeren wanneer aanmaken niet is toegestaan.

3.2 Buiten scope

  • Technische module selecteren.
  • Modulespecifieke configuratie opslaan.
  • Oefening activeren.
  • Oefening testen.
  • Modulebeheer uitvoeren.
  • 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 feature voor oefenbeheer is beschikbaar.
PRE-008Er is minimaal één selecteerbare technische module of een duidelijke blokkade mogelijk.

5. Post-condities

IDResultaat
POST-001De aanmaakflow is gestart binnen geldige context.
POST-002De docent is naar modulekeuze geleid.
POST-003Er is geen definitieve oefening opgeslagen.
POST-004Er is geen configuratiepayload opgeslagen.
POST-005Er is geen leerlingzichtbaarheid ontstaan.
POST-006Ongeldige context is geblokkeerd.

6. Trigger

De docent kiest in het oefeningoverzicht van een categorie voor Nieuwe oefening.

Een directe route naar dezelfde flow moet dezelfde server-side controles doorlopen.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentOefeningoverzichtKiest Nieuwe oefeningFrontend start aanmaakrouteLevelId, CategoryId
2SysteemBackendControleert docentrolAlleen actieve docentcontext mag verderUserRoles
3SysteemBackendControleert niveauNiveau moet toegankelijk zijnLevels
4SysteemBackendControleert bewerkrechtenEigenaar of collaborator met bewerkrechten mag verderLevelCollaborators
5SysteemBackendControleert categoriekoppelingCategorie moet actief gekoppeld zijnLevelCategories
6SysteemBackendControleert modulebeschikbaarheidVervolgflow is mogelijk of wordt geblokkeerdExerciseModules
7SysteemBackendBouwt aanmaakcontextContext wordt niet als domeinrecord opgeslagenTijdelijke flowcontext
8SysteemFrontendOpent modulekeuzeDocent ziet de volgende stapUC-DOC-OEF-003

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Geen actieve docentrolBlokkeer aanmaakrouteRouteguardGeen
ALT-0023Niveau bestaat niet of is niet toegankelijkLeid terug naar oefenaanbodInline meldingGeen
ALT-0034Geen bewerkrechtenBlokkeer Nieuwe oefeningToegangafhandelingGeen
ALT-0045Categorie is niet gekoppeldBlokkeer flowInline meldingGeen
ALT-0056Geen selecteerbare modulesToon dat aanmaken niet mogelijk isInline meldingGeen
ALT-0068Docent annuleert vóór modulekeuzeKeer terug naar oefeningoverzichtGeen popupGeen
ALT-0078Browser sluit vóór opslagGeen half record ontstaatNiet van toepassingGeen

9. Business rules

IDRegel
BR-001Alleen docenten met bewerkrechten mogen een nieuwe-oefening-flow starten.
BR-002Een nieuwe oefening hoort altijd bij één niveau en één categorie.
BR-003De categorie moet actief aan het niveau gekoppeld zijn.
BR-004De flow mag geen half bruikbaar Exercises-record aanmaken.
BR-005Nieuwe oefeningen worden bij definitieve opslag standaard In onderhoud.
BR-006Starten van de flow maakt niets zichtbaar voor leerlingen.
BR-007Aanmaakcontext wordt opnieuw valideerbaar gehouden.
BR-008Clientstate is niet leidend voor autorisatie.
BR-009De flow verstuurt geen systeemberichten.
BR-010Er ontstaat geen aparte aanmaakstatusentiteit.

10. Datavalidatie

Veld / objectValidatie
UserIdKomt uit server-side sessiecontext.
DocentrolMoet actief zijn.
LevelIdMoet toegankelijk zijn.
CategoryIdMoet actief gekoppeld zijn.
BewerkrechtenMoeten uit eigenaarschap of collaboratorcontext komen.
ModulebeschikbaarheidMinimaal één module moet selecteerbaar zijn of de flow blokkeert.
AanmaakcontextMoet opnieuw server-side valideerbaar zijn.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
2ReadUserRoles / RolesDocentrol wordt gecontroleerd.
3ReadLevelsNiveau wordt gelezen.
4ReadLevelCollaboratorsBewerkrechten worden gecontroleerd.
5ReadLevelCategoriesCategoriekoppeling wordt gecontroleerd.
6ReadExerciseModulesBeschikbaarheid wordt gecontroleerd.

12. Geen datamutaties

EntiteitReden
ExercisesNog geen definitieve opslag.
ExerciseHistoryNog geen oefeningwijziging.
ExerciseModulesAlleen beschikbaarheid lezen.
ModuleConfigurationJsonBase64Geen configuratie opgeslagen.
ExerciseRunsGeen run gestart.
StudentAuthorizationsGeen leerlingtoegang gewijzigd.
SystemMessagesGeen communicatie.

13. State diagram

Geen persistent state diagram. De flow start een aanmaakproces, maar de oefeningstatus ontstaat pas bij geldige configuratieopslag.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Nieuwe oefening-flow starten

16.2 Geen bewerkrechten

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 OntwerpNieuwe oefening start vanuit categorie binnen niveau.
Functioneel OntwerpDefinitieve oefening ontstaat pas na modulekeuze en configuratie.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. Flowcontext wordt opnieuw server-side gevalideerd.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. Geen half aangemaakte oefening bij annuleren.
Software Requirements SpecificationAlleen bevoegde docenten mogen de flow starten.
DatabaseGeen aparte aanmaakstatusentiteit.

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-002-001SRS-LRN-009
SRS-TCH-002
AC-LRN-009
AC-TCH-002
Bied Nieuwe oefening alleen aan bij bewerkrechten
REQ-UC-DOC-OEF-002-002SRS-AUTH-001
SRS-CAT-006
SRS-TCH-002
AC-AUTH-001
AC-CAT-006
AC-TCH-002
Controleer docentrol en niveaucontext server-side
REQ-UC-DOC-OEF-002-003SRS-CAT-001
SRS-TCH-002
AC-CAT-001
AC-TCH-002
Controleer actieve categoriekoppeling
REQ-UC-DOC-OEF-002-004SRS-TCH-001
SRS-MOD-003
AC-TCH-001
AC-MOD-003
Leid naar modulekeuze bij geldige context
REQ-UC-DOC-OEF-002-005SRS-LRN-001
SRS-TCH-002
AC-LRN-001
AC-TCH-002
Maak nog geen definitieve oefening aan bij starten van de flow
REQ-UC-DOC-OEF-002-006SRS-LRN-009
SRS-TCH-002
AC-LRN-009
AC-TCH-002
Voorkom half aangemaakte oefeningen bij afbreken
REQ-UC-DOC-OEF-002-007SRS-TCH-001
SRS-MOD-003
AC-TCH-001
AC-MOD-003
Blokkeer de flow wanneer geen module selecteerbaar is
REQ-UC-DOC-OEF-002-008SRS-LRN-001
SRS-TCH-001
AC-LRN-001
AC-TCH-001
Maak niets zichtbaar voor leerlingen door alleen de flow te starten
REQ-UC-DOC-OEF-002-009SRS-AUTH-001
SRS-LRN-009
SRS-TCH-001
AC-AUTH-001
AC-LRN-009
AC-TCH-001
Wijzig geen leerlingtoegang of communicatie
REQ-UC-DOC-OEF-002-010SRS-TCH-001
SRS-POP-001
AC-TCH-001
AC-POP-001
Gebruik geen domeinspecifieke popup voor deze route