Skip to main content

UC-LLN-OEF-005 — Antwoord tonen na bevestiging

1. Kerngegevens

VeldWaarde
Usecase-IDUC-LLN-OEF-005
NaamAntwoord tonen na bevestiging
DomeinLeerling / Oefenen en voortgang
Primaire actorLeerling
Secundaire actor(en)OefenHub frontend, OefenHub backend, technische oefenmodule, database, routeguard
RolcontextIngelogde leerling met een zojuist verwerkte vraag binnen een lopende exercise run waarbij de antwoordweergave functioneel beschikbaar is.
Betrokken schermenOefenscherm, antwoordfeedbackcomponent, voortgangsindicator, knop Volgende, knop Bekijk resultaat.
Gerelateerde usecasesUC-LLN-OEF-004 — Vraag beantwoorden; UC-LLN-OEF-006 — Geen idee gebruiken; UC-LLN-OEF-008 — Oefening afronden; UC-LLN-RES-001 — Resultaat na afronding bekijken
Primaire entiteitenExerciseRuns, ExerciseRunProgress, Exercises, ExerciseModules
Secundaire entiteiten / eventsGeen persistente events; feedbackreadmodel en modulepresentatie.
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft de vervolgweergave nadat een antwoord op een vraag is bevestigd en opgeslagen. Wanneer de oefenconfiguratie bepaalt dat het antwoord na bevestiging zichtbaar moet worden, toont het systeem aan de leerling of het antwoord goed of fout was en wat het juiste antwoord is. De leerling kan daarna doorgaan naar de volgende vraag of, bij de laatste vraag, naar het resultaat.

De usecase is bewust grotendeels read-only. Het antwoord zelf is al verwerkt in UC-LLN-OEF-004 of, bij de Geen idee-route, in UC-LLN-OEF-006. Deze usecase leest de opgeslagen vraagtoestand en toont feedback die daaruit veilig kan worden opgebouwd. De getoonde juiste uitkomst komt uit de modulespecifieke vraag- en antwoordrepresentatie, maar de generieke flow bepaalt wanneer feedback zichtbaar mag zijn en welke vervolgstap mogelijk is.

De knop onder de vraag verandert functioneel afhankelijk van de toestand. Tijdens vraagbeantwoording kan de actie Toon antwoord zijn, na het tonen van de feedback wordt dat Volgende of bij de laatste vraag Bekijk resultaat. De exacte UI-presentatie hoort bij schermdocumentatie; deze usecase beschrijft de proces- en datagedragsregels.

3. Scope

Deze usecase omvat wel:

  • tonen van feedback na een opgeslagen antwoord
  • tonen van goed/fout-status
  • tonen van het juiste antwoord of modulespecifieke juiste representatie
  • tonen van de eventueel gegeven antwoordwaarde
  • tonen van markering wanneer de vraag via Geen idee is verwerkt
  • bepalen of de volgende actie Volgende of Bekijk resultaat is
  • reconstrueren van feedback na refresh op basis van opgeslagen voortgang
  • veilig blokkeren wanneer antwoordfeedback nog niet beschikbaar of niet toegestaan is
  • route naar volgende vraag of afrondflow

Deze usecase omvat niet:

  • opslaan van het reguliere antwoord
  • verwerken van de Geen idee-keuze
  • genereren van een nieuwe exercise run
  • berekenen van eindstatistieken
  • tonen van de volledige resultaatpopup
  • PDF-export
  • wijzigen van moduleconfiguratie
  • aanmaken van live-meekijksessies
  • beheer van waarschuwingen of gebruikersvoorkeuren

DRY-afbakening: antwoordcontrole, Geen idee-verwerking, afronding en resultaatweergave blijven bij hun eigen usecases. Deze usecase is uitsluitend de feedback- en navigatiestap na een reeds opgeslagen vraagantwoord.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd als leerling.
PRE-002Er bestaat een lopende of zojuist bijna-afgeronde exercise run van deze leerling.
PRE-003De actuele vraag is server-side verwerkt en heeft een opgeslagen resultaatstatus.
PRE-004De oefenconfiguratie of de gekozen route staat antwoordfeedback toe.
PRE-005De juiste antwoordrepresentatie is via de modulecontext herleidbaar.
PRE-006De frontend mag de feedbackweergave tonen binnen de huidige vraagcontext.

