Skip to main content

UC-BEH-DOCSUP-004 — Niveau-detail binnen docentcontext bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-DOCSUP-004
NaamNiveau-detail binnen docentcontext bekijken
DomeinBeheerder / Docentondersteuning
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, docentondersteuningcomponent, historiecomponent
RolcontextActieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenContent > Docent ondersteuning
Gerelateerde usecasesUC-BEH-DOCSUP-001, UC-BEH-DOCSUP-002, UC-BEH-DOCSUP-003, UC-BEH-DOCSUP-005, UC-BEH-DOCSUP-006, UC-BEH-DOCSUP-007, UC-BEH-DOCSUP-008, UC-BEH-DOCSUP-009, UC-BEH-DOCSUP-010, UC-BEH-DOCSUP-011, UC-BEH-DOCSUP-012, UC-BEH-DOCSUP-013, UC-BEH-DOCSUP-014
Primaire entiteitenUsers, UserRoles, Roles, TeacherLevels, TeacherLevelCategories, TeacherLevelCategoryExercises, Exercises, ExerciseModules, ExerciseHistory, LevelCollaborators, LevelStudentAuthorizations, UserRelationships
Secundaire entiteiten / eventsRelationshipEvents, SystemMessages, beheerlog, docentondersteuning-readmodels, autorisatiecomponent
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe een beheerder vanuit de structuurboom het detailpaneel van één niveau binnen de geselecteerde docentcontext bekijkt.

Het niveaudetail toont minimaal naam, actuele eigenaar, aantal onderliggende categorieën, aantal onderliggende oefeningen, aantal leerlingen met toegang en aantal actieve collaborators.

Vanuit het niveaudetail mogen snelacties of doorklikacties beschikbaar zijn naar Leerlingtoegang, Collaborators en Eigenaar voor hetzelfde niveau. De detailweergave zelf voert geen mutatie uit.

Uitgangspunten

  • Docentondersteuning werkt altijd vanuit één gekozen docentcontext.
  • De beheerder heeft supportgerichte inzage, maar mutaties blijven beperkt tot expliciete beheeracties met audit.
  • Centrale categorie- en module-identiteit worden niet vanuit deze pagina beheerd.
  • Server-side autorisatie is leidend; clientstate mag geen objecttoegang afdwingen.
  • Historische runs, resultaten en PDF-contexten worden niet herschreven.

3. Scope

Deze usecase beschrijft:

  • Tonen van niveaudetailgegevens binnen één docentcontext.
  • Tonen van eigenaar, aantallen categorieën, oefeningen, leerlingen met toegang en collaborators.
  • Bieden van contextvaste doorklikacties naar Leerlingtoegang, Collaborators en Eigenaar.
  • Blokkeren van toegang tot niveaus buiten de gekozen docentcontext.
  • Aangeven of het niveau open, privé, actief of historisch/inactief is wanneer deze status beschikbaar is.

Deze usecase beschrijft niet:

  • Centraal categoriebeheer; dat blijft bronhoudend in Beheerder / Categorieën beheren.
  • Centraal technisch modulebeheer; dat blijft bronhoudend in Beheerder / Modules beheren.
  • Volledig account- en rolbeheer; dat blijft bronhoudend in Beheerder / Accountbeheer.
  • Reguliere docentflows vervangen; docentondersteuning is supportgericht en niet de primaire docentinterface.
  • Live meekijken tijdens actieve oefeningen; beheerders mogen geschiedenis analyseren, maar niet live meekijken.
  • Popupteksten, knopteksten of inputlabels specificeren; usecases verwijzen uitsluitend naar PopupKey.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Docent / OefenaanbodDocenten beheren hun eigen niveaus, categorieën en oefeningen via de reguliere docentflows; docentondersteuning biedt beheerderinzage en gerichte correctie.
Beheerder / Categorieën beherenCentrale categorie-identiteit, migratie en statuswijziging worden daar beheerd, niet in docentondersteuning.
Beheerder / Modules beherenTechnische modulemetadata en modulemigraties worden daar beheerd; docentondersteuning kan alleen concrete oefeningcontext inspecteren.
Beheerder / AccountbeheerRollen, accountstatus en account lifecycle horen daar; docentondersteuning gebruikt bestaande account- en relatiecontext.
Generiek / RelatiesRelaties en uitnodigingen blijven bronhoudend in het relatiedomein; docentondersteuning kan alleen bestaande geldige context gebruiken of een expliciete beheeractie auditen.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd in OefenHub.
PRE-002De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft.
PRE-003De beheerder bevindt zich binnen de beheeromgeving via Content > Docent ondersteuning.
PRE-004De pagina gebruikt actuele serverdata; clientstate, routeparameters of verborgen formuliervelden bepalen geen autorisatie, docentcontext, niveaucontext of oefeningcontext.
PRE-005De tab Structuur is geopend.
PRE-006Er is één niveau binnen de geselecteerde docentcontext gekozen.

5. Post-condities

IDResultaat
POST-001De beheerder ziet het detailpaneel voor het gekozen niveau.
POST-002De getoonde aantallen zijn server-side afgeleid.
POST-003Doorklikacties behouden hetzelfde LevelId en dezelfde docentcontext.
POST-004Geen niveaugegevens of autorisaties zijn gewijzigd.
POST-005Objecten buiten de docentcontext blijven onzichtbaar.

6. Trigger

De usecase start wanneer de beheerder in de structuurboom een niveau selecteert.

7. Normale processtroom

StapActorComponent / contextHandelingResultaatBelangrijke gegevens
1BeheerderStructuurboomKlikt een niveau.De frontend vraagt het niveaudetail op.LevelId.
2BackendAutorisatiecomponentControleert beheerdercontext.De aanvraag wordt geautoriseerd.Server-side rolcontext.
3BackendDocentContextServiceValideert LevelId binnen docentcontext.Alleen passend niveau wordt toegestaan.TeacherLevels.OwnerUserId of supportcontext.
4BackendNiveauReadModelLaadt niveaugegevens en eigenaar.Naam, status en eigenaar worden bepaald.TeacherLevels, Users.
5BackendNiveauReadModelBerekent aantallen.Categorieën, oefeningen, leerlingen en collaborators worden geteld.TeacherLevelCategories, Exercises, autorisaties, LevelCollaborators.
6FrontendDetailpaneelToont niveaudetail.De beheerder ziet readonly detail en doorklikacties.Contextpaneel.

8. Alternatieve en exceptionele processtromen

StapSituatieAfhandelingPopupKeyDatamutatie
2Beheerdercontext is ongeldig.De backend weigert de actie en toont een veilige blokkade.POP-BEH-DOCSUP-NO-ACCESSGeen.
3De geselecteerde docent bestaat niet of is niet toegankelijk.De ondersteuningsweergave wordt niet geopend of wordt veilig teruggezet naar het overzicht.POP-BEH-DOCSUP-SAVE-ERRORGeen.
4Het gekozen object bestaat niet meer.De pagina toont dat het object niet beschikbaar is en ververst de context.Niet van toepassingGeen.
5De readmodeldata is tijdelijk incompleet.De beschikbare gegevens worden getoond met veilige ontbrekend-status; ontbrekend wordt niet als nul geïnterpreteerd.Niet van toepassingGeen.
6De beheerder gebruikt een oude route of clientstate.De backend negeert de clientcontext en herleidt de actuele context opnieuw.Niet van toepassingGeen.

9. Business rules

IDBusiness rule
BR-UC-BEH-DOCSUP-004-001Een niveaudetail mag alleen worden getoond wanneer het niveau binnen de gekozen docentcontext valt.
BR-UC-BEH-DOCSUP-004-002De actuele eigenaar wordt expliciet zichtbaar gemaakt.
BR-UC-BEH-DOCSUP-004-003Leerlingtoegang en collaborators worden als aantallen getoond en via aparte tabs beheerd.
BR-UC-BEH-DOCSUP-004-004Eigendomsoverdracht gebeurt niet vanuit het readonly niveaudetail maar via de tab Eigenaar.
BR-UC-BEH-DOCSUP-004-005Historische of inactieve niveaus mogen niet als actief beheerbaar worden gepresenteerd.
BR-UC-BEH-DOCSUP-004-006De detailweergave maakt geen niveau, categorie of autorisatie aan.

10. Datavalidatie

IDValidatie
VAL-UC-BEH-DOCSUP-004-001LevelId is verplicht.
VAL-UC-BEH-DOCSUP-004-002LevelId moet binnen de gekozen docentcontext vallen.
VAL-UC-BEH-DOCSUP-004-003Eigenaar moet server-side worden opgehaald.
VAL-UC-BEH-DOCSUP-004-004Aantallen worden server-side berekend.
VAL-UC-BEH-DOCSUP-004-005Doorklikacties moeten hetzelfde LevelId gebruiken en opnieuw valideren.
VAL-UC-BEH-DOCSUP-004-006Routeparameters mogen geen niveau buiten de context openen.

11. Datamutaties en events

Object / eventMutatie
Geen functionele mutatieDeze usecase raadpleegt of navigeert zonder inhoudelijke domeinwijziging.
Geen eventEr wordt geen historyrecord geschreven voor alleen raadplegen.

12. Geen datamutaties

ObjectWaarom geen mutatie
UsersAlleen gelezen voor actor- en docentcontext.
TeacherLevelsAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
TeacherLevelCategoriesAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
TeacherLevelCategoryExercisesAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
ExercisesAlleen gelezen tenzij deze usecase expliciet anders beschrijft.
ExerciseRunsHistorische runs worden nooit herschreven.

13. State diagram

Niet van toepassing.

Deze usecase wijzigt geen persistent statusobject. De getoonde selectie-, detail-, zoek- of navigatietoestand is uitsluitend tijdelijke UI-state binnen de beheerderweergave en wordt niet als domeinstatus opgeslagen.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyGebruik
Niet van toepassingDeze usecase gebruikt geen popupregister-popup.

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

OnderdeelAfleiding
Functioneel OntwerpFO beschrijft dat een klik op niveau een detailweergave opent met eigenaar, aantallen en doorklikacties.
Technisch OntwerpTechnisch Ontwerp: technische rolflows, oefencatalogus, relatiebeheer en logging en historie beschrijven de technische uitwerking. TO vereist LevelId-validatie binnen docentcontext en server-side tellingen.
Software Requirements SpecificationSRS moet de zichtbare niveauvelden en definities van aantallen vastleggen.
DatabaseLeest TeacherLevels, Users, TeacherLevelCategories, Exercises, autorisaties en LevelCollaborators; schrijft niets.

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-BEH-DOCSUP-004-001SRS-CAT-001
SRS-TCH-002
SRS-ADM-001
AC-CAT-001
AC-TCH-002
AC-ADM-001
Niveaudetails alleen tonen voor niveaus binnen de gekozen docentcontext
REQ-UC-BEH-DOCSUP-004-002SRS-CAT-001
SRS-ADM-008
SRS-ADM-001
AC-CAT-001
AC-ADM-008
AC-ADM-001
Eigenaar, niveaugegevens en supportaantallen tonen
REQ-UC-BEH-DOCSUP-004-003SRS-AUTH-001
SRS-RDM-001
SRS-RDM-002
SRS-ADM-001
AC-AUTH-001
AC-RDM-001
AC-RDM-002
AC-ADM-001
Aantallen server-side afleiden
REQ-UC-BEH-DOCSUP-004-004SRS-AUTH-001
SRS-LRN-009
SRS-TCH-006
SRS-ADM-001
AC-AUTH-001
AC-LRN-009
AC-TCH-006
AC-ADM-001
Doorklikacties naar Leerlingtoegang, Collaborators en Eigenaar contextvast aanbieden
REQ-UC-BEH-DOCSUP-004-005SRS-AUTH-001
SRS-CAT-001
SRS-ADM-001
AC-AUTH-001
AC-CAT-001
AC-ADM-001
Bij bekijken van het niveaudetail geen niveau of autorisatie wijzigen
REQ-UC-BEH-DOCSUP-004-006SRS-CAT-004
SRS-ADM-001
AC-CAT-004
AC-ADM-001
Historische of inactieve niveaus herkenbaar presenteren
REQ-UC-BEH-DOCSUP-004-007SRS-AUTH-001
SRS-CAT-001
SRS-ADM-001
AC-AUTH-001
AC-CAT-001
AC-ADM-001
Toegang tot niveaus buiten de context blokkeren