Skip to main content

UC-DOC-AANB-005 — Categorieën binnen niveau bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-AANB-005
NaamCategorieën binnen niveau bekijken
DomeinDocent
SubdomeinOefenaanbod, niveaus en categorieën
Primaire actorDocent
Secundaire actor(en)OefenHub-systeem
RolcontextDocentcontext binnen een actief intern OefenHub-account
Betrokken schermenOefenaanbod; niveaudetail; categorieoverzicht binnen niveau
Gerelateerde usecasesUC-DOC-AANB-001, UC-DOC-AANB-002, UC-DOC-AANB-006, UC-DOC-AANB-007, UC-DOC-AANB-008, UC-DOC-OEF-001
Primaire entiteitenLevels, LevelCategories, Categories
Secundaire entiteiten / eventsExercises, ExerciseModules, ExerciseRuns, CategoryHistory
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

De docent bekijkt binnen een geselecteerd niveau welke categorieën aan dat niveau gekoppeld zijn. Het overzicht vormt de ingang naar categoriegebonden oefenbeheer en maakt zichtbaar welke onderwijsinhoud binnen het niveau beschikbaar is. De docent ziet alleen niveaus waarvoor de docent eigenaar is of waarop de docent als actieve collaborator mag werken. De zichtbaarheid voor leerlingen wordt niet handmatig door de docent ingesteld, maar afgeleid uit actieve onderliggende oefeningen binnen het geselecteerde niveau.

Deze usecase beschrijft de docenthandeling binnen het subdomein Oefenaanbod, niveaus en categorieën. De usecase is procesgericht en beschrijft geen pixelniveau-schermdetails. Schermdetails, exacte layout en componentvormgeving blijven bronhoudend in schermdocumentatie en mockups. Centraal categoriebeheer, migratie van categorieën en beheerdercorrecties blijven bronhoudend in de beheerderflows en ontwerpbronnen.

3. Scope

Binnen scope:

  • laden van categorieën binnen één geselecteerd niveau;
  • tonen van centrale categorie-identiteit zoals naam, kleur, icoon en status;
  • tonen van niveaugebonden gebruikscontext zoals aantal oefeningen en afgeleide zichtbaarheid;
  • doorklikken naar oefeningen binnen een categorie;
  • tonen van acties om een bestaande categorie te koppelen of een nieuwe centrale categorie aan te maken via docentflow;
  • server-side autorisatie op docentcontext, eigenaar- of collaboratorrechten.

Buiten scope:

  • wijzigen van centrale categorienaam, kleur of icoon door de docent;
  • migreren of samenvoegen van categorieën;
  • beheren van centrale categoriehistorie door beheerder;
  • configureren van concrete oefeningen;
  • bepalen van leerlingniveau-autorisaties;
  • genereren of starten van leerlingoefeningen.

4. Pre-condities

IDVoorwaarde
PRE-001De actor is succesvol ingelogd en heeft een actieve docentrol.
PRE-002Er is een geldige docentcontext bepaald op basis van server-side rollen en rechten.
PRE-003De docent heeft een niveau geselecteerd via UC-DOC-AANB-002.
PRE-004De docent is eigenaar van het niveau of actieve collaborator met inzagerecht op het niveau.
PRE-005Het niveau is niet verwijderd of ontoegankelijk gemaakt.
PRE-006De centrale categorie- en niveaukoppeltabellen zijn beschikbaar voor uitlezen.

5. Post-condities

IDResultaat
POST-001De docent ziet de categorieën die aan het geselecteerde niveau zijn gekoppeld.
POST-002Per categorie is duidelijk of er actieve oefeningen bestaan binnen dit niveau.
POST-003Per categorie is de afgeleide leerlingzichtbaarheid functioneel verklaarbaar.
POST-004Er zijn geen datamutaties uitgevoerd door alleen bekijken.
POST-005De docent kan door naar categorie koppelen, nieuwe categorie aanmaken of oefeningen binnen categorie bekijken.
POST-006Onbevoegde categoriegegevens worden niet getoond.

6. Trigger

