Skip to main content

5. Nieuwe oefening

Dit hoofdstuk beschrijft de flow waarmee een docent binnen een gekozen niveau/categorie een nieuwe concrete oefening toevoegt. De mockup bevat bewust twee opeenvolgende views: eerst de generieke modulekeuze en daarna de generieke configuratiecontainer die door een technische oefenmodule gevuld moet worden. De concrete inhoud van individuele oefenmodules wordt niet in dit hoofdstuk uitgewerkt, maar hoort thuis in de aparte documentatiestructuur voor Oefenmodules. Het generieke contract staat in Moduleplatform en contract; de eerste concrete rekenmodule staat in Optellen & Aftrekken (simpel).

5.1 Nieuwe oefening toevoegen

5.1.1 Schermafbeelding

oefenhub_docent_03_nieuwe_oefening_v1_22.png

5.1.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-DOC-03-01
SchermnaamNieuwe oefening — Modulekeuze
Doelgroep / onderdeelDocent
Bronbestandoefenhub_docent_03_nieuwe_oefening_v1_22.html
MockupversieV1.22
Screenshotbestandoefenhub_docent_03_nieuwe_oefening_v1_22.png
Processtap / contextDocent voegt binnen een reeds gekozen niveau/categorie een nieuwe concrete oefening toe door eerst een technische module te selecteren.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en afgeleide architectuur-/databroncontext.
OpmerkingenDeze view beschrijft alleen de generieke modulekeuze. De configuratiecontainer na Selecteer en configureer wordt apart beschreven in hoofdstuk 5.2. Concrete technische module-inhoud wordt apart onder Oefenmodules gedocumenteerd.
Route / URL-patroonFunctioneel routepatroon binnen docentcontext: Oefenaanbod > gekozen niveau > gekozen categorie > actie Nieuwe oefening.
Autorisatie / vereiste rol-contextActieve docentcontext. Een actieve collaborator op het niveau mag deze inhoudelijke beheerflow gebruiken, maar krijgt hiermee geen toegang tot leerlingen, resultaten, geschiedenis of live meekijken.
Primair domeinobject / hoofdentiteitSelectie van een ExerciseModules-record als basis voor een nieuw Exercises-record binnen de huidige categoriecontext.
Gerelateerde schermen / navigatie03_niveaus_en_categorieen, 04_niveau_categorie_modals, 05.2_oefening_configureren, Oefenmodules.
Data-karakterEerst databasegedreven modulelijst vanuit ExerciseModules; daarna strategy-/library-gedreven modulebeschrijving en configuratieflow.

5.1.3 Functionele beschrijving

Deze view vormt de eerste stap van de flow Nieuwe oefening toevoegen. De docent bevindt zich al binnen een gekozen docentcontext, niveau en categorie. Vanuit die context kiest de docent welke technische module gebruikt wordt als basis voor de nieuwe concrete oefening.

Bovenaan staat een breadcrumb met Home > Oefenaanbod > Nieuwe oefening. Daarna volgt een introductieblok met de titel Nieuwe oefening toevoegen. De tekst maakt duidelijk dat de docent eerst een technische module kiest die door beheer beschikbaar is gesteld en daarna de configuratie opent om een concrete oefening samen te stellen voor leerlingen.

De hoofdsectie Selecteer een technische module bestaat uit twee functionele delen:

  1. Beschikbare modules
    Links staat een scrollbare lijst met technisch beschikbare modules. Per module worden minimaal de technische referentie en de functionele weergavenaam getoond. Deze lijst is administratief/databasegedreven en komt uit ExerciseModules.

  2. Detailoverzicht geselecteerde module
    Rechts staat de detailinformatie van de gekozen module. De mockup benoemt expliciet dat de beschrijving, beschikbare configuraties en verdere modal-/paginaopbouw via een strategy pattern uit de gekozen library worden opgehaald en niet uit de database komen.