5. Post-condities

IDResultaat
POST-001De leerling ziet feedback op basis van opgeslagen vraagvoortgang.
POST-002Het systeem heeft geen antwoord opnieuw verwerkt.
POST-003De leerling kan naar de volgende vraag of naar de afrondflow.
POST-004Bij refresh kan dezelfde feedback opnieuw uit opgeslagen voortgang worden opgebouwd.
POST-005Er zijn geen relaties, autorisaties, berichten, meldingen of profielgegevens gewijzigd.
POST-006Niet-beschikbare feedback leidt tot veilige blokkade of terugkeer naar de geldige oefentoestand.

6. Trigger

De usecase start wanneer na vraagverwerking blijkt dat antwoordfeedback getoond moet worden, bijvoorbeeld na een regulier antwoord met ShowAnswerAfterSubmit = true of na een bevestigde Geen idee-actie.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1OefenHub frontendOefenschermOntvangt na antwoordverwerking de instructie om feedback te tonen.Frontend vraagt of gebruikt feedbackcontext.Gebaseerd op opgeslagen vraagtoestand.
2OefenHub backendRouteguardControleert leerling en eigenaar van de run.Alleen de eigenaar ziet feedback.ExerciseRuns.UserId.
3OefenHub backendVoortgangsserviceLaadt de opgeslagen vraagvoortgang.Resultaatstatus en gegeven antwoord zijn beschikbaar.Vraag moet verwerkt zijn.
4OefenHub backendModule-adapterHaalt juiste antwoordrepresentatie op.Module levert veilige weergavevorm terug.Module-specifieke inhoud.
5OefenHub backendFeedbackserviceBepaalt of feedback getoond mag worden.Feedback is toegestaan of wordt geblokkeerd.ShowAnswerAfterSubmit of Geen idee.
6OefenHub backendNavigatiebesluitBepaalt of dit de laatste vraag is.Vervolgactie wordt Volgende of Bekijk resultaat.Vraagnummer en totaal.
7OefenHub frontendFeedbackcomponentToont gegeven antwoord, juiste antwoord en resultaatstatus.Leerling ziet feedback.Geen datamutatie.
8LeerlingFeedbackcomponentKiest Volgende bij niet-laatste vraag.Frontend opent de volgende vraag.Volgende vraag blijft eigen flow.
9LeerlingFeedbackcomponentKiest Bekijk resultaat bij laatste vraag.Systeem start afrond-/resultaatflow.UC-LLN-OEF-008 / UC-LLN-RES-001.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0012Leerling is niet de eigenaar van de runFeedback wordt niet getoond.ToegangafhandelingGeen
ALT-0023Vraag is nog niet verwerktSysteem toont geen juiste antwoordfeedback en herleidt naar geldige vraagtoestand.ComponentmeldingGeen
ALT-0034Module kan juiste antwoordrepresentatie niet leverenSysteem toont veilige foutafhandeling en logt technisch.ComponentmeldingGeen
ALT-0045Feedback is niet toegestaan voor deze vraagSysteem routeert naar volgende vraag of afrondflow zonder feedback.Niet van toepassingGeen
ALT-0056Vraagnummer of totaal is inconsistentSysteem blokkeert vervolg en logt technische inconsistentie.ComponentmeldingGeen
ALT-0067Browser wordt ververst op feedbackweergaveBackend reconstrueert feedback uit opgeslagen voortgang.Niet van toepassingGeen
ALT-0078Toegang vervalt voor het openen van de volgende vraagVolgende vraag wordt door eigen routeguard geblokkeerd.ToegangafhandelingGeen
ALT-0089Resultaatflow kan niet startenSysteem behoudt opgeslagen voortgang en toont veilige foutafhandeling.ComponentmeldingGeen
ALT-0097Gegeven antwoord is niet veilig renderbaarSysteem toont een veilige generieke aanduiding of blokkeert details volgens modulepresentatie.ComponentmeldingGeen
ALT-0107Juiste antwoord bevat modulespecifieke notatieSysteem gebruikt de veilige renderhulp van de module.Niet van toepassingGeen
ALT-0118Leerling gebruikt browser-terug naar vorige feedbackSysteem reconstrueert actuele toestand en voorkomt antwoordwijziging.Niet van toepassingGeen

9. Business rules

IDRegel
BR-001Antwoordfeedback mag alleen worden getoond nadat de vraag server-side is verwerkt.
BR-002Deze usecase mag een antwoord niet opnieuw valideren, beoordelen of opslaan.
BR-003De juiste antwoordrepresentatie komt uit de modulecontext die bij de run hoort.
BR-004De feedbackweergave is afgeleid uit opgeslagen voortgang en niet uit ongecontroleerde clientstate.
BR-005Bij een reguliere vraag wordt feedback alleen getoond wanneer ShowAnswerAfterSubmit = true.
BR-006Bij een bevestigde Geen idee-actie wordt het juiste antwoord getoond, ongeacht ShowAnswerAfterSubmit.
BR-007De vervolgactie is Volgende wanneer er nog een volgende vraag is.
BR-008De vervolgactie is Bekijk resultaat wanneer de laatste vraag is verwerkt.
BR-009Feedback tonen wijzigt geen domeindata.
BR-010De leerling mag geen module-interne payloadstructuur of technische identifier zien.
BR-011Bij refresh moet de feedbackweergave reproduceerbaar zijn uit opgeslagen voortgang.
BR-012Feedback mag geen gegevens tonen van andere leerlingen of andere runs.
BR-013Feedback mag niet worden gebruikt om een eerder antwoord inhoudelijk te wijzigen.
BR-014De feedbackweergave moet ook bij modulespecifieke notatie, zoals breuken of samengestelde antwoorden, veilig renderbaar blijven.
BR-015De feedbackweergave mag alleen de actuele vraagcontext tonen en geen vooruitblik geven op toekomstige antwoorden.
BR-016De overgang vanuit feedback naar een volgende vraag moet opnieuw de actuele runstatus controleren.
BR-017De overgang vanuit feedback naar resultaat mag pas nadat de laatste vraag als verwerkt bekend is.

10. Datavalidatie

Veld / objectValidatie
ExerciseRunIdMoet bestaan en bij de leerling horen.
VraagnummerMoet verwijzen naar een vraag binnen de run.
VraagstatusMoet verwerkt zijn voordat feedback zichtbaar is.
ResultaatstatusMoet eenduidig goed, fout of Geen idee/fout-afgeleid zijn.
Juiste antwoordrepresentatieMoet veilig renderbaar zijn en uit de modulecontext komen.
VervolgactieMoet passen bij vraagnummer en totaal aantal vragen.
ClientstateMag niet bepalen dat feedback zichtbaar is wanneer serverdata dat niet bevestigt.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
1-9Geen persistente mutatieNiet van toepassingFeedback tonen leest opgeslagen vraagvoortgang en modulepresentatie; opnieuw tonen, verversen of verlaten van feedback wijzigt geen run of vraagvoortgang.

12. Geen datamutaties

EntiteitReden
ExerciseRunsFeedback tonen wijzigt de run niet.
ExerciseRunProgressDe vraagvoortgang is al opgeslagen in UC-LLN-OEF-004 of UC-LLN-OEF-006.
UserSettingsEr wordt geen voorkeur gewijzigd.
UsersHet account wijzigt niet.
StudentLevelAuthorizationsToegang wordt alleen gecontroleerd.
SystemMessagesEr ontstaat geen systeembericht.
PrivateMessageThreadsEr ontstaat geen privébericht.
TicketsEr ontstaat geen melding.
LiveViewAuditFeedback tonen start of stopt geen meekijksessie.

13. State diagram

Niet van toepassing als zelfstandig persistent statusobject. De feedbackweergave is een afgeleide UI-toestand na een opgeslagen vraagantwoord.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Feedback tonen na opgeslagen antwoord

16.2 Feedback na refresh reconstrueren

17. Popupverwijzingen

PopupKeyMomentDoel
Niet van toepassingNiet van toepassingFeedback wordt binnen het oefenscherm getoond en gebruikt geen popupregister-popup.

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

DoeldocumentAfleiding
Functioneel OntwerpFunctioneel Ontwerp beschrijft starten, hervatten, beantwoorden, Geen idee, onderbreken, afronden en resultaatnavigatie binnen de leerling-oefenflow.
Technisch OntwerpTechnisch 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 SpecificationSoftware Requirements Specification bevat centrale eisen en acceptatiecriteria voor oefenruns, voortgangsopslag, modulegedrag, foutafhandeling en veilige server-side verwerking.
Database-informatieDatabase-informatie blijft bron voor ExerciseRuns, ExerciseRunProgress, payloadvelden, snapshots en soft links richting gebruiker en catalogus.
OntwerpbronnenOntwerpbronnen 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-afleidingDektUsecasecontext
REQ-UC-LLN-OEF-005-001SRS-AUTH-001
SRS-LRN-003
AC-AUTH-001
AC-LRN-003
Antwoordfeedback alleen tonen nadat de vraag server-side is verwerkt
REQ-UC-LLN-OEF-005-002SRS-LRN-003
AC-LRN-003
Feedback opbouwen uit opgeslagen vraagvoortgang
REQ-UC-LLN-OEF-005-003SRS-LRN-003
SRS-MOD-003
AC-LRN-003
AC-MOD-003
De juiste antwoordrepresentatie via de gekoppelde module kunnen verkrijgen
REQ-UC-LLN-OEF-005-004SRS-LRN-006
AC-LRN-006
Goed/fout-status tonen op basis van opgeslagen resultaatstatus
REQ-UC-LLN-OEF-005-005SRS-LRN-004
AC-LRN-004
Bij Geen idee kunnen tonen dat de vraag als fout meetelt
REQ-UC-LLN-OEF-005-006SRS-LRN-009
AC-LRN-009
Feedback kunnen reconstrueren na browserrefresh
REQ-UC-LLN-OEF-005-007SRS-LRN-009
AC-LRN-009
Volgende tonen wanneer er een volgende vraag beschikbaar is
REQ-UC-LLN-OEF-005-008SRS-LRN-006
AC-LRN-006
Bekijk resultaat tonen wanneer de laatste vraag is verwerkt
REQ-UC-LLN-OEF-005-009SRS-LRN-003
AC-LRN-003
Tijdens feedback tonen geen antwoord opnieuw opslaan of beoordelen
REQ-UC-LLN-OEF-005-010SRS-LRN-009
AC-LRN-009
Feedback alleen tonen aan de eigenaar van de run
REQ-UC-LLN-OEF-005-011SRS-LRN-009
SRS-MOD-005
AC-LRN-009
AC-MOD-005
Module-interne details en technische identifiers verborgen houden
REQ-UC-LLN-OEF-005-012SRS-AUTH-001
SRS-LRN-009
SRS-NFR-SEC-001
AC-AUTH-001
AC-LRN-009
AC-NFR-SEC-001
Feedback veilig blokkeren wanneer de vraag nog niet verwerkt is
REQ-UC-LLN-OEF-005-013SRS-AUTH-001
SRS-LRN-003
SRS-NFR-SEC-001
AC-AUTH-001
AC-LRN-003
AC-NFR-SEC-001
Feedback veilig blokkeren wanneer de juiste antwoordrepresentatie niet beschikbaar is
REQ-UC-LLN-OEF-005-014SRS-AUTH-001
SRS-LRN-009
AC-AUTH-001
AC-LRN-009
De vervolgstap bepalen op basis van server-side vraagpositie
REQ-UC-LLN-OEF-005-015SRS-AUTH-001
SRS-REL-001
SRS-MSG-001
SRS-TIC-002
SRS-LRN-009
AC-AUTH-001
AC-REL-001
AC-MSG-001
AC-TIC-002
AC-LRN-009
Feedback tonen zonder relaties, autorisaties, berichten of meldingen te wijzigen
REQ-UC-LLN-OEF-005-016SRS-LRN-009
AC-LRN-009
Bij verlopen sessie geen feedbackdata tonen
REQ-UC-LLN-OEF-005-017SRS-AUTH-001
SRS-AUTH-002
SRS-LRN-009
AC-AUTH-001
AC-AUTH-002
AC-LRN-009
Voorkomen dat clientstate zelfstandig het tonen van feedback afdwingt
REQ-UC-LLN-OEF-005-018SRS-LRN-003
SRS-MOD-003
AC-LRN-003
AC-MOD-003
Feedback kunnen tonen voor modules met verschillende antwoordrepresentaties
REQ-UC-LLN-OEF-005-019SRS-LRN-003
SRS-NFR-AVL-001
AC-LRN-003
AC-NFR-AVL-001
Bij foutafhandeling de opgeslagen voortgang behouden
REQ-UC-LLN-OEF-005-020SRS-LRN-006
AC-LRN-006
Feedbackweergave los houden van eindresultaatberekening
REQ-UC-LLN-OEF-005-021SRS-LRN-009
SRS-POP-001
AC-LRN-009
AC-POP-001
Feedbackweergave binnen het oefenscherm kunnen tonen zonder popupregister-popup
REQ-UC-LLN-OEF-005-022SRS-AUTH-001
SRS-LRN-009
SRS-CNT-004
AC-AUTH-001
AC-LRN-009
AC-CNT-004
Bij directe URL of refresh opnieuw server-side autoriseren
REQ-UC-LLN-OEF-005-023SRS-LRN-003
SRS-NFR-SEC-001
AC-LRN-003
AC-NFR-SEC-001
De gegeven antwoordwaarde kunnen tonen wanneer deze veilig renderbaar is
REQ-UC-LLN-OEF-005-024SRS-LRN-003
SRS-MOD-003
SRS-NFR-SEC-001
AC-LRN-003
AC-MOD-003
AC-NFR-SEC-001
De juiste antwoordwaarde veilig renderen volgens modulespecifieke presentatiehulp
REQ-UC-LLN-OEF-005-025SRS-LRN-009
AC-LRN-009
De feedbackweergave verlaten kunnen zonder extra datamutatie
REQ-UC-LLN-OEF-005-026SRS-LRN-003
AC-LRN-003
De voortgangsindicator consistent houden met de reeds opgeslagen vraagstatus
REQ-UC-LLN-OEF-005-027SRS-LRN-009
AC-LRN-009
Bij ontbrekende runcontext geen feedback tonen
REQ-UC-LLN-OEF-005-028SRS-LRN-003
SRS-NFR-SEC-001
AC-LRN-003
AC-NFR-SEC-001
Feedback na een reguliere antwoordroute en na een Geen idee-route op dezelfde veilige feedbackcomponent kunnen tonen
REQ-UC-LLN-OEF-005-029SRS-LRN-006
AC-LRN-006
Bij laatste vraag routeren naar de afrondflow en niet rechtstreeks naar een niet-berekend resultaat
REQ-UC-LLN-OEF-005-030SRS-RDM-001
SRS-LRN-009
AC-RDM-001
AC-LRN-009
Feedback tonen als afgeleid readmodel en niet als aparte persistente bron
REQ-UC-LLN-OEF-005-031SRS-LRN-003
AC-LRN-003
Voorkomen dat feedbackweergave een eerder opgeslagen antwoord inhoudelijk wijzigt
REQ-UC-LLN-OEF-005-032SRS-LRN-003
SRS-MOD-003
SRS-NFR-SEC-001
AC-LRN-003
AC-MOD-003
AC-NFR-SEC-001
Modulespecifieke antwoordnotatie veilig kunnen renderen in de feedbackweergave
REQ-UC-LLN-OEF-005-033SRS-LRN-003
AC-LRN-003
Verhinderen dat toekomstige juiste antwoorden zichtbaar worden via de feedbackcomponent
REQ-UC-LLN-OEF-005-034SRS-LRN-009
AC-LRN-009
Bij overgang naar volgende vraag opnieuw actuele runstatus controleren
REQ-UC-LLN-OEF-005-035SRS-LRN-006
AC-LRN-006
Bij overgang naar resultaat controleren dat de laatste vraag verwerkt is
REQ-UC-LLN-OEF-005-036SRS-LRN-009
AC-LRN-009
Bij browser-terug of refresh dezelfde opgeslagen feedbacktoestand tonen zonder nieuwe mutatie
REQ-UC-LLN-OEF-005-037SRS-LRN-009
SRS-MOD-003
SRS-NFR-SEC-001
SRS-NFR-AVL-001
AC-LRN-009
AC-MOD-003
AC-NFR-SEC-001
AC-NFR-AVL-001
Veilige foutafhandeling tonen wanneer feedback door ontbrekende modulepresentatie niet betrouwbaar kan worden opgebouwd
REQ-UC-LLN-OEF-005-038SRS-LRN-009
AC-LRN-009
Feedbackgegevens beperken tot de actuele leerling, run en vraag