De usecase start wanneer een docent binnen Oefenaanbod een niveau selecteert en het systeem de aan dat niveau gekoppelde categorieën moet tonen. De trigger kan ook ontstaan doordat de docent terugkeert vanuit een oefening-, categorie- of niveaudetailroute.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentOefenaanbodOpent of heeft een niveau geselecteerd.Systeem ontvangt het niveau als actieve context.LevelId uit server-side context.
2SysteemBackend autorisatieControleert docentrol en toegang tot niveau.Alleen eigenaar of actieve collaborator mag categorieën zien.UserRoles, Levels, LevelCollaborators.
3SysteemCategoriequeryLaadt niveaucategorieën.Alleen actieve of historisch relevante gekoppelde categorieën worden opgehaald volgens overzichtsregels.LevelCategories, Categories.
4SysteemAfleiding zichtbaarheidBerekent per categorie de zichtbaarheid voor leerlingen.Categorie is leerlingzichtbaar wanneer binnen niveau minimaal één actieve oefening aanwezig is.Exercises.IsActive.
5SysteemAfleiding gebruikBerekent compacte aantallen.Aantal oefeningen en actieve oefeningen worden getoond als afgeleide waarden.Exercises per categorie en niveau.
6SysteemUI-modelBouwt readmodel op.Centrale categorie-identiteit en niveaugebruik worden gecombineerd zonder centrale categorie te wijzigen.Geen datamutatie.
7DocentCategorieoverzichtBekijkt de categorieën.Systeem toont categoriekaarten of lijstregels met acties.UI-weergave volgens schermdocumentatie.
8DocentCategorieoverzichtKiest eventueel een categorie.Systeem opent oefeningoverzicht binnen die categorie.Vervolg naar UC-DOC-OEF-001.
9DocentCategorieoverzichtKiest eventueel categorie koppelen of nieuwe categorie aanmaken.Systeem start de passende vervolgusecase.UC-DOC-AANB-006 of UC-DOC-AANB-007.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Docent heeft geen toegang tot het geselecteerde niveau.Systeem blokkeert het overzicht en toont toegang-geweigerdafhandeling.Geen popupregister-popup; routeguardafhandeling.Geen.
ALT-0023Het niveau bevat nog geen gekoppelde categorieën.Systeem toont lege toestand met beschikbare vervolgactie om categorie te koppelen of aan te maken.Geen popupregister-popup.Geen.
ALT-0033Een gekoppelde centrale categorie is gedeactiveerd of uitgefaseerd.Systeem toont deze alleen wanneer de relatie nog functioneel relevant is voor beheercontext en markeert de status volgens regels.Geen popupregister-popup.Geen.
ALT-0044Er zijn alleen inactieve oefeningen binnen de categorie.Categorie blijft zichtbaar voor de docent, maar wordt niet leerlingzichtbaar afgeleid.Geen popupregister-popup.Geen.
ALT-0055Aantallen kunnen niet worden berekend door technische fout.Systeem toont veilige foutafhandeling zonder gedeeltelijke of foutieve aantallen als waarheid te presenteren.Generieke foutafhandeling.Geen.
ALT-0068Categorie is geselecteerd maar de onderliggende oefenroute is niet beschikbaar.Systeem blijft in categorieoverzicht of toont veilige niet-beschikbaarafhandeling.Generieke routeafhandeling.Geen.

9. Business rules

IDRegel
BR-001Een docent mag alleen categorieën bekijken binnen niveaus waarvoor de docent eigenaar is of actieve collaboratorrechten heeft.
BR-002Categorieën zijn centrale domeinobjecten; naam, kleur en icoon worden niet vanuit deze kijkflow gewijzigd.
BR-003Een categorie wordt binnen leerlingnavigatie alleen zichtbaar wanneer binnen het actieve niveau minimaal één actieve oefening aan die categorie gekoppeld is.
BR-004Een categorie zonder actieve oefeningen mag wel zichtbaar zijn voor de docent in beheercontext.
BR-005Afgeleide aantallen op het overzicht zijn readmodelwaarden en geen aparte brondata.
BR-006De docent mag via deze usecase geen centrale categorie migreren, samenvoegen, verwijderen of hernoemen.
BR-007Clientstate of routeparameters mogen niet zelfstandig bepalen tot welk niveau de docent toegang heeft.
BR-008Inactieve of uitgefaseerde categorieën worden niet als nieuwe koppeloptie behandeld, maar kunnen historisch relevant blijven.
BR-009Doorklikken naar oefeningen vereist opnieuw server-side controle op niveau- en categoriecontext.

10. Datavalidatie

Veld / objectValidatie
LevelIdMoet bestaan en voor de docent toegankelijk zijn.
TeacherUserIdMoet verwijzen naar een actieve gebruiker met docentrol.
LevelCollaboratorMoet actief zijn wanneer toegang via collaboratorcontext wordt verkregen.
LevelCategoryMoet behoren bij het geselecteerde niveau.
CategoryIdMoet verwijzen naar een bestaande centrale categorie.
ExerciseCountWordt server-side afgeleid en niet door de client aangeleverd.
StudentVisibleWordt server-side afgeleid uit actieve oefeningen binnen niveau en categorie.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-2ReadLevels, LevelCollaboratorsDocentcontext en toegang tot het niveau worden gecontroleerd.
3-6ReadLevelCategories, Categories, ExercisesGekoppelde categorieën, centrale categorie-identiteit en afgeleide aantallen worden gelezen.
7-9GeenVervolgusecasesDoorklikken naar categorie- of oefeningacties start aparte flows.