De actie Selecteer en configureer is de overgang naar de tweede view in dit hoofdstuk. Functioneel betekent dit nog niet dat er al een concrete oefening is opgeslagen. De docent heeft op dat moment alleen een module gekozen en opent daarna de generieke configuratiecontainer waar de gekozen technische module zijn configuratie-UI in moet renderen.

Belangrijke uitgangspunten voor deze view:

  • Alleen modules die administratief beschikbaar zijn gesteld, mogen in de lijst verschijnen.
  • De modulelijst zelf is databasegedreven via ExerciseModules.
  • De inhoudelijke beschrijving van de geselecteerde module komt uit de technische module-library.
  • Een concrete oefening kan pas ontstaan nadat de configuratieview succesvol is ingevuld en opgeslagen.
  • Bij opslaan vormt de gekozen module een verplichte verwijzing op het nieuwe Exercises-record.
  • De pagina mag geen modulespecifieke invoervelden bevatten; die horen in de configuratiecontainer of in de aparte module-documentatie.

5.1.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-DOC-03-01-S01SPaginaHoofdview voor het starten van de flow Nieuwe oefening.Nieuwe oefening toevoegenGenerieke modulekeuze binnen docentcontext.CreateExerciseModuleSelectionView
SCH-DOC-03-01-F01FBreadcrumbHuidige paginapositie binnen de docentflow.Home > Oefenaanbod > Nieuwe oefeningRead-only navigatie-/oriëntatie-element.CreateExerciseBreadcrumb
SCH-DOC-03-01-S02SIntroblokIntroductieblok met titel en begeleidende tekst.Nieuwe oefening toevoegenLegt de volgorde modulekeuze → configuratie uit.CreateExerciseIntroSection
SCH-DOC-03-01-F02FIntroblok > titelHoofdtitel van de view.Nieuwe oefening toevoegenRead-only schermtekst.CreateExerciseTitle
SCH-DOC-03-01-F03FIntroblok > tekstKorte uitleg over het selecteren van een technische module.Kies eerst een technische module ...Read-only begeleidende tekst.CreateExerciseIntroText
SCH-DOC-03-01-S03SHoofdsectieSectie waarin de technische module wordt geselecteerd.Selecteer een technische moduleDatabasegedreven selectieblok.ModuleSelectionSection
SCH-DOC-03-01-F04FS03 > toelichtingUitleg over de modulelijst en detailinformatie.Links staat de lijst ...Benoemt expliciet dat de beschrijving uit de library komt.ModuleSelectionExplanation
SCH-DOC-03-01-T01TLinkerkolomScrollbare lijst met beschikbare technische modules.Beschikbare modulesBevat technische referentie en displaynaam per regel.AvailableModulesList
SCH-DOC-03-01-F05FT01 > lijsttoelichtingUitleg boven de lijst met modules.Technische weergavenaam en referentie zoals door beheer beschikbaar gesteld.Read-only toelichting.AvailableModulesHelpText
SCH-DOC-03-01-A01AT01 > module-itemSelecteert één technische module en ververst de detailweergave.OptellenAftrekken_Simple_v1 / ...Label verschilt per module.SelectExerciseModuleAction
SCH-DOC-03-01-F06FT01 > module-itemTechnische referentie / codewaarde van de module.OptellenAftrekken_Simple_v1Read-only waarde uit ExerciseModules.ExerciseModuleCodeReferenceField
SCH-DOC-03-01-F07FT01 > module-itemFunctionele weergavenaam van de module.Optellen & Aftrekken (simpel)Read-only waarde uit ExerciseModules.ExerciseModuleDisplayNameField
SCH-DOC-03-01-S04SRechterkolomDetailweergave van de geselecteerde technische module.Detailoverzicht geselecteerde moduleWordt gevuld op basis van de geselecteerde module.SelectedModuleDetailSection
SCH-DOC-03-01-F08FS04 > toelichtingTekst die aangeeft wanneer de detailweergave gevuld wordt.Dit detailoverzicht wordt gevuld zodra een docent een module selecteert.Read-only helpertekst.SelectedModuleDetailHelpText
SCH-DOC-03-01-F09FS04 > detailkaartTitel van de geselecteerde module.Optellen & Aftrekken (simpel)Runtime waarde bij modulekeuze.SelectedModuleTitle
SCH-DOC-03-01-F10FS04 > detailkaartInhoudelijke modulebeschrijving.Deze module is in staat om sommen te genereren ...Komt uit de technische module-library, niet uit de database.SelectedModuleDescription
SCH-DOC-03-01-M01MS04 > detailkaartArchitectuurtoelichting over herkomst van beschrijving en configuratie.De concrete beschrijving ... komen dus niet uit de database.Informatieve melding.ModuleStrategyExplanationMessage
SCH-DOC-03-01-B01BS04 > detailkaartStart de configuratieview voor de gekozen module.Selecteer en configureerOpent hoofdstuk 5.2 / ModuleConfigurationView.OpenModuleConfigurationButton

