Skip to main content

5. Start nieuwe oefening

5.1 Schermafbeelding

oefenhub_leerling_04_start_nieuwe_v4_3.png

5.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-LLN-04-01
SchermnaamStart nieuwe oefening — Oefenrun uitvoeren
Doelgroep / onderdeelLeerling
Bronbestandoefenhub_leerling_04_start_nieuwe_v4_3.html
MockupversieV4.3
Screenshotbestandoefenhub_leerling_04_start_nieuwe_v4_3.png
Processtap / contextNadat de leerling op de oefening-startpagina Start nieuwe heeft gekozen, is een nieuwe exercise run gegenereerd en opent dit scherm de runtime-weergave voor die run.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende module-documentatie.
OpmerkingenDe zichtbare module-inhoud in de mockup is bewust een placeholder. De inhoudelijke oefenmodule wordt niet in deze schermdocumentatie uitgewerkt, maar per technische module beschreven bij de oefenmodules.
Route / URL-patroonFunctioneel routepatroon: leerlingcontext > geselecteerde categorie > geselecteerde oefening > actieve oefenrun.
Autorisatie / vereiste rol-contextActieve leerlingcontext; de exercise run moet bij de ingelogde leerling horen en voortkomen uit een toegankelijke niveau-, categorie- en oefeningcontext.
Primair domeinobject / hoofdentiteitActieve ExerciseRun met gekoppelde Exercise, ExerciseModule en server-side voortgang.
Gerelateerde schermen / navigatie04_oefening, 06_geschiedenis_overzicht, 07_geschiedenis_details, oefenmodules.
Data-karakterRuntime-scherm; alle zichtbare context-, voortgangs-, vraag- en antwoordwaarden zijn dynamisch per leerling, niveau, oefening, technische module en concrete exercise run.

5.3 Functionele beschrijving

Dit scherm toont de generieke OefenHub-runtimeomgeving voor een nieuwe oefenrun nadat de leerling op de vorige pagina Start nieuwe heeft gekozen. Op dat moment is de nieuwe ExerciseRun al server-side gegenereerd en opgeslagen. Dit scherm is dus niet verantwoordelijk voor het kiezen van het aantal vragen of het aanmaken van de run; het opent en toont de reeds aangemaakte run.

De pagina bestaat functioneel uit drie lagen:

  1. Generieke leerlingcontext
    De header, categorienavigatie, breadcrumb en pagina-intro tonen waar de leerling zich bevindt. In de mockup is dat bijvoorbeeld Rekenen > Optellen > Nieuwe oefening, maar deze labels zijn dynamisch en worden afgeleid uit de geselecteerde runcontext.

  2. Runcontext
    De applicatie laadt de actieve ExerciseRun, controleert of deze bij de ingelogde leerling hoort en bepaalt op basis van de gekoppelde oefening welke technische module gebruikt moet worden. De run bevat de uniforme metadata en de server-side voortgang die nodig zijn voor hervatten, opslaan na ieder antwoord en eventuele live meekijkscenario's.

  3. Technische oefenmodule
    De inhoudelijke vraagweergave, antwoordvelden, module-specifieke validatie, feedback en eventuele module-eigen knoppen worden geleverd door de technische oefenmodule. De mockup toont hiervoor bewust {Placeholder voor technische oefen modules}. Deze placeholder hoort niet als productie-inhoud te verschijnen.

De technische module wordt niet vrij in deze schermdocumentatie uitgewerkt. De centrale verwijzing voor module-uitwerkingen is: Modules - schermdocumentatie. Per module kan daar worden beschreven hoe de leerlingweergave, vraagopbouw, feedback en module-specifieke interactie precies werken.

Proces bij openen van dit scherm