Deze usecase is read-only en schrijft geen categorie-, niveau-, oefening- of historyrecords.

12. Geen datamutaties

EntiteitReden
CategoriesCentrale categorie-identiteit wordt alleen gelezen.
LevelCategoriesKoppelingen worden alleen gelezen.
ExercisesOefeningen worden alleen geteld en niet gewijzigd.
CategoryHistoryKijkacties schrijven geen categoriehistorie.
SystemMessagesBekijken van categorieën veroorzaakt geen systeembericht.
UserSettingsDe geselecteerde niveaucontext kan elders persistent zijn, maar deze usecase wijzigt die niet.

13. State diagram

Niet van toepassing. Deze usecase wijzigt geen statusobject.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyMomentDoel
Niet van toepassingDeze usecase bevat alleen bekijken en navigeren.Er is geen domeinspecifieke popup nodig.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft dat de docent binnen een geselecteerd niveau de gekoppelde categorieën ziet en dat categoriezichtbaarheid voor leerlingen wordt afgeleid uit actieve oefeningen.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus en autorisatie en contextcontrole beschrijven de technische uitwerking. Beschrijf server-side autorisatie op niveau-eigenaar en collaborators, plus readmodelopbouw uit Levels, LevelCategories, Categories en Exercises.
Software Requirements SpecificationBeschrijft dat het categorieoverzicht read-only is en geen centrale categorie-identiteit wijzigt.
Database-informatieControleer beschrijving van LevelCategories, Categories, Exercises en afgeleide zichtbaarheid.
OntwerpbronnenNeem business rules op rond centrale categorie-identiteit en docentcontext.

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-AANB-005-001SRS-AUTH-001
SRS-AUTH-004
SRS-CAT-001
SRS-TCH-002
AC-AUTH-001
AC-AUTH-004
AC-CAT-001
AC-TCH-002
Categorieën binnen een geselecteerd niveau kunnen tonen aan een bevoegde docent
REQ-UC-DOC-AANB-005-002SRS-AUTH-001
SRS-CAT-001
SRS-TCH-006
AC-AUTH-001
AC-CAT-001
AC-TCH-006
Server-side controleren of de docent eigenaar of actieve collaborator van het niveau is
REQ-UC-DOC-AANB-005-003SRS-RDM-001
SRS-RDM-005
SRS-CAT-002
SRS-TCH-002
AC-RDM-001
AC-RDM-005
AC-CAT-002
AC-TCH-002
Centrale categorie-identiteit tonen zonder deze vanuit het overzicht te wijzigen
REQ-UC-DOC-AANB-005-004SRS-RDM-001
SRS-RDM-005
SRS-CAT-001
SRS-LRN-005
SRS-TCH-003
AC-RDM-001
AC-RDM-005
AC-CAT-001
AC-LRN-005
AC-TCH-003
Per categorie afleiden of deze voor leerlingen zichtbaar is op basis van actieve oefeningen binnen het niveau
REQ-UC-DOC-AANB-005-005SRS-CAT-001
SRS-TCH-002
AC-CAT-001
AC-TCH-002
Een lege toestand tonen wanneer het niveau nog geen categorieën bevat
REQ-UC-DOC-AANB-005-006SRS-CAT-001
SRS-TCH-002
AC-CAT-001
AC-TCH-002
Bij het bekijken van categorieën geen datamutaties uitvoeren
REQ-UC-DOC-AANB-005-007SRS-AUTH-001
SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
AC-AUTH-001
AC-CAT-001
AC-LRN-009
AC-TCH-002
Doorklikken naar oefeningen binnen een categorie alleen toestaan na geldige server-side contextcontrole
REQ-UC-DOC-AANB-005-008SRS-RDM-001
SRS-RDM-002
SRS-RDM-005
SRS-CAT-001
SRS-TCH-002
AC-RDM-001
AC-RDM-002
AC-RDM-005
AC-CAT-001
AC-TCH-002
Categoriegebruik en aantallen als afgeleide readmodelwaarden behandelen
REQ-UC-DOC-AANB-005-009SRS-CAT-001
SRS-TCH-002
SRS-ADM-006
SRS-ADM-001
AC-CAT-001
AC-TCH-002
AC-ADM-006
AC-ADM-001
Categoriebeheeracties zoals migreren of hernoemen niet vanuit deze kijkflow uitvoeren