5.1.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-DOC-03-01-F01BreadcrumbHome > Oefenaanbod > Nieuwe oefeningCreateExerciseBreadcrumbGeen persistente domeinbron; route-/navigatiecontextAfgeleid uit huidige docentroute en geselecteerde contextNavigatietekstNeeMoet overeenkomen met de actuele routecontext.
SCH-DOC-03-01-S03HoofdsectieSelecteer een technische moduleModuleSelectionSectionGeen zelfstandige tabel; UI-container boven op ExerciseModules-selectieRuntime viewmodel voor modulekeuzeSection / containerNeeAlleen beschikbaar binnen actieve docent- of collaboratorcontext.
SCH-DOC-03-01-T01LinkerkolomBeschikbare modulesAvailableModulesListExerciseModulesQuery op administratief beschikbare modules voor docentgebruik; gefilterd op actieve/beschikbare recordsCollectieNee direct; selectie per regelAlleen inzetbare modules mogen kiesbaar zijn. Test-only modules zijn alleen zichtbaar wanneer de rolcontext dat toestaat.
SCH-DOC-03-01-A01Module-itemOptellenAftrekken_Simple_v1 / ...SelectExerciseModuleActionGeen persistente zelfstandige databron; selectie verwijst naar bestaand ExerciseModules-recordTijdelijke UI-state met gekozen ExerciseModuleId / CodeReferenceAction / selection stateJaSelectie wordt pas persistent bij opslaan van de nieuwe oefening.
SCH-DOC-03-01-F06Module-itemOptellenAftrekken_Simple_v1ExerciseModuleCodeReferenceFieldExerciseModules.CodeReferenceUitleeswaarde uit het geselecteerde module-recordStringNeeStabiele technische referentie voor strategy/library-resolutie.
SCH-DOC-03-01-F07Module-itemOptellen & Aftrekken (simpel)ExerciseModuleDisplayNameFieldExerciseModules.DisplayNameUitleeswaarde uit het geselecteerde module-recordStringNeeFunctionele naam voor docentweergave.
SCH-DOC-03-01-F09DetailkaartOptellen & Aftrekken (simpel)SelectedModuleTitleExerciseModules.DisplayNameAfgeleid uit huidige module-selectieStringNeeAlleen gevuld wanneer één module geselecteerd is.
SCH-DOC-03-01-F10DetailkaartModulebeschrijvingSelectedModuleDescriptionGeen primaire databasebron; technische module-library / strategy-componentRuntime gerenderde beschrijvingscomponent van de gekozen moduleRich text / component-outputNeeBeschrijving moet via de module-interface opgehaald kunnen worden; database bevat alleen de modulemetadata.
SCH-DOC-03-01-M01DetailkaartStrategy-toelichtingModuleStrategyExplanationMessageGeen persistente domeinbron; schermuitleg / code-contentVaste toelichting in de mockup / documentatiecontextInformatiemeldingNeeMoet het onderscheid tussen databasegedreven modulelijst en librarygedreven module-inhoud verduidelijken.
SCH-DOC-03-01-B01DetailkaartSelecteer en configureerOpenModuleConfigurationButtonGeen persistente databronRuntime command op basis van geselecteerde moduleAction / commandJaAlleen bruikbaar wanneer een geldige module geselecteerd is; opent de configuratiecontainer zonder direct op te slaan.