Bij het openen van dit scherm verloopt het proces functioneel als volgt:

  1. De applicatie ontvangt of bepaalt de actieve ExerciseRunId.
  2. Het systeem controleert server-side of de run hoort bij de ingelogde leerling en binnen een toegankelijke leerlingcontext valt.
  3. Het systeem laadt de runmetadata, de gekoppelde oefening, het actieve niveau, de categorie en de gekoppelde technische module.
  4. Via de aan de oefening gekoppelde ExerciseModuleId en de modulemetadata uit ExerciseModules wordt de juiste technische module bepaald.
  5. Via het strategy pattern wordt de juiste technische module-library aangesproken.
  6. De module krijgt een contextobject mee, bijvoorbeeld op basis van ExerciseRunId en het actuele vraagnummer.
  7. De module rendert de inhoudelijke vraag- en antwoordweergave binnen de generieke modulecontainer van dit scherm.
  8. Na iedere bevestigde antwoordstap wordt voortgang server-side opgeslagen, zodat hervatten en live meekijken betrouwbaar blijven.

Interpretatie van mockupwaarden

De zichtbare waarden in de mockup zijn voorbeeldwaarden. Namen zoals Emma, de categorie Rekenen, de oefening Optellen, de breadcrumb, het aantal berichten, de actieve oefening en de technische moduleplaceholder mogen niet als vaste data worden geïnterpreteerd.

Ook eventuele module-inhoud die later op deze plek verschijnt, verschilt per:

  • leerling;
  • actief niveau;
  • geselecteerde categorie;
  • geselecteerde oefening;
  • technische module;
  • concrete ExerciseRun;
  • huidig vraagnummer en voortgangsstatus.

5.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-LLN-04-01-S01SectionHeader / leerlingnavigatieGenerieke leerlingheader met logo, welkomstregel, categorienavigatie, berichtenicoon en profielingang.Welkom terug, <naam>Generieke headercomponent; waarden zijn dynamisch.StudentHeaderSection
SCH-LLN-04-01-F01FieldHeader — welkomstregelToont de ingelogde leerlingnaam of passende weergavenaam.Welkom terug, <naam>In de mockup staat Emma als voorbeeldwaarde.StudentWelcomeText
SCH-LLN-04-01-S02SectionCategoriebalkToont de categorieën en oefeningen die voor de leerling in het actieve niveau beschikbaar zijn.Rekenen, Taal, Engels, Spelling, TopografieAlleen toegankelijke categorieën/oefeningen mogen functioneel actief zijn.StudentCategoryNavigationSection
SCH-LLN-04-01-F02FieldCategoriebalk — actieve categorieGeeft aan welke categorie in de huidige runcontext actief is.<categorienaam>In de mockup is dit Rekenen; dynamisch per run.ActiveCategoryName
SCH-LLN-04-01-F03FieldDropdown — actieve oefeningGeeft aan welke oefening binnen de actieve categorie wordt uitgevoerd.<oefeningnaam>In de mockup is dit Optellen; dynamisch per run.ActiveExerciseName
SCH-LLN-04-01-S03SectionBreadcrumbToont de padcontext naar de actieve oefenrun.Home › <categorie><oefening> › Nieuwe oefeningLabels komen uit de runcontext; niet hardcoded.ExerciseRunBreadcrumbSection
SCH-LLN-04-01-F04FieldBreadcrumb — categorieCategorieonderdeel van de breadcrumb.<categorie>Dynamische waarde uit de runcontext.BreadcrumbCategoryName
SCH-LLN-04-01-F05FieldBreadcrumb — oefeningOefeningonderdeel van de breadcrumb.<oefening>Dynamische waarde uit de runcontext.BreadcrumbExerciseName
SCH-LLN-04-01-F06FieldBreadcrumb — huidige stapHuidige stap binnen de oefenflow.Nieuwe oefeningLabel beschrijft de actieve runweergave.BreadcrumbCurrentStepLabel
SCH-LLN-04-01-S04SectionOefenschilGenerieke container waarin de pagina-intro en modulecontainer staan.Start nieuwe oefeningStructurele OefenHub-container; inhoudelijke moduleweergave valt hieronder.ExerciseRuntimeShell
SCH-LLN-04-01-F07FieldIntro — titelTitel boven de runtimecontainer.Nieuwe oefening startenTekst is generiek voor de runtimeweergave na start van een nieuwe run.ExerciseRuntimeTitle
SCH-LLN-04-01-F08FieldIntro — uitlegKorte uitleg over het doorlopen van vragen binnen de oefenrun.Beantwoord de som en ga daarna direct door naar de volgende vraag.De tekst kan generiek of modulecontextueel zijn, maar is geen invoerwaarde.ExerciseRuntimeIntroText
SCH-LLN-04-01-S05SectionModulecontainerAfgebakend gebied waar de technische module de vraag- en antwoordweergave rendert.Technische oefenmoduleIn de HTML als regio met aria-label="Technische oefenmodule".TechnicalModuleHostRegion
SCH-LLN-04-01-M01MessageModulecontainer — placeholderMockup-only placeholder om de positie van module-inhoud aan te geven.{Placeholder voor technische oefen modules}Mag niet als productie-inhoud verschijnen.TechnicalModulePlaceholderMessage
SCH-LLN-04-01-A01Action / interfaceModulecontainer — module renderenApplicatieactie waarmee de juiste technische module via strategy pattern wordt geladen en gerenderd.n.v.t.Technische actie achter de schermen; geen losse zichtbare knop.RenderExerciseModuleAction
SCH-LLN-04-01-A02Action / interfaceModulecontainer — antwoord bevestigenModule- of generieke actie waarbij een antwoordstap wordt verwerkt en voortgang server-side wordt opgeslagen.Module-afhankelijkDe zichtbare knoptekst en invoervorm worden per module bepaald.SubmitModuleAnswerAction
SCH-LLN-04-01-S06SectionFooterGenerieke leerlingfooter met beheerbare footerinhoud en links.OefenHub / Handige links / SupportFunctionele detailuitwerking van footerinhoud hoort niet specifiek bij deze view.StudentFooterSection

