Skip to main content

1. Overzicht

1.1 Beschrijving van de oefening

De technische module Optellen & Aftrekken (simpel) levert de modulespecifieke logica voor eenvoudige rekenopgaven met twee getallen. De module kan optelsommen, aftreksommen of een combinatie van beide genereren, afhankelijk van de configuratie die de docent bij een concrete oefening vastlegt.

Deze module is de eerste uitgewerkte technische oefenmodule binnen OefenHub en fungeert als referentie voor toekomstige modulebeschrijvingen. Het document beschrijft daarom niet alleen de zichtbare docent- en leerlingweergaven, maar ook het modulecontract, de opslaggrenzen tussen generieke OefenHub-data en modulespecifieke payloads, runtime-states en requirements.

De module is verantwoordelijk voor:

  • het tonen van de modulespecifieke configuratievelden aan de docent;
  • het valideren van de modulespecifieke configuratie;
  • het genereren van vragen op basis van de opgeslagen configuratie;
  • het tonen van één vraag tegelijk binnen de generieke oefenplayer;
  • het interpreteren en valideren van leerlingantwoorden;
  • het aanleveren van feedbackstates voor correct en fout beantwoorde vragen;
  • het aanleveren van modulespecifieke vraag- en antwoorddata voor opslag in de generieke runstructuur.

De generieke OefenHub-engine blijft verantwoordelijk voor selectie van niveau, categorie en oefening, autorisatie, runaanmaak, vraagvolgorde, server-side voortgang, hervatten, resultaten, geschiedenis, delen en live meekijken. De module mag die generieke platformverantwoordelijkheden niet zelf dupliceren.

1.2 Versie en module-identiteit

VeldWaarde
Documentatiedatum24-04-2026
DocumentatiestatusUitgewerkt op basis van HTML-mockups, PNG-screenshots, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification, database-informatie en ondersteunende modulearchitectuur.
ModulefamilieRekenen
ModulefunctieEenvoudige optel- en aftreksommen met twee operanden
Verwachte administratieve modulebronExerciseModules
Verwachte technische referentieOptellenAftrekken_Simple_v1
Verwachte schema-identificatieschemaVersion = 0.9
Generieke opslagvorm configuratieExercises.ModuleConfigurationJsonBase64
Generieke opslagvorm runvragenExerciseRuns.QuestionDataJsonBase64 en ExerciseRunProgress.QuestionStateJsonBase64
Module-entrypointsGetModuleDescriptionComponent, GetModuleConfigureComponent, GetModuleEditConfigureComponent, GenerateModuleExercises, ShowModuleQuestionComponent

De module wordt niet runtime ontdekt. De module moet administratief beschikbaar zijn via ExerciseModules. De technische implementatie wordt pas aangesproken wanneer de generieke applicatie op basis van ExerciseModules.CodeReference en het strategy pattern de juiste modulecomponent nodig heeft.

Voor deze module geldt dat de betekenis van de configuratievelden modulespecifiek is. OefenHub slaat uniforme platformdata relationeel op, maar slaat de interne configuratie en vraagtoestand van deze module op als JSON/base64-payload. Alleen gegevens die platformbreed querybaar, autorisatiegevoelig, historisch verplicht of domeinbreed herbruikbaar zijn, horen relationeel buiten de modulepayload te staan.

1.3 Functionele afbakening

OnderdeelVerantwoordelijkheid generieke OefenHub-engineVerantwoordelijkheid module Optellen & Aftrekken (simpel)
ModulebeschikbaarheidTonen van beschikbare ExerciseModules op basis van IsActive, IsVisibleForTesting en rolcontext.Aanleveren van beschrijving en configuratiecomponent zodra de module gekozen is.
Oefening aanmakenAanmaken van Exercises, koppeling aan niveau/categorie en vastleggen van status.Valideren en serialiseren van modulespecifieke configuratie.
VraaggeneratieStarten van een run en aanbieden van generation context.Genereren van vraagdata die past binnen de configuratie.
VraagweergaveTonen van generieke playercontainer, voortgang en navigatie.Renderen van de som, antwoordinvoer en feedbackstate.
AntwoordverwerkingServer-side opslaan van voortgang, timing, totalen en afgeronde vragen.Interpreteren van invoer, bepalen van correctheid en bijgewerkte vraagstate.
HervattenOphalen van bestaande run en progressieregels.Opnieuw kunnen renderen op basis van opgeslagen vraagstate.
Geschiedenis en resultatenTonen van uniforme statistieken, totalen en runcontext.Leveren van modulespecifieke detailrepresentatie wanneer nodig.
Live meekijkenDistribueren van actuele runstatus via generieke voortgangsbron.Renderbare vraagstate beschikbaar houden via de opgeslagen modulepayload.