5.1.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-DOC-03-01-01SRS-TCH-001
AC-TCH-001
Vanuit een gekozen categorie een view tonen waarmee een docent de flow voor een nieuwe concrete oefening kan starten
REQ-SCH-DOC-03-01-02SRS-TCH-001
AC-TCH-001
Eerst een databasegedreven lijst van administratief beschikbare technische modules tonen
REQ-SCH-DOC-03-01-03SRS-TCH-001
AC-TCH-001
Per module in de lijst minimaal technische referentie en functionele weergavenaam zichtbaar zijn
REQ-SCH-DOC-03-01-04SRS-TCH-001
AC-TCH-001
Alleen modules die functioneel beschikbaar zijn voor de actieve docentcontext mogen kiesbaar zijn
REQ-SCH-DOC-03-01-05SRS-TCH-001
AC-TCH-001
Na selectie van een module het systeem detailinformatie over die module tonen voordat de docent de configuratie opent
REQ-SCH-DOC-03-01-06SRS-TCH-001
AC-TCH-001
De modulebeschrijving runtime vanuit de bijbehorende technische module/library geladen kunnen worden en geen als primaire inhoud uit de database komen
REQ-SCH-DOC-03-01-07SRS-TCH-001
AC-TCH-001
De database voor modulekeuze minimaal de administratieve modulemetadata leveren die nodig is om een technische module te identificeren en beschikbaar te stellen
REQ-SCH-DOC-03-01-08SRS-TCH-001
AC-TCH-001
De actie Selecteer en configureer de gekozen modulecontext doorgeven aan de configuratieview zonder al een concrete oefening definitief op te slaan
REQ-SCH-DOC-03-01-09SRS-TCH-001
AC-TCH-001
Een concrete oefening mag pas worden aangemaakt nadat de configuratieview succesvol is gevalideerd en opgeslagen
REQ-SCH-DOC-03-01-10SRS-AUTH-001
SRS-LIVE-002
AC-AUTH-001
AC-LIVE-002
Een actieve collaborator op het niveau mag deze flow gebruiken voor inhoudelijke niveauconfiguratie, maar krijgt via deze view geen toegang tot leerlingen, resultaten, geschiedenis of live meekijken

5.2 Oefening configureren

Deze view wordt bereikt door in hoofdstuk 5.1 op Selecteer en configureer te klikken. In de mockup is de technische moduleconfiguratie bewust vervangen door de tekst {Placeholder voor technische oefen modules}. Daarmee documenteert dit hoofdstuk vooral de generieke container, de vereiste module-interface en de uniforme opslag-/validatieregels; concrete modulevelden worden per technische oefenmodule apart uitgewerkt onder Oefenmodules.

5.2.1 Schermafbeelding

oefenhub_docent_03_nieuwe_oefening_v1_22_knop_selecteer_en_configureer.png

