Skip to main content

UC-DOC-OEF-001 - Oefeningen binnen categorie bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-OEF-001
NaamOefeningen binnen categorie bekijken
DomeinDocent
SubdomeinOefeningen configureren en testen
Primaire actorDocent
Secundaire actor(en)Systeem
RolcontextDocentcontext met toegang tot het geselecteerde niveau
Betrokken schermenDocent - Oefenaanbod, categorie binnen niveau, oefeningoverzicht
Gerelateerde usecasesUC-DOC-AANB-005, UC-DOC-OEF-002, UC-DOC-OEF-005, UC-DOC-OEF-006, UC-DOC-SAM-004
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 binnen een geselecteerd niveau en een geselecteerde categorie de bestaande concrete oefeningen bekijkt. Het overzicht is het startpunt voor vervolgacties zoals een nieuwe oefening aanmaken, een oefening bewerken, de status wijzigen of een oefening testen.

De usecase is read-only. Het systeem gebruikt het geselecteerde niveau, de categoriekoppeling en de docentcontext om te bepalen welke oefeningen getoond worden en welke vervolgacties beschikbaar zijn.

De technische module achter een oefening mag herkenbaar worden getoond, maar modulespecifieke configuratie wordt niet in dit overzicht bewerkt. Beheer van modules en centraal categoriebeheer blijven buiten deze usecase.

3. Scope

3.1 Binnen scope

  • Ophalen van oefeningen binnen exact één niveau- en categoriecontext.
  • Controleren van docentrol, niveaucontext en categoriekoppeling.
  • Tonen van oefeningnaam, status, gekoppelde module en toegestane acties.
  • Tonen van lege toestand wanneer geen oefeningen aanwezig zijn.
  • Afleiden of de docent beheeracties mag gebruiken.
  • Veilig blokkeren van directe routes met ongeldige context.

3.2 Buiten scope

  • Nieuwe oefening aanmaken.
  • Technische module selecteren.
  • Oefeningconfiguratie wijzigen.
  • Oefening activeren of in onderhoud zetten.
  • Oefening testen als docent.
  • 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 is eigenaar van het niveau of actieve collaborator.
PRE-005Er is een categorie geselecteerd.
PRE-006De categorie is actief gekoppeld aan het niveau.
PRE-007De backend kan de oefeningen en modulemetadata lezen.

5. Post-condities

IDResultaat
POST-001Het oefeningoverzicht is getoond.
POST-002Alleen oefeningen binnen de gekozen niveau- en categoriecontext zijn zichtbaar.
POST-003Toegestane acties zijn rechtenafhankelijk bepaald.
POST-004Er zijn geen oefeningen aangemaakt of gewijzigd.
POST-005Er zijn geen leerlingresultaten gelezen.
POST-006Ongeldige context is veilig geblokkeerd.

6. Trigger

De docent opent binnen Oefenaanbod een categorie om de concrete oefeningen binnen die categorie te bekijken.

De trigger kan ook ontstaan na terugkeer uit een vervolgflow, waarbij dezelfde context opnieuw server-side wordt gecontroleerd.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentCategorieoverzichtOpent een categorieSysteem ontvangt niveau- en categoriecontextLevelId, CategoryId
2SysteemBackendControleert actieve docentrolAlleen docentcontext mag verderUserRoles, Roles
3SysteemBackendControleert toegang tot niveauEigenaar of actieve collaborator is geldigLevels, LevelCollaborators
4SysteemBackendControleert categoriekoppelingCategorie moet actief gekoppeld zijnLevelCategories
5SysteemBackendHaalt oefeningen opOefeningen worden gefilterd op contextExercises
6SysteemBackendVerrijkt overzichtModulemetadata en status worden toegevoegdExerciseModules, IsActive
7SysteemBackendBepaalt actiesActies volgen uit rechtenEigenaarschap, collaboratorrechten
8SysteemFrontendRendert overzichtDocent ziet oefeningen of lege toestandRead-only
9DocentOefeningoverzichtKiest eventueel vervolgactieSysteem routeert naar passende usecaseContext opnieuw valideerbaar

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Geen actieve docentrolBlokkeer docentrouteRouteguardGeen
ALT-0023Geen toegang tot niveauToon geen oefeningenGenerieke toegangafhandelingGeen
ALT-0034Categorie hoort niet bij niveauLeid terug naar categorieoverzichtInline meldingGeen
ALT-0045Geen oefeningen aanwezigToon lege toestandInline informatiefGeen
ALT-0056Gekoppelde module is niet beschikbaarToon oefening maar beperk vervolgactiesInline meldingGeen
ALT-0067Docent heeft alleen leesrechtenToon alleen toegestane actiesGeen popupGeen
ALT-0079Verouderde browserstateBackend blokkeert ongeldige vervolgactieRouteguardGeen

9. Business rules

IDRegel
BR-001Een oefeningoverzicht is altijd gebonden aan één niveau en één categorie.
BR-002Een docent mag alleen oefeningen zien binnen toegankelijke docentcontext.
BR-003Een categorie moet actief aan het niveau gekoppeld zijn.
BR-004Modulemetadata mag getoond worden zonder configuratiepayload te openen.
BR-005Beheeracties zijn alleen beschikbaar bij bewerkrechten.
BR-006Een lege categorie mag in docentcontext zichtbaar blijven.
BR-007Het overzicht maakt geen leerlingdata zichtbaar buiten de context.
BR-008Routeparameters zijn nooit leidend voor autorisatie.
BR-009De usecase voert geen datamutaties uit.
BR-010In onderhoud betekent niet beschikbaar voor leerlinguitvoering, maar wel zichtbaar voor bevoegde docenten.

10. Datavalidatie

Veld / objectValidatie
UserIdKomt uit server-side sessiecontext.
DocentrolMoet actief zijn.
LevelIdMoet bestaan en toegankelijk zijn.
CategoryIdMoet bestaan.
LevelCategoryMoet actief zijn.
ExerciseIdWordt pas bij vervolgacties gebruikt en opnieuw gevalideerd.
ExerciseModuleIdMoet naar bestaande modulemetadata verwijzen.
IsActiveWordt alleen gelezen voor statusweergave.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1ReadLevelsNiveaucontext wordt gelezen.
3ReadLevelCollaboratorsToegang wordt gecontroleerd.
4ReadLevelCategoriesCategoriekoppeling wordt gelezen.
5ReadExercisesOefeningen worden opgehaald.
6ReadExerciseModulesModulemetadata wordt gelezen.

12. Geen datamutaties

EntiteitReden
ExercisesAlleen lezen.
ExerciseModulesAlleen metadata lezen.
ExerciseHistoryGeen wijziging.
ExerciseRunsGeen run starten.
StudentAuthorizationsGeen leerlingtoegang wijzigen.
SystemMessagesGeen communicatie.
LiveViewAuditGeen live meekijken.

13. State diagram

Geen zelfstandig statusdiagram. De usecase leest de oefeningstatus, maar wijzigt deze niet. Statusovergangen van oefeningen horen bij UC-DOC-OEF-006.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Oefeningoverzicht laden

16.2 Context ongeldig

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 OntwerpOefeningen worden binnen een geselecteerde categorie en niveaucontext getoond.
Functioneel OntwerpActies zijn afhankelijk van eigenaar- of collaboratorrechten.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. Backend valideert niveau, categorie en docentcontext opnieuw.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en testuitvoering en background jobs beschrijven de technische uitwerking. Modulemetadata wordt gelezen zonder volledige configuratiepayload.
Software Requirements SpecificationAlleen toegankelijke oefeningen worden getoond.
DatabaseGeen nieuwe entiteiten nodig.

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-001-001SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
AC-CAT-001
AC-LRN-009
AC-TCH-002
Toon alleen oefeningen binnen geldige niveau- en categoriecontext
REQ-UC-DOC-OEF-001-002SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Controleer de actieve docentrol server-side
REQ-UC-DOC-OEF-001-003SRS-CAT-005
SRS-TCH-002
AC-CAT-005
AC-TCH-002
Controleer dat de categorie actief aan het niveau gekoppeld is
REQ-UC-DOC-OEF-001-004SRS-LRN-009
SRS-TCH-002
SRS-MOD-003
AC-LRN-009
AC-TCH-002
AC-MOD-003
Toon per oefening minimaal naam, status en moduleherkenning
REQ-UC-DOC-OEF-001-005SRS-TCH-001
SRS-ADM-001
AC-TCH-001
AC-ADM-001
Bepaal beheeracties op basis van docentrechten
REQ-UC-DOC-OEF-001-006SRS-LRN-009
SRS-TCH-002
AC-LRN-009
AC-TCH-002
Toon een lege toestand wanneer geen oefeningen aanwezig zijn
REQ-UC-DOC-OEF-001-007SRS-AUTH-004
SRS-TCH-001
AC-AUTH-004
AC-TCH-001
Blokkeer ongeldige directe routes
REQ-UC-DOC-OEF-001-008SRS-LRN-009
SRS-TCH-002
AC-LRN-009
AC-TCH-002
Wijzig geen oefeninggegevens bij bekijken
REQ-UC-DOC-OEF-001-009SRS-LRN-009
SRS-TCH-001
AC-LRN-009
AC-TCH-001
Lees geen leerlingresultaten in deze flow
REQ-UC-DOC-OEF-001-010SRS-TCH-001
SRS-POP-001
AC-TCH-001
AC-POP-001
Gebruik geen domeinspecifieke popup voor deze read-only flow