UC-LLN-OEF-004 — Vraag beantwoorden
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-LLN-OEF-004 |
| Naam | Vraag beantwoorden |
| Domein | Leerling / Oefenen en voortgang |
| Primaire actor | Leerling |
| Secundaire actor(en) | OefenHub frontend, OefenHub backend, routeguard, autorisatielaag, technische oefenmodule, database, SignalR-hub |
| Rolcontext | Ingelogde gebruiker met actieve leerlingrol, geldige niveaucontext en een toegankelijke lopende exercise run. |
| Betrokken schermen | Oefenscherm, vraagcomponent, antwoordveld, voortgangsindicator, routeguard, live-meekijkupdates. |
| Gerelateerde usecases | UC-LLN-OEF-002 — Verder gaan met niet-afgeronde oefening; UC-LLN-OEF-003 — Nieuwe oefening starten; UC-LLN-OEF-005 — Antwoord tonen na bevestiging; UC-LLN-OEF-006 — Geen idee gebruiken; UC-LLN-OEF-008 — Oefening afronden; UC-LLN-TOEG-003 — Oefeningstoegang controleren bij openen |
| Primaire entiteiten | ExerciseRuns, ExerciseRunProgress, Exercises, ExerciseModules |
| Secundaire entiteiten / events | ExerciseQuestionAnswered, ExerciseProgressSaved, ExerciseRunTotalsUpdated, LiveViewProgressUpdated, ExerciseAnswerRejected |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Niet van toepassing |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een leerling een reguliere vraag binnen een lopende oefening beantwoordt. De leerling ziet één vraag tegelijk, vult het antwoord in en bevestigt het antwoord via de daarvoor bedoelde actie. Het systeem valideert opnieuw server-side of de run nog bestaat, niet afgerond is, bij de leerling hoort en binnen de actuele toegangscontext gebruikt mag worden.
Na bevestiging verwerkt OefenHub het antwoord via de gekoppelde technische oefenmodule. De module bepaalt modulespecifiek of het antwoord goed of fout is. De generieke applicatielaag bewaart daarna de uniforme voortgangsgegevens: ingevuld antwoord, resultaatstatus, tijdstip van afronden van de vraag, relevante tellers op runniveau en actuele voortgang voor live meekijken.
Deze usecase gaat over het verwerken en opslaan van een regulier antwoord. Het tonen van het juiste antwoord na bevestiging valt onder UC-LLN-OEF-005. Het bewust kiezen van Geen idee valt onder UC-LLN-OEF-006. Het definitief afronden van de volledige oefening na de laatste vraag valt onder UC-LLN-OEF-008.
DRY-afbakening: deze usecase is geen bron voor moduleconfiguratie, oefeningtoegang, geschiedenisweergave, PDF-export of live-meekijkautorisatie. Zij gebruikt de bestaande toegangs- en modulecontext en legt alleen de vraaggebonden voortgang van de leerling vast.
3. Scope
Deze usecase omvat wel:
- tonen van de actuele vraag binnen een lopende exercise run
- invoeren van een regulier antwoord door de leerling
- bevestigen van het antwoord
- server-side controle van run, leerling, niveaucontext en vraagpositie
- modulespecifieke validatie en antwoordcontrole
- opslaan van het gegeven antwoord in de voortgangsdata
- markeren van de vraag als administratief beantwoord
- bijwerken van uniforme run-tellers voor goed en fout
- bijwerken van vraaggebonden timinggegevens
- publiceren van voortgang naar toegestane live-meekijkers
- bepalen van de volgende functionele stap na antwoordverwerking
- veilig blokkeren van dubbele, te late of ongeldige antwoordverwerking
Deze usecase omvat niet:
- starten of genereren van een nieuwe exercise run
- hervatten van een run vanaf de startpagina
- bewust kiezen van
Geen idee - tonen van het juiste antwoord als aparte vervolgweergave
- berekenen van eindstatistieken na afronding van de volledige run
- tonen van resultaatpopup of geschiedenis
- PDF-export
- docent-testmodus
- modulebeheer of configuratiebeheer
- live meekijken zelf door docent of ouder/voogd
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd. |
| PRE-002 | De gebruiker heeft een actieve leerlingrol. |
| PRE-003 | Er bestaat een lopende ExerciseRuns-context voor deze leerling. |
| PRE-004 | De run is niet afgerond en niet administratief geblokkeerd. |
| PRE-005 | De actuele vraag binnen de run is herleidbaar in de modulespecifieke payload of voortgangsstructuur. |
| PRE-006 | De gekoppelde technische module is voldoende beschikbaar om het antwoord te controleren. |
| PRE-007 | De leerling mag de run binnen de actuele context nog gebruiken. |
| PRE-008 | De vraag is nog niet definitief als beantwoord verwerkt. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | Het gegeven antwoord is server-side verwerkt of veilig geweigerd. |
| POST-002 | Bij succesvolle verwerking is de vraagvoortgang opgeslagen. |
| POST-003 | Bij succesvolle verwerking zijn uniforme run-tellers bijgewerkt. |
| POST-004 | Toegestane live-meekijkers kunnen de actuele voortgang ontvangen. |
| POST-005 | De run blijft lopend zolang niet de volledige oefening is afgerond. |
| POST-006 | De leerling wordt naar de juiste volgende UI-stap geleid. |
| POST-007 | Ongeldige of dubbele verwerking veroorzaakt geen dubbele tellerwijziging. |
| POST-008 | Er zijn geen relaties, autorisaties, profielinstellingen, berichten of meldingen gewijzigd. |
6. Trigger
De usecase start wanneer een leerling in het oefenscherm een antwoord invult en de antwoordactie bevestigt voor de actuele vraag van een lopende exercise run.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Leerling | Oefenscherm | Bekijkt de actuele vraag. | Frontend toont de modulevraag en het antwoordveld. | Eén vraag tegelijk zichtbaar. |
| 2 | Leerling | Antwoordveld | Voert een antwoord in. | Frontend bewaart invoer tijdelijk client-side. | Nog geen servermutatie. |
| 3 | Leerling | Oefenscherm | Bevestigt het antwoord. | Frontend verstuurt antwoord naar backend. | Request bevat runcontext en vraagnummer. |
| 4 | OefenHub backend | Routeguard | Controleert sessie, leerlingrol en eigenaar van de run. | Alleen de eigenaar van de run mag antwoord verwerken. | ExerciseRuns.UserId. |
| 5 | OefenHub backend | Toegangscontrole | Controleert of de run nog bruikbaar is. | Afgeronde, geblokkeerde of ontoegankelijke run wordt geweigerd. | Geen mutatie bij weigering. |
| 6 | OefenHub backend | Voortgangsservice | Controleert of de vraag nog niet definitief verwerkt is. | Dubbele submit wordt veilig geneutraliseerd. | Idempotente verwerking. |
| 7 | OefenHub backend | Module-adapter | Laadt de modulecontext voor de vraag. | Module kan het antwoord interpreteren. | ExerciseModuleId, payload. |
| 8 | Technische oefenmodule | Antwoordcontrole | Controleert modulespecifiek het antwoord. | Geeft resultaat goed/fout en eventueel genormaliseerde weergave terug. | Module is bron voor antwoordlogica. |
| 9 | OefenHub backend | Voortgangsservice | Slaat gegeven antwoord, resultaat en afrondtijd van de vraag op. | Vraag wordt administratief als beantwoord gemarkeerd. | ExerciseRunProgress / payload. |
| 10 | OefenHub backend | Runservice | Werkt uniforme tellers op de run bij. | Aantal goed/fout en voortgang worden actueel. | Geen eindstatistieken op dit moment. |
| 11 | OefenHub backend | Database | Commit de voortgangsmutatie transactioneel. | Antwoordverwerking is duurzaam vastgelegd. | Geen gedeeltelijke tellerwijziging. |
| 12 | OefenHub backend | SignalR-hub | Publiceert toegestane voortgangsupdate. | Live-meekijkers kunnen actuele status zien. | Alleen geautoriseerde meekijkers. |
| 13 | OefenHub backend | Navigatiebesluit | Bepaalt vervolg op basis van runconfiguratie. | Bij ShowAnswerAfterSubmit volgt UC-LLN-OEF-005. | Anders volgende vraag of afrondflow. |
| 14 | OefenHub frontend | Oefenscherm | Ontvangt resultaat van verwerking. | Frontend toont volgende stap. | UI volgt backendbesluit. |
| 15 | OefenHub frontend | Applicatieschil | Past leerling-oefenmodus toe. | Headerbadges, meldingenindicaties, systeemnotificatie-overlays en vergelijkbare afleidende terugkoppelingen blijven tijdens de actieve run verborgen of uitgesteld. | Onderliggende data blijft server-side bestaan; UI-zichtbaarheid wijzigt geen berichten, meldingen of notificaties. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 3 | Antwoord ontbreekt terwijl module invoer vereist | Backend weigert verwerking en geeft validatiefout terug. | Inline validatie | Geen |
| ALT-002 | 4 | Gebruiker is niet langer ingelogd | Routeguard stopt verwerking en start login-/sessieafhandeling. | Niet van toepassing | Geen |
| ALT-003 | 4 | Run hoort niet bij deze leerling | Backend weigert toegang zonder details te lekken. | Toegangafhandeling | Geen |
| ALT-004 | 5 | Run is al afgerond | Backend accepteert geen nieuwe vraagmutatie. | Componentmelding | Geen |
| ALT-005 | 5 | Run is door accountverwijdering of blokkade niet meer hervatbaar | Backend weigert verwerking. | Componentmelding | Geen |
| ALT-006 | 6 | Vraag is al verwerkt door dubbele submit | Backend geeft actuele opgeslagen toestand terug zonder teller opnieuw te wijzigen. | Niet van toepassing | Geen nieuwe mutatie |
| ALT-007 | 7 | Technische module kan antwoord niet interpreteren | Backend weigert de vraagverwerking en logt technisch. | Componentmelding | Geen |
| ALT-008 | 8 | Antwoord is syntactisch ongeldig voor deze module | Systeem toont modulespecifieke validatiefout. | Inline validatie | Geen |
| ALT-009 | 11 | Databasecommit faalt | Systeem rolt de transactie terug en toont foutafhandeling. | Componentmelding | Geen blijvende mutatie |
| ALT-010 | 12 | SignalR-update faalt | Antwoord blijft opgeslagen; live-update wordt niet als antwoordfout behandeld. | Niet van toepassing | Antwoordmutatie blijft geldig |
| ALT-011 | 13 | Laatste vraag is beantwoord | Systeem leidt door naar afrondflow. | Niet van toepassing | Vraagmutatie is opgeslagen |
| ALT-012 | 13 | ShowAnswerAfterSubmit = false | Systeem toont direct de volgende vraag of afrondactie. | Niet van toepassing | Geen extra mutatie |
9. Business rules
| ID | Regel |
|---|---|
| BR-001 | Een leerling mag alleen antwoorden verwerken binnen een eigen lopende exercise run. |
| BR-002 | Elke bevestigde vraag wordt server-side opgeslagen voordat een volgende functionele stap betrouwbaar beschikbaar is. |
| BR-003 | De technische module bepaalt modulespecifiek of het antwoord inhoudelijk goed of fout is. |
| BR-004 | De generieke applicatielaag bewaart uniforme voortgang, timing en run-tellers. |
| BR-005 | Een vraag mag niet dubbel meetellen door dubbele submit, refresh of netwerkherhaling. |
| BR-006 | Een afgeronde run mag geen nieuwe antwoordmutaties accepteren. |
| BR-007 | Antwoordverwerking mag geen relaties, autorisaties, berichten, meldingen of profielgegevens wijzigen. |
| BR-008 | Live-meekijkupdates zijn afgeleid uit opgeslagen voortgang en vervangen de databaseopslag niet. |
| BR-009 | Bij technische fouten mag geen gedeeltelijk bijgewerkte voortgang zichtbaar worden als definitieve waarheid. |
| BR-010 | Wanneer ShowAnswerAfterSubmit = true, blijft het opslaan van het antwoord onderdeel van deze usecase en het tonen van het antwoord onderdeel van UC-LLN-OEF-005. |
| BR-011 | Wanneer AllowMarkAsDunno = true, blijft de expliciete Geen idee-actie onderdeel van UC-LLN-OEF-006. |
| BR-012 | De leerling ziet geen technische identifiers, payloadsleutels of module-interne foutdetails. |
| BR-013 | De antwoordverwerking gebruikt de actuele server-side runcontext en niet uitsluitend clientstate. |
| BR-014 | De voortgangsindicator wordt gebaseerd op opgeslagen of server-side bevestigde voortgang. |
| BR-015 | Tijdens een actieve leerling-oefenrun mag de applicatieschil geen afleidende badges, tellerupdates, systeemnotificatie-overlays of meldingen-/berichtenterugkoppelingen tonen. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
ExerciseRunId | Moet bestaan, bij de leerling horen en niet afgerond zijn. |
| Vraagnummer | Moet binnen de vraagreeks van de run vallen. |
| Antwoordwaarde | Moet voldoen aan modulespecifieke invoerregels. |
| Modulecontext | Moet overeenkomen met de module waarmee de run is gegenereerd. |
| Vraagstatus | Mag nog niet definitief beantwoord zijn. |
| Timinggegevens | Afrondtijd moet server-side worden bepaald. |
| Tellers | Moeten consistent blijven met de vraagstatussen binnen de run. |
| Clientstate | Mag geen autorisatie, eigenaar of eindstatus bepalen. |
| Live-update | Mag alleen naar geautoriseerde meekijkers worden verzonden. |
| Applicatieschil in oefenmodus | Mag de leerling niet afleiden met nieuwe berichten-, meldingen- of systeemnotificatie-indicaties zolang de run actief is. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 9 | Mutatie | ExerciseRunProgress | Gegeven antwoord, resultaatstatus, afrondtijd en beantwoordstatus worden opgeslagen. |
| 9 | Mutatie | Modulepayload | Modulespecifieke vraagvoortgang wordt bijgewerkt waar de gekozen opslagvorm dit vereist. |
| 10 | Mutatie | ExerciseRuns | Uniforme totalen voor goed/fout en actuele voortgang worden bijgewerkt. |
| 11 | Event | ExerciseQuestionAnswered | Vraag is succesvol als regulier antwoord verwerkt. |
| 11 | Event | ExerciseProgressSaved | Server-side voortgang is duurzaam opgeslagen. |
| 12 | Event | LiveViewProgressUpdated | Geautoriseerde meekijkers kunnen voortgang ontvangen. |
| 6 | Event | ExerciseAnswerDuplicateIgnored | Dubbele verwerking is geneutraliseerd zonder tellerwijziging. |
| 7 | Event | ExerciseAnswerRejected | Antwoordverwerking is geweigerd door technische of functionele validatie. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
Users | Vraag beantwoorden wijzigt het account niet. |
UserSettings | Er wordt geen voorkeur of niveaucontext gewijzigd. |
UserRelationships | Relaties zijn niet betrokken bij antwoordverwerking. |
StudentLevelAuthorizations | Toegang wordt alleen gecontroleerd. |
PrivateMessageThreads | Er ontstaan geen privéberichten. |
SystemMessages | Er ontstaan geen systeemberichten. |
Tickets | Antwoordverwerking maakt geen melding aan. |
LiveViewAudit | De meekijksessie zelf wordt niet gestart of beëindigd in deze usecase. |
13. State diagram
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
16.1 Regulier antwoord succesvol verwerken
16.2 Dubbele submit neutraliseren
17. Popupverwijzingen
| PopupKey | Moment | Doel |
|---|---|---|
| Niet van toepassing | Niet van toepassing | Reguliere antwoordverwerking gebruikt geen domeinspecifieke popupregister-popup. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Functioneel Ontwerp beschrijft starten, hervatten, beantwoorden, Geen idee, onderbreken, afronden en resultaatnavigatie binnen de leerling-oefenflow. |
| Technisch Ontwerp | Technisch Ontwerp: oefencatalogus, oefenmodulecontract, oefenruns en voortgang, live meekijken en frontend-oefencontext beschrijft de technische afbakening, server-side brondata, autorisatie en UI-compositie voor deze usecase. |
| Software Requirements Specification | Software Requirements Specification bevat centrale eisen en acceptatiecriteria voor oefenruns, voortgangsopslag, modulegedrag, foutafhandeling en veilige server-side verwerking. |
| Database-informatie | Database-informatie blijft bron voor ExerciseRuns, ExerciseRunProgress, payloadvelden, snapshots en soft links richting gebruiker en catalogus. |
| Ontwerpbronnen | Ontwerpbronnen bevatten aanvullende businessregels voor oefenflow, modulepayloads, Geen idee en voortgangsregistratie. |
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-afleiding | Dekt | Usecasecontext |
|---|---|---|
REQ-UC-LLN-OEF-004-001 | SRS-LRN-003 AC-LRN-003 | Een antwoord alleen verwerken voor de eigenaar van de lopende exercise run |
REQ-UC-LLN-OEF-004-002 | SRS-LRN-003 AC-LRN-003 | Vóór antwoordverwerking controleren dat de run niet afgerond is |
REQ-UC-LLN-OEF-004-003 | SRS-LRN-003 AC-LRN-003 | Vóór antwoordverwerking controleren dat de vraag nog niet definitief verwerkt is |
REQ-UC-LLN-OEF-004-004 | SRS-LRN-003 SRS-MOD-003 AC-LRN-003 AC-MOD-003 | Het antwoord modulespecifiek laten valideren en controleren |
REQ-UC-LLN-OEF-004-005 | SRS-AUTH-001 SRS-LRN-003 AC-AUTH-001 AC-LRN-003 | Het gegeven antwoord server-side opslaan na bevestiging |
REQ-UC-LLN-OEF-004-006 | SRS-AUTH-001 SRS-LRN-006 AC-AUTH-001 AC-LRN-006 | Vraaggebonden afrondtijd server-side bepalen en opslaan |
REQ-UC-LLN-OEF-004-007 | SRS-RDM-001 SRS-RDM-002 SRS-RDM-006 SRS-LRN-003 AC-RDM-001 AC-RDM-002 AC-RDM-006 AC-LRN-003 | Uniforme run-tellers bijwerken na succesvolle antwoordverwerking |
REQ-UC-LLN-OEF-004-008 | SRS-LRN-009 AC-LRN-009 | Voorkomen dat een dubbele submit dubbel meetelt |
REQ-UC-LLN-OEF-004-009 | SRS-LRN-003 AC-LRN-003 | Antwoordverwerking transactioneel uitvoeren |
REQ-UC-LLN-OEF-004-010 | SRS-LRN-003 SRS-SHR-001 SRS-NFR-LOG-001 AC-LRN-003 AC-SHR-001 AC-NFR-LOG-001 | Bij technische fouten voorkomen dat gedeeltelijke voortgang als definitief wordt opgeslagen |
REQ-UC-LLN-OEF-004-011 | SRS-AUTH-001 SRS-LRN-003 SRS-LIVE-002 AC-AUTH-001 AC-LRN-003 AC-LIVE-002 | Geautoriseerde live-meekijkers kunnen informeren na opgeslagen voortgang |
REQ-UC-LLN-OEF-004-012 | SRS-LRN-003 SRS-LIVE-001 SRS-NFR-AVL-001 SRS-ARCH-003 AC-LRN-003 AC-LIVE-001 AC-NFR-AVL-001 AC-ARCH-003 | Een mislukte SignalR-update niet behandelen als mislukte antwoordopslag |
REQ-UC-LLN-OEF-004-013 | SRS-LRN-003 AC-LRN-003 | Na antwoordverwerking bepalen of de volgende stap antwoordweergave, volgende vraag of afronding is |
REQ-UC-LLN-OEF-004-014 | SRS-LRN-009 SRS-MOD-003 SRS-NFR-SEC-001 AC-LRN-009 AC-MOD-003 AC-NFR-SEC-001 | Technische modulefouten veilig afhandelen zonder module-interne details aan de leerling te tonen |
REQ-UC-LLN-OEF-004-015 | SRS-LRN-009 SRS-MOD-003 AC-LRN-009 AC-MOD-003 | Inline validatiefouten kunnen tonen wanneer invoer niet voldoet aan modulespecifieke regels |
REQ-UC-LLN-OEF-004-016 | SRS-AUTH-001 SRS-REL-001 SRS-MSG-001 SRS-TIC-002 SRS-LRN-003 AC-AUTH-001 AC-REL-001 AC-MSG-001 AC-TIC-002 AC-LRN-003 | Bij vraag beantwoorden geen relaties, autorisaties, berichten of meldingen wijzigen |
REQ-UC-LLN-OEF-004-017 | SRS-AUTH-001 SRS-AUTH-002 SRS-LRN-009 SRS-GUA-001 AC-AUTH-001 AC-AUTH-002 AC-LRN-009 AC-GUA-001 | Bij directe of verouderde clientstate opnieuw de actuele server-side runcontext gebruiken |
REQ-UC-LLN-OEF-004-018 | SRS-LRN-002 SRS-LRN-007 SRS-LIVE-001 AC-LRN-002 AC-LRN-007 AC-LIVE-001 | Vraagvoortgang zodanig opslaan dat hervatten en live meekijken betrouwbaar blijven |
REQ-UC-LLN-OEF-004-019 | SRS-AUTH-001 SRS-LRN-003 AC-AUTH-001 AC-LRN-003 | De voortgangsindicator baseren op server-side bevestigde voortgang |
REQ-UC-LLN-OEF-004-020 | SRS-AUTH-001 SRS-ACC-002 SRS-ACC-004 SRS-LRN-003 AC-AUTH-001 AC-ACC-002 AC-ACC-004 AC-LRN-003 | Een antwoordrequest weigeren wanneer de run door accountstatus of verwijdering niet meer bruikbaar is |
REQ-UC-LLN-OEF-004-021 | SRS-LRN-003 AC-LRN-003 | Voorkomen dat antwoorden voor toekomstige of niet-bestaande vragen worden opgeslagen |
REQ-UC-LLN-OEF-004-022 | SRS-LRN-009 SRS-MOD-003 AC-LRN-009 AC-MOD-003 | De modulespecifieke payload alleen via de modulegrens interpreteren |
REQ-UC-LLN-OEF-004-023 | SRS-RDM-001 SRS-RDM-002 SRS-RDM-009 SRS-LRN-009 AC-RDM-001 AC-RDM-002 AC-RDM-009 AC-LRN-009 | De uniforme goed/fout-tellers consistent houden met opgeslagen vraagstatussen |
REQ-UC-LLN-OEF-004-024 | SRS-LRN-003 AC-LRN-003 | Bij refresh na antwoordverwerking de opgeslagen toestand kunnen reconstrueren |
REQ-UC-LLN-OEF-004-025 | SRS-LRN-003 SRS-NFR-SEC-001 AC-LRN-003 AC-NFR-SEC-001 | Een verlopen sessie veilig afhandelen zonder antwoordmutatie |
REQ-UC-LLN-OEF-004-026 | SRS-LRN-003 AC-LRN-003 | Bij antwoordverwerking geen eindstatistieken berekenen voordat de volledige run is afgerond |
REQ-UC-LLN-OEF-004-027 | SRS-LRN-009 AC-LRN-009 | De leerling geen technische identifiers of payloadstructuren tonen |
REQ-UC-LLN-OEF-004-028 | SRS-LRN-003 SRS-MOD-003 AC-LRN-003 AC-MOD-003 | Antwoordverwerking kunnen uitvoeren voor verschillende moduletypen zonder generieke opslagregels te breken |
REQ-UC-LLN-OEF-004-029 | SRS-LRN-003 AC-LRN-003 | Na succesvolle antwoordverwerking een consistente vervolgrespons teruggeven aan de frontend |
REQ-UC-LLN-OEF-004-030 | SRS-AUTH-001 SRS-LRN-003 AC-AUTH-001 AC-LRN-003 | Alle antwoordverwerking server-side autoriseren, ook wanneer de vraag al in de browser zichtbaar was |
REQ-UC-LLN-OEF-004-031 | SRS-RDM-001 SRS-RDM-002 SRS-RDM-005 SRS-RDM-006 SRS-RDM-007 SRS-MSG-006 AC-RDM-001 AC-RDM-002 AC-RDM-005 AC-RDM-006 AC-RDM-007 AC-MSG-006 | Tijdens een actieve leerling-oefenrun afleidende berichtenbadges, meldingenindicaties, systeemnotificatie-overlays en vergelijkbare terugkoppelingen visueel onderdrukken zonder... |