5.2.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-DOC-03-02
SchermnaamNieuwe oefening — Module configureren
Doelgroep / onderdeelDocent
Bronbestandoefenhub_docent_03_nieuwe_oefening_v1_22.html
MockupversieV1.22
Screenshotbestandoefenhub_docent_03_nieuwe_oefening_v1_22_knop_selecteer_en_configureer.png
Processtap / contextDocent heeft een technische module geselecteerd en opent de generieke configuratiecontainer waarin de gekozen module zijn eigen configuratie-UI moet renderen.
DocumentatiestatusUitgewerkt als generieke moduleconfiguratiecontainer; concrete module-inhoud wordt apart uitgewerkt onder Oefenmodules.
OpmerkingenDe placeholder is bewust; dit scherm documenteert niet de inhoud van één specifieke module, maar het uniforme contract waaraan alle technische oefenmodules moeten voldoen.
Route / URL-patroonFunctioneel dezelfde flow als 5.1: Oefenaanbod > gekozen niveau > gekozen categorie > Nieuwe oefening > Selecteer en configureer.
Autorisatie / vereiste rol-contextActieve docentcontext of actieve collaborator met bewerkrechten op het geselecteerde niveau.
Primair domeinobject / hoofdentiteitNieuwe Exercises-createflow met gekozen ExerciseModules-record en nog niet opgeslagen modulespecifieke configuratiepayload.
Gerelateerde schermen / navigatie05.1_nieuwe_oefening_toevoegen, Oefenmodules, 03_niveaus_en_categorieen.
Data-karakterGenerieke container met strategy-/librarygedreven inhoud; opslag via centrale generieke oefeningservice naar Exercises en koppeling via TeacherLevelCategoryExercises.

5.2.3 Functionele beschrijving

Na het kiezen van een technische module opent de view Module configureren. De modulekeuzesectie wordt verborgen en de docent ziet een grote configuratiecontainer met rechtsboven de actie Terug naar overzicht. In het midden staat binnen de huidige scope alleen de tekst {Placeholder voor technische oefen modules}.

Deze opzet is bewust gekozen omdat de configuratie-inhoud niet door dit generieke scherm zelf bepaald wordt. Het generieke scherm levert alleen:

  • de pagina-/containerstructuur;
  • de gekozen modulecontext;
  • de terugactie naar de modulekeuze;
  • de plek waar de technische module zijn configuratie-UI rendert;
  • de centrale opslag- en validatieafhandeling rond een nieuwe concrete oefening.

De inhoudelijke afspraken voor technische oefenmodules, zoals het modulecontract, de verdeling tussen generieke engine en modulelogica, de JSON-/payloadopbouw en de documentatie van concrete modules, worden centraal vastgelegd in Oefenmodules. Dit hoofdstuk verwijst daar bewust naar, zodat de docentflow zelf generiek blijft en module-specifieke details niet door de schermdocumentatie van de docentomgeving heen gaan lopen.

Elke technische oefenmodule moet zelf minimaal twee typen informatie kunnen leveren:

  1. Module-informatie voor de selectieview
    Dit betreft de titel, korte uitleg en/of beschrijvingscomponent die in hoofdstuk 5.1 rechts in het detailoverzicht wordt getoond.

  2. Configuratiecomponent voor deze view
    Dit betreft de volledige UI waarin de docent de oefening configureert. Deze component levert modulespecifieke velden, helperteksten, validatiefeedback en een moduleconfiguratie-DTO/payload.

De generieke applicatielaag blijft verantwoordelijk voor het opslaan van de concrete oefening. De technische module mag dus bepalen welke configuratievelden nodig zijn en hoe deze lokaal gevalideerd worden, maar de uiteindelijke opslag verloopt uniform. Functioneel betekent dit dat de module een gevalideerde configuratiepayload teruggeeft aan de centrale oefeningservice, waarna de applicatie:

  • een nieuw Exercises-record aanmaakt;
  • de gekozen ExerciseModules-verwijzing vastlegt;
  • de generieke oefengegevens vastlegt, zoals naam, icoon en status;
  • de modulespecifieke configuratiepayload opslaat;
  • de oefening koppelt aan de huidige categoriecontext;
  • audit-/historie-informatie vastlegt voor de aanmaak.

Een nieuw aangemaakte oefening start functioneel in In onderhoud. Leerlingen mogen de oefening pas zien wanneer deze expliciet actief is gemaakt. Dit voorkomt dat een half geconfigureerde of nog niet geteste oefening direct beschikbaar komt voor normale leerlingruns.

De technische richting sluit aan bij een strategy-/plugin-achtige modulearchitectuur. De database bevat de administratieve modulemetadata en de verwijzing naar de gekozen module, maar niet de volledige UI-opbouw van iedere module. De runtime koppelt op basis van de technische referentie of module-id naar de juiste strategy/library. Die module levert vervolgens beschrijving, configuratiecomponent, configuratie-DTO, validatie en waar nodig module-specifieke conversie naar de generieke opslagpayload.

De placeholder in deze mockup moet daarom niet als lege functionaliteit worden gelezen, maar als een expliciete markering dat de concrete moduleconfiguratie een eigen documentatie- en implementatielaag krijgt onder Oefenmodules.

5.2.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-DOC-03-02-S01SConfiguratieviewGenerieke view/container voor het configureren van de gekozen technische module.Module configurerenWordt zichtbaar na Selecteer en configureer.ModuleConfigurationView
SCH-DOC-03-02-F01FConfiguratieview > titelTitel van de configuratiecontainer.Module configurerenRead-only containertekst.ModuleConfigurationTitle
SCH-DOC-03-02-B01BConfiguratieview > kopactieSluit de configuratiecontainer en toont de modulekeuze opnieuw.Terug naar overzichtAnnuleert nog niet opgeslagen configuratie.ReturnToModuleSelectionButton
SCH-DOC-03-02-S02SConfiguratieview > bodyInhoudsgebied waar de technische module zijn configuratiecomponent moet renderen.{Placeholder voor technische oefen modules}Placeholder voor moduleconfiguraties die onder de oefenmodule-documentatie worden uitgewerkt.TechnicalModuleConfigurationHost
SCH-DOC-03-02-M01MS02 > placeholdertekstInformatieve placeholdertekst in plaats van concrete modulevelden.{Placeholder voor technische oefen modules}Geeft aan dat concrete module-UI onder Oefenmodules wordt gedocumenteerd.TechnicalModulePlaceholderMessage
SCH-DOC-03-02-FORM01FORMS02 > toekomstige modulecomponentFormuliercontext die door de gekozen technische module geleverd wordt.Afhankelijk van moduleNiet zichtbaar in huidige mockup; contractueel wel vereist.ModuleProvidedConfigurationForm
SCH-DOC-03-02-F02FFORM01 > toekomstige generieke oefenidentiteitGenerieke basisgegevens die onderdeel van elke concrete oefening moeten zijn.Naam / icoon / statusConcrete positie kan per module-UI verschillen, maar opslag blijft uniform.GenericExerciseIdentityFields
SCH-DOC-03-02-F03FFORM01 > toekomstige modulepayloadModulespecifieke configuratiewaarden die door de module worden verzameld.Afhankelijk van moduleWordt als DTO/payload teruggegeven aan centrale opslagflow.ModuleSpecificConfigurationPayload
SCH-DOC-03-02-M02MFORM01 > toekomstige validatiefeedbackModulespecifieke validatie- en foutmeldingen.Afhankelijk van moduleModule valideert inhoudelijk; shell verwerkt resultaat uniform.ModuleValidationFeedback
SCH-DOC-03-02-A01AFORM01 > toekomstige submitactieSlaat de nieuwe concrete oefening op via de centrale generieke opslagactie.Opslaan / toevoegenNiet zichtbaar in placeholdermockup, maar vereist voor iedere concrete moduleconfiguratie.SaveConfiguredExerciseAction