5.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-LLN-04-01-S01Header / leerlingnavigatieWelkom terug, <naam>StudentHeaderSectionIngelogde gebruiker, gebruikersprofiel, berichtenstatus en toegankelijke categorie-/oefeningcontextSamengestelde headerweergave binnen actieve leerlingcontextSection / compositeNeeAlleen gegevens voor de ingelogde leerling mogen zichtbaar zijn.
SCH-LLN-04-01-F01Header — welkomstregelWelkom terug, <naam>StudentWelcomeTextUsers / applicatieprofiel van de ingelogde leerlingDynamische weergavenaam van de ingelogde leerlingStringNeeMockupwaarde Emma is voorbeelddata.
SCH-LLN-04-01-S02CategoriebalkCategorieën en oefeningenStudentCategoryNavigationSectionActieve niveauautorisaties, TeacherLevels, TeacherLevelCategories, Categories, ExercisesToegankelijke categorieën en oefeningen binnen de actieve leerlingcontextCollectionNeeAlleen categorieën en oefeningen tonen waarvoor de leerling daadwerkelijk toegang heeft.
SCH-LLN-04-01-F02Categoriebalk — actieve categorie<categorienaam>ActiveCategoryNameActieve ExerciseRun + gekoppelde categoriecontextCategorie die hoort bij de actieve oefenrunStringNeeMag niet los van de runcontext worden afgeleid uit alleen de URL.
SCH-LLN-04-01-F03Dropdown — actieve oefening<oefeningnaam>ActiveExerciseNameActieve ExerciseRun + gekoppelde ExerciseOefening die hoort bij de actieve oefenrunStringNeeAlleen zichtbaar wanneer de run en oefening voor de leerling geldig zijn.
SCH-LLN-04-01-S03BreadcrumbHome › <categorie><oefening> › Nieuwe oefeningExerciseRunBreadcrumbSectionActieve ExerciseRun, categorie- en oefeningcontextNavigatiepad naar de actuele runtimeweergaveComposite / string collectionNeeBreadcrumblabels zijn dynamisch; technische IDs worden niet getoond.
SCH-LLN-04-01-F04Breadcrumb — categorie<categorie>BreadcrumbCategoryNameActieve ExerciseRun + categoriecontextNaam van de categorie in de runcontextStringNeeIn de mockup Rekenen; geen vaste waarde.
SCH-LLN-04-01-F05Breadcrumb — oefening<oefening>BreadcrumbExerciseNameActieve ExerciseRun + Exercises.Name of historische runcontextNaam van de oefening in de runcontextStringNeeIn de mockup Optellen; geen vaste waarde.
SCH-LLN-04-01-F06Breadcrumb — huidige stapNieuwe oefeningBreadcrumbCurrentStepLabelCodegedreven flowlabelHuidige stap in de oefenrunflowStringNeeLabel beschrijft de runtimeweergave na start van een nieuwe run.
SCH-LLN-04-01-S04OefenschilStart nieuwe oefeningExerciseRuntimeShellActieve ExerciseRun + generieke leerlinglayoutContainer voor runintro en modulehostSection / compositeNeeShell toont geen module-specifieke vraaglogica buiten de modulecontainer.
SCH-LLN-04-01-F07Intro — titelNieuwe oefening startenExerciseRuntimeTitleCodegedreven label of beheerbare contenttekst voor runtimeintroTitel boven de modulehostStringNeeGeen runwaarde; mag contentgedreven worden beheerd indien daarvoor contentblokken bestaan.
SCH-LLN-04-01-F08Intro — uitlegBeantwoord de som en ga daarna direct door naar de volgende vraag.ExerciseRuntimeIntroTextCodegedreven of modulecontextueel tekstblokUitleg over de actuele oefenrunweergaveStringNeeTekst mag niet impliceren dat alle modules uitsluitend sommen gebruiken; module-specifieke toelichting hoort bij de module.
SCH-LLN-04-01-S05ModulecontainerTechnische oefenmoduleTechnicalModuleHostRegionExerciseRuns, Exercises.ExerciseModuleId, ExerciseModules, module-strategyregistratieRuntimehost waarin de juiste technische module wordt gerenderdRender region / component hostNeeMoet de module kiezen op basis van de oefening/runcontext; niet op basis van handmatige UI-keuze.
SCH-LLN-04-01-M01Modulecontainer — placeholder{Placeholder voor technische oefen modules}TechnicalModulePlaceholderMessageMockup-only HTML-tekstVisuele aanduiding van de plek waar module-inhoud verschijntStringNeeAlleen documentatie/mockup; niet tonen in productie.
SCH-LLN-04-01-A01Modulecontainer — module renderenn.v.t.RenderExerciseModuleActionExercises.ExerciseModuleId, ExerciseModules.CodeReference, dependency injection / strategy patternSelectie en rendering van de juiste technische moduleInterface actionNeeBij ontbrekende of inactieve module moet een veilige foutstatus worden getoond en mag de run niet corrupt raken.
SCH-LLN-04-01-A02Modulecontainer — antwoord bevestigenModule-afhankelijkSubmitModuleAnswerActionModulecomponent + server-side voortgangsopslag + ExerciseRunProgress of functioneel equivalente voortgangsregelsVerwerking van antwoord, feedback en voortgangUser input / actionJa, binnen moduleNa iedere bevestigde stap moeten voortgang en uniforme runvelden centraal worden opgeslagen volgens de generieke runregels.
SCH-LLN-04-01-S06FooterOefenHub / Handige links / SupportStudentFooterSectionContentBlocks, SiteLinks, FooterSections en footerlinktoewijzingen voor leerlingcontextGenerieke footerinhoud voor leerlingcontextSection / compositeNee op deze viewFooterinhoud is niet specifiek voor deze oefenrun en wordt niet als runwaarde behandeld.

5.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-LLN-04-01-01SRS-CAT-001
AC-CAT-001
Dit scherm pas openen nadat voor de leerling een nieuwe ExerciseRun is gegenereerd en persistent is opgeslagen
REQ-SCH-LLN-04-01-02SRS-AUTH-001
AC-AUTH-001
Bij openen van dit scherm server-side controleren dat de actieve ExerciseRun bij de ingelogde leerling hoort
REQ-SCH-LLN-04-01-03SRS-CAT-001
AC-CAT-001
De zichtbare categorie-, oefening- en breadcrumbcontext afleiden uit de actieve runcontext en niet uit vaste mockupwaarden
REQ-SCH-LLN-04-01-04SRS-AUTH-004
AC-AUTH-004
Technische identifiers zoals run-ID's, module-ID's en GUID's niet zichtbaar maken in de leerlinginterface
REQ-SCH-LLN-04-01-05SRS-CAT-001
AC-CAT-001
De technische module bepalen via de aan de oefening gekoppelde ExerciseModuleId en de modulemetadata uit ExerciseModules
REQ-SCH-LLN-04-01-06SRS-CAT-001
AC-CAT-001
Via het strategy pattern de juiste technische module-library laden voor de actieve oefenrun
REQ-SCH-LLN-04-01-07SRS-LRN-003
AC-LRN-003
De moduleweergave aanroepen via een uniform modulecontract, bijvoorbeeld met een context op basis van ExerciseRunId en huidig vraagnummer
REQ-SCH-LLN-04-01-08SRS-LRN-003
AC-LRN-003
De inhoudelijke vraagweergave, antwoordvelden, antwoordcontrole en module-specifieke feedback door de technische oefenmodule worden geleverd en vallen buiten de vaste UI-definitie van dit scherm
REQ-SCH-LLN-04-01-09SRS-CAT-001
AC-CAT-001
Een afgebakende modulecontainer tonen waarin technische module-inhoud veilig en consistent kan worden gerenderd
REQ-SCH-LLN-04-01-10SRS-CAT-001
AC-CAT-001
De mockuptekst {Placeholder voor technische oefen modules} geen als productie-inhoud worden getoond
REQ-SCH-LLN-04-01-11SRS-AUTH-001
SRS-LRN-002
AC-AUTH-001
AC-LRN-002
Na iedere bevestigde antwoordstap de voortgang server-side worden opgeslagen, zodat hervatten, resultaatberekening en live meekijken betrouwbaar blijven
REQ-SCH-LLN-04-01-12SRS-NFR-AUD-001
SRS-LRN-003
AC-NFR-AUD-001
AC-LRN-003
De module mag module-specifieke vraag- en antwoordpayloads gebruiken, maar uniforme runmetadata, voortgangsopslag, auditlogging en statistiekverwerking blijven centraal in OefenHub belegd
REQ-SCH-LLN-04-01-13SRS-CAT-001
AC-CAT-001
Wanneer de technische module niet gevonden, niet beschikbaar of niet correct laadbaar is, het systeem een veilige foutmelding tonen en voorkomen dat de run in een half verwerkte staat terechtkomt
REQ-SCH-LLN-04-01-14SRS-LRN-003
AC-LRN-003
Alle zichtbare waarden rond leerling, berichten, categorie, oefening, voortgang en module-inhoud dynamisch afleiden en mag mockupwaarden nooit hardcoded gebruiken
REQ-SCH-LLN-04-01-15SRS-AUTH-001
AC-AUTH-001
Autorisatiegrens: geen gegevens van andere leerlingen, andere runs of niet-geautoriseerde niveaus kunnen benaderen, ook niet via directe URL-manipulatie
REQ-SCH-LLN-04-01-16SRS-CAT-001
AC-CAT-001
Toegankelijk gemarkeerd zijn als technisch modulegebied, zodat de runtime-inhoud semantisch herkenbaar blijft voor hulpmiddelen
REQ-SCH-LLN-04-01-17SRS-LRN-003
SRS-LRN-006
AC-LRN-003
AC-LRN-006
Wanneer de laatste vraag van de run is afgerond, het systeem de runstatus en uniforme resultaatvelden centraal bijwerken voordat resultaatweergave of vervolgnavigatie wordt getoond
REQ-SCH-LLN-04-01-18SRS-CAT-001
AC-CAT-001
De inhoudelijke uitwerking van module-specifieke leerlingweergaven wordt vastgelegd in de oefenmodule-documentatie en niet als vaste onderdeeldefinitie binnen dit generieke scherm worden gedupliceerd

5.7 Technische koppeling

Voor technische uitwerking zijn vooral relevant: