Skip to main content

UC-DOC-AANB-007 — Nieuwe centrale categorie aanmaken via docentflow

1. Kerngegevens

VeldWaarde
Usecase-IDUC-DOC-AANB-007
NaamNieuwe centrale categorie aanmaken via docentflow
DomeinDocent
SubdomeinOefenaanbod, niveaus en categorieën
Primaire actorDocent
Secundaire actor(en)OefenHub-systeem
RolcontextDocent als eigenaar of actieve collaborator met bewerkrecht
Betrokken schermenOefenaanbod; categorie toevoegen; nieuwe categorie
Gerelateerde usecasesUC-DOC-AANB-005, UC-DOC-AANB-006, UC-DOC-AANB-008, beheerder categoriebeheer
Primaire entiteitenCategories, LevelCategories
Secundaire entiteiten / eventsCategoryHistory, CategoryCreated, CategoryLinkedToLevel
Gerelateerde popupsPOP-DOC-AANB-NEW-CATEGORY-WARNING, POP-DOC-AANB-CATEGORY-CREATE-FAILED
PopupregisterAanvullen indien deze popupkeys nog niet bestaan
MoSCoWMust

2. Omschrijving

De docent maakt vanuit het oefenaanbod een nieuwe centrale categorie aan wanneer geen bestaande centrale categorie passend is. Omdat categorieën gedeelde centrale tags zijn, legt deze usecase nadruk op zorgvuldigheid, waarschuwing en auditbaarheid. De nieuwe categorie wordt direct gekoppeld aan het geselecteerde niveau, zodat de docent daarna oefeningen binnen die categorie kan beheren. De docent krijgt hiermee geen vrij beheer over centrale categorie-identiteit nadat de categorie in gebruik is; centrale wijzigingen na aanmaak blijven beheerderverantwoordelijkheid.

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:

  • invoeren van naam, kleur en icoon voor een nieuwe centrale categorie;
  • waarschuwen dat categorieën centrale gedeelde identiteit hebben;
  • server-side controleren op vereiste velden en mogelijke doublures;
  • aanmaken van de centrale categorie;
  • direct koppelen van de nieuwe categorie aan het geselecteerde niveau;
  • vastleggen van auditinformatie en categoriehistorie;
  • terugkeren naar categorieoverzicht.

Buiten scope:

  • beheerdergoedkeuring als aparte workflow;
  • migreren of samenvoegen van dubbele categorieën;
  • hernoemen of aanpassen van bestaande centrale categorieën;
  • uploaden of beheren van iconen als mediarepository;
  • aanmaken van oefeningen;
  • zichtbaar maken voor leerlingen zonder actieve oefening.

4. Pre-condities

IDVoorwaarde
PRE-001De actor is ingelogd met actieve docentrol.
PRE-002Er is een geselecteerd niveau binnen docentcontext.
PRE-003De docent heeft bewerkrecht op het geselecteerde niveau.
PRE-004De actie Nieuwe categorie aanmaken is beschikbaar binnen de categorie-toevoegflow.
PRE-005Naam-, kleur- en icoonkeuze kunnen server-side gevalideerd worden.
PRE-006Het systeem kan bestaande centrale categorieën controleren op exacte of functioneel relevante overlap.

5. Post-condities

IDResultaat
POST-001Er is een nieuwe centrale categorie aangemaakt met naam, kleur en icoon.
POST-002De nieuwe categorie is gekoppeld aan het geselecteerde niveau.
POST-003De aanmaak is auditbaar vastgelegd.
POST-004De categorie verschijnt in het categorieoverzicht van het niveau.
POST-005De categorie is pas leerlingzichtbaar wanneer binnen het niveau minimaal één actieve oefening bestaat.
POST-006Er zijn geen oefeningen of leerlingautorisaties aangemaakt.

6. Trigger

De usecase start wanneer de docent binnen het categorieoverzicht kiest voor het aanmaken van een nieuwe centrale categorie. Dit gebeurt nadat de docent geen geschikte bestaande centrale categorie kiest of nadat de docent bewust voor een nieuwe centrale categorie kiest.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1DocentCategorieoverzichtKiest Nieuwe categorie aanmaken.Systeem opent de invoerflow.LevelId blijft actieve context.
2SysteemBackend autorisatieControleert bewerkrecht op niveau.Alleen bevoegde docent mag aanmaken via deze route.Levels, LevelCollaborators.
3SysteemWaarschuwingsstapToont centrale-categorie waarschuwing via popupkey of component.Docent moet bewust doorgaan.POP-DOC-AANB-NEW-CATEGORY-WARNING.
4DocentCategorieformulierVult naam, kleur en icoon in.Systeem houdt invoer vast tot opslaan.Naam, kleur, icoon.
5DocentCategorieformulierSlaat op.Backend ontvangt aanvraag voor categorie plus niveaukoppeling.Geen losse categorie zonder vervolgkoppeling in deze flow.
6SysteemValidatieControleert verplichte velden, toegestane kleur, icoonkey en naamregels.Ongeldige invoer wordt afgewezen.Datavalidatie.
7SysteemDoublurecontroleControleert exacte en relevante bestaande categorieën.Bij duidelijke doublure wordt de flow geblokkeerd of vraagt systeem bestaande categorie te gebruiken.DRY en centrale identiteit.
8SysteemDatabase transactieMaakt Categories-record aan.Centrale categorie wordt bronrecord.CreatedByUserId, CreatedAtUtc.
9SysteemDatabase transactieKoppelt nieuwe categorie aan geselecteerd niveau.LevelCategories-record wordt aangemaakt.CategoryId, LevelId.
10SysteemAudit/historyLegt categorieaanmaak en koppeling vast.History en events zijn herleidbaar.CategoryCreated, CategoryLinkedToLevel.
11SysteemReadmodelHerbouwt categorieoverzicht.Nieuwe categorie verschijnt in docentbeheercontext.Leerlingzichtbaarheid blijft afgeleid.
12DocentCategorieoverzichtBekijkt nieuw gekoppelde categorie.Docent kan doorgaan met oefeningen aanmaken.Vervolg naar oefening-usecases.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Docent heeft geen bewerkrecht.Systeem blokkeert de flow.Generieke toegang-geweigerdafhandeling.Geen.
ALT-0023Docent annuleert na waarschuwing.Systeem sluit de flow en keert terug naar categorieoverzicht.Geen extra popup.Geen.
ALT-0036Naam ontbreekt of is ongeldig.Systeem toont veldvalidatie en slaat niet op.Inline validatie.Geen.
ALT-0046Kleur of icoon is ongeldig.Systeem toont veldvalidatie en slaat niet op.Inline validatie.Geen.
ALT-0057Categorie lijkt al te bestaan.Systeem blokkeert of adviseert bestaande categorie te koppelen volgens vastgestelde duplicaatregel.POP-DOC-AANB-NEW-CATEGORY-WARNING of specifieke doubluremelding.Geen.
ALT-0068Categorieaanmaak slaagt maar koppeling faalt binnen transactie.Systeem rolt volledige transactie terug.POP-DOC-AANB-CATEGORY-CREATE-FAILED.Geen blijvende mutatie.
ALT-00710Audit/historyregistratie faalt.Systeem rolt transactie terug wanneer audit verplicht transactioneel is.POP-DOC-AANB-CATEGORY-CREATE-FAILED.Geen blijvende mutatie.

9. Business rules

IDRegel
BR-001Een docent mag een nieuwe centrale categorie alleen aanmaken binnen een niveau waarop de docent bewerkrecht heeft.
BR-002Categorieën zijn centrale gedeelde tags; aanmaak door een docent maakt geen privé-categorie.
BR-003Naam, kleur en icoon vormen gedeelde categorie-identiteit en moeten bij aanmaak zorgvuldig gekozen worden.
BR-004Wanneer een passende bestaande categorie bestaat, moet hergebruik via koppelen de voorkeur hebben boven nieuwe aanmaak.
BR-005Een nieuwe centrale categorie wordt in deze flow direct gekoppeld aan het geselecteerde niveau.
BR-006Docenten mogen centrale categorie-eigenschappen na ingebruikname niet vrij wijzigen.
BR-007Centrale wijzigingen na aanmaak, migratie of samenvoeging van categorieën zijn beheerderverantwoordelijkheid.
BR-008Een nieuwe categorie wordt niet automatisch zichtbaar voor leerlingen zonder actieve onderliggende oefening.
BR-009Categorieaanmaak en niveaukoppeling moeten transactioneel samenhangend verwerkt worden.
BR-010De aanmaak moet auditbaar zijn met actor, tijdstip en relevante waarden.

10. Datavalidatie

Veld / objectValidatie
LevelIdMoet bestaan en bewerkbaar zijn voor de docent.
NameVerplicht, getrimd, binnen lengte-eisen en niet leeg na normalisatie.
NameNormalizedMoet geschikt zijn voor doublurecontrole en zoeken.
ColorKey / ColorValueMoet behoren tot toegestane categorie-kleurset of valide centrale kleurrepresentatie.
IconKeyMoet verwijzen naar toegestane icoonkeuze.
CategoryIdWordt server-side gegenereerd.
CreatedByUserIdWordt server-side gevuld.
LevelCategoryMoet unieke actieve koppeling tussen nieuw CategoryId en LevelId vormen.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
8CreateCategoriesNieuwe centrale categorie wordt aangemaakt met naam, kleur, icoon en auditvelden.
9CreateLevelCategoriesDe nieuwe categorie wordt direct aan het geselecteerde niveau gekoppeld.
10HistoryCategoryHistoryAanmaak en initiële waarden worden vastgelegd.
10EventCategoryCreatedDomeinevent voor de nieuwe centrale categorie.
10EventCategoryLinkedToLevelDomeinevent voor de directe koppeling aan het geselecteerde niveau.

12. Geen datamutaties

EntiteitReden
ExercisesCategorieaanmaak maakt geen oefening aan.
ExerciseModulesGeen technische module wordt geselecteerd.
ExerciseRunsLeerlingen starten niets in deze flow.
TeacherStudentLevelAuthorizationsLeerlingtoegang wijzigt niet.
SystemMessagesCategorieaanmaak via docentflow stuurt geen systeemberichten naar leerlingen.
FrontpageContentFrontpage-inhoud wordt niet gewijzigd.

13. State diagram

Niet van toepassing. Een categorie kent statusvelden, maar deze usecase maakt een actieve initiële categorie aan en doorloopt geen statuslifecycle.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

PopupKeyMomentDoel
POP-DOC-AANB-NEW-CATEGORY-WARNINGVoor het aanmaken van een nieuwe centrale categorie.Waarschuwt dat de categorie centrale gedeelde identiteit krijgt.
POP-DOC-AANB-CATEGORY-CREATE-FAILEDWanneer categorieaanmaak of koppeling niet kan worden opgeslagen.Voorkomt onduidelijke gedeeltelijke verwerking.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijft dat docenten nieuwe centrale categorieën kunnen aanmaken via de docentflow, maar dat dit geen privé-categorieën zijn.
Technisch OntwerpTechnisch Ontwerp: oefencatalogus en autorisatie en contextcontrole beschrijven de technische uitwerking. Beschrijf transactie voor Categories + LevelCategories + history en server-side doublurecontrole.
Software Requirements SpecificationNeem eisen op voor waarschuwing, validatie, audit en het voorkomen van onnodige doublures.
Database-informatieControleer Categories, LevelCategories en CategoryHistory.
OntwerpbronnenBeschrijven business rules, command, event en popupkeys.

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-007-001SRS-AUTH-001
SRS-AUTH-004
SRS-CAT-002
SRS-TCH-002
AC-AUTH-001
AC-AUTH-004
AC-CAT-002
AC-TCH-002
Een bevoegde docent een nieuwe centrale categorie kunnen laten aanmaken vanuit een geselecteerd niveau
REQ-UC-DOC-AANB-007-002SRS-CAT-001
SRS-SHR-001
SRS-TCH-002
AC-CAT-001
AC-SHR-001
AC-TCH-002
Vóór aanmaak duidelijk maken dat de categorie centrale gedeelde identiteit krijgt
REQ-UC-DOC-AANB-007-003SRS-AUTH-001
SRS-TCH-001
AC-AUTH-001
AC-TCH-001
Naam, kleur en icoon verplicht en server-side valideren
REQ-UC-DOC-AANB-007-004SRS-CAT-001
SRS-TCH-002
AC-CAT-001
AC-TCH-002
Controleren of een passende bestaande categorie al beschikbaar is
REQ-UC-DOC-AANB-007-005SRS-AUTH-004
SRS-CAT-001
SRS-TCH-002
AC-AUTH-004
AC-CAT-001
AC-TCH-002
De nieuwe categorie direct koppelen aan het geselecteerde niveau
REQ-UC-DOC-AANB-007-006SRS-CAT-002
SRS-TCH-002
AC-CAT-002
AC-TCH-002
Categorieaanmaak en niveaukoppeling transactioneel verwerken
REQ-UC-DOC-AANB-007-007SRS-TCH-001
SRS-NFR-AUD-001
AC-TCH-001
AC-NFR-AUD-001
Aanmaak en koppeling auditbaar vastleggen
REQ-UC-DOC-AANB-007-008SRS-AUTH-001
SRS-CAT-001
SRS-LRN-009
SRS-TCH-002
AC-AUTH-001
AC-CAT-001
AC-LRN-009
AC-TCH-002
Geen oefeningen of leerlingautorisaties aanmaken bij categorieaanmaak
REQ-UC-DOC-AANB-007-009SRS-RDM-001
SRS-RDM-005
SRS-CAT-001
SRS-TCH-002
AC-RDM-001
AC-RDM-005
AC-CAT-001
AC-TCH-002
De nieuwe categorie na succesvolle verwerking tonen in het categorieoverzicht
REQ-UC-DOC-AANB-007-010SRS-CAT-001
SRS-TCH-002
SRS-NFR-SEC-001
SRS-NFR-AUD-001
AC-CAT-001
AC-TCH-002
AC-NFR-SEC-001
AC-NFR-AUD-001
Categorieaanmaak veilig terugrollen wanneer koppeling of auditregistratie faalt