5.2.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-DOC-03-02-S01ConfiguratieviewModule configurerenModuleConfigurationViewGeen zelfstandige tabel; runtime view bovenop gekozen ExerciseModules-record en nieuwe Exercises-createflowUI-state na klik op Selecteer en configureer met geselecteerde modulecontextView state / containerNeeAlleen openen wanneer één geldige module geselecteerd is.
SCH-DOC-03-02-B01KopactieTerug naar overzichtReturnToModuleSelectionButtonGeen persistente databronRuntime UI-commandAction / commandJaSluit de configuratiecontainer zonder persistente wijziging en toont de modulekeuze opnieuw.
SCH-DOC-03-02-S02Body{Placeholder voor technische oefen modules}TechnicalModuleConfigurationHostGeen vaste domeintabel; hostcontainer voor technische modulecomponentStrategy-/libraryresolutie op basis van gekozen ExerciseModules.CodeReference of vergelijkbare technische sleutelComponent hostNeeHost moet modulecomponent dynamisch kunnen laden; bij ontbreken/fout moet een fouttoestand getoond kunnen worden.
SCH-DOC-03-02-M01Body{Placeholder voor technische oefen modules}TechnicalModulePlaceholderMessageGeen persistente domeinbron; tijdelijke mockuptekstStatische placeholder in HTML/mockupInformatiemeldingNeeMag in productie vervangen worden door modulecomponent of fallbackmelding; concrete modulewerking wordt beschreven onder Oefenmodules.
SCH-DOC-03-02-FORM01Toekomstige modulecomponentAfhankelijk van moduleModuleProvidedConfigurationFormTechnische module-library; geen generiek relationeel veldschemaDoor module gerenderde configuratiecomponent en configuratie-DTOForm object / component-outputJaElke module moet zijn eigen invoer kunnen verzamelen en valideren binnen het uniforme contract zoals centraal beschreven onder Oefenmodules.
SCH-DOC-03-02-F02Generieke oefenidentiteitNaam / icoon / statusGenericExerciseIdentityFieldsExercisesDirecte docentinput of defaults binnen generieke opslagflowSamengesteld objectJaElke concrete oefening moet minimaal herkenbare generieke identiteit krijgen; nieuwe oefening start standaard in onderhoud.
SCH-DOC-03-02-F03ModulepayloadAfhankelijk van moduleModuleSpecificConfigurationPayloadExercises configuratiepayloadveldGevalideerde DTO/payload afkomstig uit de gekozen moduleJSON/base64 payload / objectJaPayload is module-specifiek, uitbreidbaar en wordt generiek opgeslagen; validatie gebeurt module-specifiek.
SCH-DOC-03-02-M02ValidatiefeedbackAfhankelijk van moduleModuleValidationFeedbackGeen persistente bron voor normale feedback; validatieresultaat uit moduleResultaat van modulespecifieke validatieValidatieresultaat / meldingNeeOpslaan mag niet doorgaan wanneer de module validatiefouten teruggeeft.
SCH-DOC-03-02-A01SubmitactieOpslaan / toevoegenSaveConfiguredExerciseActionExercises + TeacherLevelCategoryExercises + ExerciseHistory / auditlaag + gekozen ExerciseModulesCentrale applicatieservice ontvangt generieke oefengegevens en gevalideerde modulepayloadAction / commandJaOpslag verloopt uniform; module levert configuratie en validatie, niet de persistente opslagafhandeling zelf.

5.2.6 Schermtrace naar SRS en acceptatiecriteria

De onderstaande tabel legt per schermrequirement de koppeling naar het centrale schermrequirements-trace-register, SRS-requirements en acceptatiecriteria vast. De normatieve requirementtekst staat in de SRS; dit schermdocument beschrijft alleen de lokale schermcontext.

Deze tabel bevat alleen schermtraceability. De normatieve requirementtekst en acceptatiecriteria staan centraal in de SRS.

SchermrequirementDektSchermcontext
REQ-SCH-DOC-03-02-01SRS-TCH-001
AC-TCH-001
Na klik op Selecteer en configureer een generieke configuratieview tonen voor de gekozen technische module
REQ-SCH-DOC-03-02-02SRS-TCH-001
AC-TCH-001
De configuratieview de modulekeuze uit hoofdstuk 5.1 behouden als runtime context voor verdere configuratie en opslag
REQ-SCH-DOC-03-02-03SRS-TCH-001
AC-TCH-001
De configuratieview een uniforme host/container bieden waarin technische oefenmodules hun eigen configuratiecomponent kunnen renderen
REQ-SCH-DOC-03-02-04SRS-TCH-001
AC-TCH-001
Technische module: minimaal module-informatie kunnen leveren voor de selectie-/detailview uit hoofdstuk 5.1
REQ-SCH-DOC-03-02-05SRS-TCH-001
AC-TCH-001
Technische module: minimaal een configuratiecomponent kunnen leveren voor de configuratieview uit hoofdstuk 5.2
REQ-SCH-DOC-03-02-06SRS-TCH-001
AC-TCH-001
Technische module: zijn configuratie kunnen omzetten naar een gevalideerde configuratie-DTO of payload die generiek opgeslagen kan worden
REQ-SCH-DOC-03-02-07SRS-TCH-001
AC-TCH-001
Modulespecifieke validatie door de technische module uitgevoerd kunnen worden, terwijl de generieke applicatielaag bepaalt of opslaan wel of niet doorgaat
REQ-SCH-DOC-03-02-08SRS-TCH-001
AC-TCH-001
Opslaan van een nieuwe oefening via één centrale generieke opslagactie verlopen, ongeacht welke technische module gekozen is
REQ-SCH-DOC-03-02-09SRS-TCH-001
AC-TCH-001
Opslaan: een nieuw Exercises-record aanmaken met een verplichte verwijzing naar precies één ExerciseModules-record
REQ-SCH-DOC-03-02-10SRS-TCH-001
AC-TCH-001
Opslaan: de modulespecifieke configuratiepayload opslaan zonder voor iedere module een apart relationeel configuratieschema te vereisen
REQ-SCH-DOC-03-02-11SRS-TCH-008
AC-TCH-008
Opslaan: de nieuwe oefening koppelen aan de actuele niveau-/categoriecontext via de daarvoor bestemde koppelingstabel
REQ-SCH-DOC-03-02-12SRS-TCH-008
AC-TCH-008
Een nieuw aangemaakte oefening standaard de status In onderhoud krijgen en geen direct zichtbaar zijn voor leerlingen
REQ-SCH-DOC-03-02-13SRS-NFR-AUD-001
SRS-TCH-001
AC-NFR-AUD-001
AC-TCH-001
Aanmaak en latere wijzigingen van concrete oefeningen auditbaar vastleggen, inclusief uitvoerende gebruiker en wijzigingsmoment
REQ-SCH-DOC-03-02-14SRS-NFR-AUD-001
SRS-TCH-001
AC-NFR-AUD-001
AC-TCH-001
De technische module mag de inhoud en vorm van de configuratie-UI bepalen, maar mag de centrale opslag-, audit- en koppelingsregels niet omzeilen
REQ-SCH-DOC-03-02-15SRS-TCH-001
AC-TCH-001
Wanneer een technische module niet geladen kan worden, het systeem een duidelijke fouttoestand kunnen tonen en opslaan blokkeren
REQ-SCH-DOC-03-02-16SRS-TCH-001
AC-TCH-001
De actie Terug naar overzicht de configuratieview sluiten en terugkeren naar de modulekeuze zonder onbedoelde persistente wijziging
REQ-SCH-DOC-03-02-17SRS-TCH-001
AC-TCH-001
De moduleconfiguratie uitbreidbaar blijven zodat latere moduleversies nieuwe optionele configuratievelden kunnen toevoegen zonder bestaande configuraties te breken
REQ-SCH-DOC-03-02-18SRS-TCH-001
AC-TCH-001
Concrete modulevelden, defaults, validatieregels en renderdetails per technische oefenmodule apart gedocumenteerd kunnen worden onder Oefenmodules

5.3 Technische koppeling

Voor technische uitwerking zijn vooral relevant: