Skip to main content

7. Bekijk geschiedenis

7.1 Schermafbeelding

oefenhub_docent_05_bekijk_geschiedenis_v1_13.png

7.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-DOC-05-01
SchermnaamBekijk geschiedenis — leerlingresultaten binnen docentcontext
Doelgroep / onderdeelDocent
Bronbestandoefenhub_docent_05_bekijk_geschiedenis_v1_13.html
MockupversieV1.13
Screenshotbestandoefenhub_docent_05_bekijk_geschiedenis_v1_13.png
Processtap / contextDe docent opent vanuit het leerlingenoverzicht of online-overzicht de geschiedenis van één specifieke leerling en bekijkt alleen afgeronde oefenruns binnen de eigen docentcontext.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenDit scherm is een lees- en analysepagina. De docent kan hier geen resultaten wijzigen of verwijderen.
Route / URL-patroon/docent/leerlingen/{studentUserId}/geschiedenis?niveau={teacherLevelId}&categorie={categoryId}&periode={periodKey}
Autorisatie / vereiste rol-contextActieve rol Docent; actieve docent-leerlingrelatie met de geselecteerde leerling; inzage uitsluitend voor niveaus die binnen deze docentcontext aan de leerling zijn geautoriseerd.
Primair domeinobject / hoofdentiteitExerciseRuns van de geselecteerde leerling, gefilterd op docentcontext, niveau-autorisatie, categorie en periode.
Gerelateerde schermen / navigatie06_leerlingen, 08_online_overzicht, 09_meekijken, 10_autoriseer_leerling, 11_autoriseer_niveau.

7.3 Functionele beschrijving

Het scherm Bekijk geschiedenis toont de oefengeschiedenis van één geselecteerde leerling voor de ingelogde docent. De pagina is bedoeld om voortgang, afgeronde runs, beantwoorde vragen en statistieken te analyseren zonder dat de docent de resultaten kan aanpassen.

De docent komt op dit scherm nadat eerst een leerling is gekozen, bijvoorbeeld via Leerlingen of Online. De breadcrumb toont daarom de route Home > Leerlingen > <leerlingnaam> > Geschiedenis. De leerlingcontext staat bovenaan vast; de filters op het scherm beperken alleen welke runs en statistieken binnen die leerlingcontext worden getoond.

De kern van het scherm bestaat uit vijf functionele zones:

  1. een introductieblok met uitleg over docentcontext en autorisatiegrenzen;
  2. een leerlingkaart met de gekozen leerling en het relevante niveau in deze docentcontext;
  3. een samenvattingskaart met totalen voor de huidige filterselectie;
  4. een filterbalk voor zoeken, niveau, categorie en periode;
  5. een master-detailweergave met links afgeronde oefeningen en rechts de details van de geselecteerde run.

Interpretatie van mockupwaarden

De concrete namen, aantallen, datums, oefeningtitels, antwoorden en statistiekwaarden die in de mockup zichtbaar zijn, zijn voorbeeldwaarden. Zij beschrijven niet één vaste situatie en mogen niet als vaste businessdata worden geïnterpreteerd.

Voor dit scherm geldt dat vrijwel alle inhoudelijke waarden dynamisch worden opgebouwd vanuit de geselecteerde leerling, de actieve docentcontext, de ingestelde filters en de geselecteerde exercise run. Dit geldt onder meer voor leerlingnaam, initialen, niveau, categorie, oefening, afrondmoment, aantal vragen, aantal goed/fout, aantal Geen idee, vraagteksten, gegeven antwoorden, juiste antwoorden en statistieken.

Ook de vraag- en antwoordweergave is moduleafhankelijk. Een rekenmodule kan bijvoorbeeld een compacte som met één antwoordveld tonen, terwijl een andere oefening meerdere antwoordvelden, tekstuele antwoorden of een andere renderstructuur kan gebruiken. De documentatie specificeert daarom de functie, databron en regels achter de velden; de zichtbare mockupwaarden zijn alleen bedoeld als illustratieve testdata.

De lijst Afgeronde oefeningen toont alleen exercise runs die formeel zijn afgerond. Niet-afgeronde runs, tijdelijke docent-testruns en runs buiten de eigen docentcontext blijven buiten beeld. Elke lijstregel toont categorie, oefening, afrondmoment, niveau en compacte totalen voor vragen, goed, fout en Geen idee. De lijst is visueel scrollbaar binnen het kaartblok, zodat de detailweergave ernaast op dezelfde pagina zichtbaar blijft. Voor grotere datasets moet de backend alsnog begrenzen hoeveel records per keer worden geladen; scrollen in de mockup betekent niet dat onbeperkt alle historie in één response mag worden opgehaald.

Wanneer de docent op Bekijk details klikt, wordt de rechter detailkaart gevuld met de geselecteerde exercise run. In de mockup staat deze detailkaart permanent rechts naast de lijst. De detailkaart bevat inklapbare secties voor Samenvatting, Vragen en antwoorden en Statistieken. De gebruiker blijft op dezelfde pagina; er wordt dus geen aparte mutatieflow gestart.

Procesverloop

  1. De docent opent het scherm vanuit een leerlingcontext.
  2. Het systeem controleert of de huidige gebruiker in rolcontext Docent een actieve docent-leerlingrelatie heeft met de geselecteerde leerling.
  3. Het systeem bepaalt de toegestane niveaus via TeacherStudentLevelAccess binnen deze docent-leerlingrelatie.
  4. Het systeem haalt afgeronde, niet-test exercise runs op voor de geselecteerde leerling, beperkt tot de toegestane docentniveaus.
  5. De filterselecties bepalen welke runs in de lijst en samenvatting meetellen.
  6. De meest recente zichtbare run wordt standaard geselecteerd, tenzij via route-state of querystring een andere run is meegegeven.
  7. Bij selectie van een lijstregel worden samenvatting, vraagdetails en statistieken voor die run in het detailpaneel getoond.

Business rules

  • De docent ziet uitsluitend resultaten van de geselecteerde leerling binnen de eigen docentcontext.
  • De docent ziet geen resultaten van niveaus die door een andere docent zijn geautoriseerd, ook niet wanneer dezelfde leerling met meerdere docenten gekoppeld is.
  • Collaboratorrechten op een niveau geven geen automatisch recht op leerlingresultaten. Daarvoor blijft een expliciete docent-leerlingrelatie en leerlingniveau-autorisatie nodig.
  • Alleen records met ExerciseRuns.IsCompleted = true en een gevuld CompletedAtUtc worden in deze geschiedenis getoond.
  • Records met ExerciseRuns.IsTestRun = true worden niet getoond.
  • Resultaten worden niet opnieuw berekend voor de lijstweergave. Lijsttotalen en samenvattingswaarden gebruiken de uniforme velden op ExerciseRuns.
  • Concrete waarden uit de mockup, zoals namen, aantallen, datums, antwoorden en statistieken, zijn voorbeelddata; implementatie moet deze waarden altijd dynamisch uit de geselecteerde leerling, filters, run en moduleweergave bepalen.
  • Vraagdetails worden gelezen uit ExerciseRunProgress en/of de modulespecifieke payload in QuestionDataJsonBase64. De technische module blijft verantwoordelijk voor interpretatie van modulespecifieke vraag- en antwoordstructuren.
  • Een fout antwoord of Geen idee moet functioneel toegang geven tot het juiste antwoord als toelichting. In de mockup gebeurt dit compact via de resultaatsindicator; implementatie mag dit als tooltip, inline toelichting of detailregel renderen zolang de informatie beschikbaar is.
  • De samenvattingskaart telt altijd binnen de actuele filters. Wijzigt de docent niveau, categorie, periode of zoekterm, dan worden lijst en samenvatting op dezelfde filtercontext gebaseerd.
  • Intrekken van autorisatie verwijdert historische runs niet uit de database. Of eerder zichtbare docentgeschiedenis na intrekking zichtbaar blijft, wordt bepaald door de autorisatieregel van dit scherm: standaard toont dit scherm alleen de op dat moment toegestane docentcontext.

Leegstand en foutafhandeling

  • Als de leerling geen afgeronde runs heeft binnen de toegestane docentcontext, toont het scherm een lege staat met uitleg dat er nog geen afgeronde oefeningen beschikbaar zijn.
  • Als filters geen resultaten opleveren, toont het scherm een filter-lege staat met de mogelijkheid om filters te verruimen.
  • Als de docent geen toegang meer heeft tot de leerling of het niveau, wordt geen gedeeltelijke data getoond; het systeem toont een autorisatiemelding en biedt navigatie terug naar Leerlingen.
  • Als detaildata van een run technisch niet meer volledig kan worden geïnterpreteerd, blijven de uniforme samenvattingsvelden zichtbaar en toont de vraagdetailsectie een foutmelding dat detailweergave niet beschikbaar is.

7.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-DOC-05-01-S01SectionBreadcrumb bovenaanNavigatiepad vanaf home en leerlingen naar de geschiedenis van de gekozen leerling.Home › Leerlingen › <leerlingnaam> › GeschiedenisLeerlingnaam is dynamisch.HistoryBreadcrumb
SCH-DOC-05-01-S02SectionIntrokaartLegt uit dat de docent alleen afgeronde oefeningen binnen de eigen docentcontext ziet.Voortgang van leerling bekijkenTekst is informatief en niet interactief.HistoryIntroPanel
SCH-DOC-05-01-S03SectionLeerlingkaart links onder introToont de vaste leerlingcontext voor dit scherm.<leerlingnaam>Naam, niveau en contextregel zijn dynamisch.StudentContextCard
SCH-DOC-05-01-F01FieldLeerlingkaart, avatarVisuele initialenweergave van de geselecteerde leerling.<initiaal>Afgeleid uit voornaam of fallback op naamweergave.StudentAvatarInitial
SCH-DOC-05-01-F02FieldLeerlingkaart, naamVolledige weergavenaam van de geselecteerde leerling.<leerlingnaam>Dynamisch; niet bewerkbaar op dit scherm.StudentDisplayName
SCH-DOC-05-01-F03FieldLeerlingkaart, metaregelBeschrijft relatie en huidig/geselecteerd niveau binnen de docentcontext.Gekoppeld als leerling · Huidig niveau: <niveau>Niveauwaarde is dynamisch; bij meerdere niveaus kan de tekst functioneel worden aangepast naar meervoud.StudentContextSummary
SCH-DOC-05-01-M01MessageLeerlingkaart, blauwe meldingBenadrukt dat het scherm beperkt is tot eigen autorisaties.Alleen jouw geautoriseerde niveaus en resultatenInformatieve autorisatiehint.TeacherContextNotice
SCH-DOC-05-01-S04SectionSamenvattingskaart rechts bovenToont geaggregeerde waarden over de huidige filterselectie.SamenvattingAlle waarden worden herberekend bij filterwijziging.HistorySummaryPanel
SCH-DOC-05-01-F04FieldSamenvatting, tegel 1Aantal afgeronde runs in de huidige filterselectie.AfgerondTeller op runniveau.CompletedRunCount
SCH-DOC-05-01-F05FieldSamenvatting, tegel 2Gemiddelde score op basis van goed beantwoorde vragen.Gem. scoreBerekend als percentage over de gefilterde runs.AverageScorePercentage
SCH-DOC-05-01-F06FieldSamenvatting, tegel 3Totaal aantal vragen dat als Geen idee is gemarkeerd.Geen ideeSom van DunnoCount.TotalDunnoCount
SCH-DOC-05-01-F07FieldSamenvatting, tegel 4Gemiddelde beantwoordingstijd per vraag.Gem. tijdGewogen gemiddelde over afgeronde vragen.AverageQuestionTimeSeconds
SCH-DOC-05-01-S05SectionFilterbalkFiltert lijst en samenvatting.Zoek in geschiedenis / Niveau / Categorie / PeriodeFilters werken gecombineerd.HistoryFilterPanel
SCH-DOC-05-01-F08FieldZoekveldVrij zoeken binnen categorie, oefening en niveau.Zoek in geschiedenisPlaceholder: Zoek op categorie, oefening of niveau.HistorySearchQuery
SCH-DOC-05-01-F09FieldNiveau-dropdownBeperkt de geschiedenis tot één toegestaan docentniveau of alle eigen niveaus.NiveauOpties worden alleen gevuld met niveaus die binnen deze docentcontext toegestaan zijn.SelectedTeacherLevelId
SCH-DOC-05-01-F10FieldCategorie-dropdownBeperkt de geschiedenis tot één categorie.CategorieOpties worden bepaald binnen toegestane niveaus en beschikbare runs.SelectedCategoryId
SCH-DOC-05-01-F11FieldPeriode-dropdownBeperkt de geschiedenis op afrondmoment.PeriodeWaarden: Afgelopen 7 dagen, Afgelopen 30 dagen, Dit jaar, Alles.SelectedPeriodKey
SCH-DOC-05-01-S06SectionLinker kaartMasterlijst met afgeronde oefeningen.Afgeronde oefeningenDe lijst is scrollbaar binnen het blok.CompletedRunsList
SCH-DOC-05-01-T01Table/ListLijstregel afgeronde oefeningEén afgeronde run met titel, afrondmoment, niveau en totalen.<categorienaam> · <oefeningnaam>Categorie, oefening en waarden zijn dynamisch per run. Sorteert standaard aflopend op afrondmoment.CompletedRunListItem
SCH-DOC-05-01-F12FieldLijstregel, titelCombinatie van categorie en oefening.<categorienaam> · <oefeningnaam>Weergave komt uit categorie- en oefennaam op basis van runcontext.RunTitle
SCH-DOC-05-01-F13FieldLijstregel, metadataAfrondmoment en niveau van de run.Afgerond op <datum> · <tijd> · Niveau: <niveau>Datum, tijd en niveau zijn dynamisch; tijd wordt in lokale gebruikerstijd weergegeven.RunCompletionMeta
SCH-DOC-05-01-F14FieldLijstregel, totalenCompacte tags met aantal vragen, goed, fout en Geen idee.<aantal vragen> vragen · <aantal goed> goed · <aantal fout> fout · <aantal geen idee> geen ideeDynamische waarden uit uniforme runvelden; mockupwaarden zijn voorbeelddata.RunTotalsSummary
SCH-DOC-05-01-B01ButtonLijstregel rechtsSelecteert de run en toont details rechts.Bekijk detailsVerandert geen data.ViewRunDetailsButton
SCH-DOC-05-01-S07SectionRechter kaartDetailpaneel voor geselecteerde run.ResultaatdetailsAlleen-lezen.RunDetailPanel
SCH-DOC-05-01-S08SectionDetailpaneel, sectie SamenvattingInklapbare sectie met kerngegevens van de run.SamenvattingStaat in mockup open.RunSummarySection
SCH-DOC-05-01-F15FieldSamenvatting detailNiveau van de geselecteerde run.NiveauWaarde op basis van ExerciseRuns.LevelId.DetailLevelName
SCH-DOC-05-01-F16FieldSamenvatting detailOefeningnaam van de geselecteerde run.OefeningWaarde op basis van ExerciseRuns.ExerciseId.DetailExerciseName
SCH-DOC-05-01-F17FieldSamenvatting detailTotaal aantal vragen in de run.Totaal vragenWaarde uit TotalQuestions.DetailTotalQuestions
SCH-DOC-05-01-F18FieldSamenvatting detailAantallen goed, fout en Geen idee.Goed / fout / geen ideeWaarden uit uniforme runvelden.DetailResultCounts
SCH-DOC-05-01-F19FieldSamenvatting detailVolgnummer van geselecteerde run binnen de gefilterde set.Run van totaal runsAfgeleid uit sortering en totaal binnen filtercontext.DetailRunRank
SCH-DOC-05-01-F20FieldSamenvatting detailAfrondmoment van de run.Afgerond opLokale weergave van CompletedAtUtc.DetailCompletedAt
SCH-DOC-05-01-S09SectionDetailpaneel, sectie Vragen en antwoordenScrollbaar overzicht van vragen, gegeven antwoorden en resultaatstatus.Vragen en antwoordenStaat in mockup open.QuestionAnswerSection
SCH-DOC-05-01-T02Table/ListVraagregelEén vraag binnen de geselecteerde run.Nr / Opgave / Gegeven antwoordJuist antwoord wordt minimaal beschikbaar gemaakt bij fout of Geen idee.QuestionAnswerRow
SCH-DOC-05-01-F21FieldVraagregel, nummerVolgnummer van de vraag binnen de run.NrKomt uit SequenceNumber.QuestionSequenceNumber
SCH-DOC-05-01-F22FieldVraagregel, opgaveGerenderde opgave.OpgaveModule-specifieke weergave uit vraagpayload; kan per oefeningstype verschillen.QuestionPrompt
SCH-DOC-05-01-F23FieldVraagregel, antwoordDoor leerling gegeven antwoord of Geen idee.Gegeven antwoordModule-specifieke antwoordrepresentatie.GivenAnswerDisplay
SCH-DOC-05-01-M02MessageVraagregel, groen vinkjeResultaatstatus goed.Alleen visueel compact; semantische status moet toegankelijk zijn.CorrectResultIndicator
SCH-DOC-05-01-M03MessageVraagregel, rood kruisResultaatstatus fout.Moet juiste antwoord als toelichting beschikbaar maken.IncorrectResultIndicator
SCH-DOC-05-01-M04MessageVraagregel, geel vraagtekenResultaatstatus Geen idee.?Telt functioneel als fout en toont juiste antwoord als toelichting.DunnoResultIndicator
SCH-DOC-05-01-S10SectionDetailpaneel, sectie StatistiekenInklapbare sectie met runstatistieken.StatistiekenStaat in mockup open; waarden zijn runniveau-statistieken.RunStatisticsSection
SCH-DOC-05-01-F24FieldStatistiekenGemiddelde tijd per vraag.Gemiddelde tijd per vraagUit uniforme statistiekvelden.DetailAverageTimeSeconds
SCH-DOC-05-01-F25FieldStatistiekenNauwkeurigheid van de run.NauwkeurigheidBerekend op basis van goed / totaal.DetailAccuracyPercentage
SCH-DOC-05-01-F26FieldStatistiekenTotale doorlooptijd.Totale doorlooptijdBerekend uit start- en afrondmoment of opgeslagen uniform veld.DetailTotalDuration
SCH-DOC-05-01-F27FieldStatistiekenAantal uitschieters.UitschietersSom van onder- en bovengrensuitschieters.DetailOutlierCount
SCH-DOC-05-01-F28FieldStatistiekenLangzaamste vraag.Langzaamste vraagAfgeleid uit vraagdoorlooptijden.DetailSlowestQuestion
SCH-DOC-05-01-F29FieldStatistiekenSnelste vraag.Snelste vraagAfgeleid uit vraagdoorlooptijden.DetailFastestQuestion
SCH-DOC-05-01-F30FieldStatistiekenOndergrens van statistische bandbreedte.OndergrensWaarde uit LowerBoundSeconds.DetailLowerBoundSeconds
SCH-DOC-05-01-F31FieldStatistiekenBovengrens van statistische bandbreedte.BovengrensWaarde uit UpperBoundSeconds.DetailUpperBoundSeconds
SCH-DOC-05-01-F32FieldUitschieterblokVragen onder de ondergrens.Uitschieters ondergrensToont Geen wanneer er geen items zijn.LowerOutlierList
SCH-DOC-05-01-F33FieldUitschieterblokVragen boven de bovengrens.Uitschieters bovengrensToont dynamisch vraagnummer en tijd in seconden.UpperOutlierList
SCH-DOC-05-01-M05MessageLege lijstMelding wanneer geen afgeronde runs beschikbaar zijn.Nog geen afgeronde oefeningen gevondenNiet zichtbaar in de mockup, wel vereist voor volledige schermwerking.EmptyHistoryMessage
SCH-DOC-05-01-M06MessageAutorisatiefoutMelding wanneer docent geen toegang heeft tot geselecteerde leerling of niveau.Je hebt geen toegang tot deze geschiedenisBevat geen detaildata.UnauthorizedHistoryMessage

7.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-DOC-05-01-S01BreadcrumbHome › Leerlingen › <leerlingnaam> › GeschiedenisHistoryBreadcrumbRoutecontext + UsersAfgeleidstringNeeLeerlingnaam wordt alleen getoond wanneer autorisatiecontrole succesvol is.
SCH-DOC-05-01-F01AvatarMStudentAvatarInitialUsersAfgeleidstring(1-2)NeeAfleiden uit voornaam; fallback op achternaam of gebruikerscode.
SCH-DOC-05-01-F02Leerlingnaam<leerlingnaam>StudentDisplayNameUsersDatabasestringNeeVolledige naam volgens ingestelde naamweergave; geen e-mailadres tonen.
SCH-DOC-05-01-F03LeerlingcontextGekoppeld als leerling · Huidig niveau: <niveau>StudentContextSummaryUserRelationships, TeacherStudentLevelAccess, TeacherLevelsAfgeleidstringNeeNiveau en contexttekst zijn dynamisch; alleen tonen als actieve docent-leerlingrelatie bestaat.
SCH-DOC-05-01-M01AutorisatiehintAlleen jouw geautoriseerde niveaus en resultatenTeacherContextNoticeApplicatietekstVaststringNeeMoet zichtbaar blijven om privacygrens te verduidelijken.
SCH-DOC-05-01-F04SamenvattingAfgerondCompletedRunCountExerciseRunsBerekendintegerNeeCount van runs met IsCompleted = true, IsTestRun = false, gevuld CompletedAtUtc, binnen filters en docentcontext.
SCH-DOC-05-01-F05SamenvattingGem. scoreAverageScorePercentageExerciseRuns.CorrectCount, ExerciseRuns.TotalQuestionsBerekenddecimal/percentageNeesum(CorrectCount) / sum(TotalQuestions) * 100; bij nul vragen geen percentage tonen.
SCH-DOC-05-01-F06SamenvattingGeen ideeTotalDunnoCountExerciseRuns.DunnoCountBerekendintegerNeeSom binnen dezelfde filtercontext als de lijst.
SCH-DOC-05-01-F07SamenvattingGem. tijdAverageQuestionTimeSecondsExerciseRuns.AverageTimeSeconds, ExerciseRuns.TotalQuestionsBerekenddecimal/secondenNeeGewogen gemiddelde: sum(AverageTimeSeconds * TotalQuestions) / sum(TotalQuestions).
SCH-DOC-05-01-F08FilterZoek in geschiedenisHistorySearchQueryGebruikersinvoerUser inputstringJaZoeken op categorie-, oefening- en niveaunaam; trimmen; case-insensitive; geen wildcard-SQL direct gebruiken.
SCH-DOC-05-01-F09FilterNiveauSelectedTeacherLevelIdTeacherStudentLevelAccess, TeacherLevelsDatabase + user inputGUID/nullJaOpties beperken tot niveaus die binnen huidige docent-leerlingrelatie toegestaan zijn; null betekent alle toegestane niveaus.
SCH-DOC-05-01-F10FilterCategorieSelectedCategoryIdCategories, TeacherLevelCategories, ExerciseRunsDatabase + user inputGUID/nullJaOpties beperken tot categorieën die binnen toegestane niveaus en beschikbare historie voorkomen.
SCH-DOC-05-01-F11FilterPeriodeSelectedPeriodKeyApplicatie-enumUser inputenum/stringJaToegestane waarden: Last7Days, Last30Days, ThisYear, All; standaard Last30Days.
SCH-DOC-05-01-T01Afgeronde oefeningen<categorienaam> · <oefeningnaam>CompletedRunListItemExerciseRuns, TeacherLevels, Categories, ExercisesDatabaseobject/listNeeAlleen afgeronde, niet-test runs; sortering standaard CompletedAtUtc DESC; backend begrenst page size.
SCH-DOC-05-01-F12Lijstregel<categorienaam> · <oefeningnaam>RunTitleCategories.Name, Exercises.NameDatabasestringNeeCombineert categorie en oefening met scheidingsteken ·; waarden verschillen per run.
SCH-DOC-05-01-F13LijstregelAfgerond op <datum> · <tijd> · Niveau: <niveau>RunCompletionMetaExerciseRuns.CompletedAtUtc, TeacherLevels.NameDatabase + afgeleidstringNeeDatum, tijd en niveau verschillen per run; UTC-tijd omzetten naar lokale gebruikersweergave.
SCH-DOC-05-01-F14Lijstregel<aantal vragen> vragen · <aantal goed> goed · <aantal fout> fout · <aantal geen idee> geen ideeRunTotalsSummaryExerciseRuns.TotalQuestions, CorrectCount, IncorrectCount, DunnoCountDatabasestringNeeDynamische waarden direct uitlezen uit uniforme runvelden; niet uit payload herberekenen.
SCH-DOC-05-01-B01ActieBekijk detailsViewRunDetailsButtonExerciseRuns.IdUser inputactionJaAlleen selecteren van bestaande zichtbare run toegestaan; geen mutatie.
SCH-DOC-05-01-S07DetailpaneelResultaatdetailsRunDetailPanelExerciseRunsDatabaseobjectNeeToont standaard meest recente zichtbare run of geselecteerde run.
SCH-DOC-05-01-F15Detail samenvattingNiveauDetailLevelNameTeacherLevels.Name via ExerciseRuns.LevelIdDatabasestringNeeHistorische niveaucontext van de run is leidend.
SCH-DOC-05-01-F16Detail samenvattingOefeningDetailExerciseNameExercises.Name via ExerciseRuns.ExerciseIdDatabasestringNeeActuele oefeningnaam tonen; wanneer snapshotvelden beschikbaar zijn, is de historische snapshot leidend.
SCH-DOC-05-01-F17Detail samenvattingTotaal vragenDetailTotalQuestionsExerciseRuns.TotalQuestionsDatabaseintegerNeeMoet overeenkomen met aantal gegenereerde of afgeronde vragen in de run.
SCH-DOC-05-01-F18Detail samenvattingGoed / fout / geen ideeDetailResultCountsExerciseRuns.CorrectCount, IncorrectCount, DunnoCountDatabasestringNeeGeen idee telt functioneel als fout maar blijft apart zichtbaar.
SCH-DOC-05-01-F19Detail samenvattingRun van totaal runsDetailRunRankGefilterde runsetBerekendstringNeeRangnummer berekenen binnen dezelfde filtercontext en sortering als de lijst.
SCH-DOC-05-01-F20Detail samenvattingAfgerond opDetailCompletedAtExerciseRuns.CompletedAtUtcDatabasedatetime/stringNeeAlleen gevuld voor afgeronde runs; lokale datum/tijd tonen.
SCH-DOC-05-01-T02Vragen en antwoordenNr / Opgave / Gegeven antwoordQuestionAnswerRowExerciseRunProgress, ExerciseRuns.QuestionDataJsonBase64Database + module-renderingobject/listNeeVolgorde op SequenceNumber; module bepaalt renderbare vraag- en antwoordtekst.
SCH-DOC-05-01-F21VraagregelNrQuestionSequenceNumberExerciseRunProgress.SequenceNumberDatabaseintegerNeeUniek binnen ExerciseRunId.
SCH-DOC-05-01-F22VraagregelOpgaveQuestionPromptExerciseRunProgress.QuestionStateJsonBase64 of ExerciseRuns.QuestionDataJsonBase64Database + module-renderingstring/renderfragmentNeeModule-specifieke inhoud veilig renderen; geen vrije HTML uit payload zonder sanitizing; in de mockup heet dit Som.
SCH-DOC-05-01-F23VraagregelGegeven antwoordGivenAnswerDisplayExerciseRunProgress.QuestionStateJsonBase64Database + module-renderingstring/renderfragmentNeeAntwoordrepresentatie kan per module verschillen.
SCH-DOC-05-01-M02ResultaatindicatorCorrectResultIndicatorExerciseRunProgress.IsCorrect, IsDunnoDatabaseboolean/statusNeeGroen vinkje bij IsCorrect = true en IsDunno = false.
SCH-DOC-05-01-M03ResultaatindicatorIncorrectResultIndicatorExerciseRunProgress.IsCorrect, payload juist antwoordDatabase + module-renderingboolean/statusNeeRood kruis bij fout; juiste antwoord beschikbaar maken als toelichting.
SCH-DOC-05-01-M04Resultaatindicator?DunnoResultIndicatorExerciseRunProgress.IsDunno, payload juist antwoordDatabase + module-renderingboolean/statusNeeGeel vraagteken bij IsDunno = true; telt als fout.
SCH-DOC-05-01-F24StatistiekenGemiddelde tijd per vraagDetailAverageTimeSecondsExerciseRuns.AverageTimeSecondsDatabasedecimal/secondenNeeUniform opgeslagen na afronding.
SCH-DOC-05-01-F25StatistiekenNauwkeurigheidDetailAccuracyPercentageExerciseRuns.CorrectCount, TotalQuestionsBerekenddecimal/percentageNeeCorrectCount / TotalQuestions * 100; afronden volgens UI-conventie.
SCH-DOC-05-01-F26StatistiekenTotale doorlooptijdDetailTotalDurationExerciseRuns.StartedAtUtc, CompletedAtUtcBerekendduration/stringNeeVerschil tussen start en afronding; tonen als minuten/seconden.
SCH-DOC-05-01-F27StatistiekenUitschietersDetailOutlierCountExerciseRuns.LowerOutlierCount, UpperOutlierCountBerekend/databaseintegerNeeSom van onder- en bovengrensuitschieters.
SCH-DOC-05-01-F28StatistiekenLangzaamste vraagDetailSlowestQuestionExerciseRunProgress.FirstShownAtUtc, AnsweredAtUtcBerekendstringNeeVraag met hoogste vraagdoorlooptijd binnen afgeronde vragen.
SCH-DOC-05-01-F29StatistiekenSnelste vraagDetailFastestQuestionExerciseRunProgress.FirstShownAtUtc, AnsweredAtUtcBerekendstringNeeVraag met laagste vraagdoorlooptijd binnen afgeronde vragen.
SCH-DOC-05-01-F30StatistiekenOndergrensDetailLowerBoundSecondsExerciseRuns.LowerBoundSecondsDatabasedecimal/secondenNeeOpgeslagen statistische ondergrens van de run.
SCH-DOC-05-01-F31StatistiekenBovengrensDetailUpperBoundSecondsExerciseRuns.UpperBoundSecondsDatabasedecimal/secondenNeeOpgeslagen statistische bovengrens van de run.
SCH-DOC-05-01-F32UitschieterblokUitschieters ondergrensLowerOutlierListExerciseRunProgress, ExerciseRuns.LowerBoundSecondsBerekendstring/listNeeToon Geen bij nul uitschieters.
SCH-DOC-05-01-F33UitschieterblokUitschieters bovengrensUpperOutlierListExerciseRunProgress, ExerciseRuns.UpperBoundSecondsBerekendstring/listNeeToon vraagnummer en duur, bijvoorbeeld &lt;vraagnummer&gt; · &lt;duur&gt; sec; voorbeeldwaarden zijn niet vast.
SCH-DOC-05-01-M05LeegstandNog geen afgeronde oefeningen gevondenEmptyHistoryMessageQueryresultaatAfgeleidstringNeeTonen wanneer gefilterde runset leeg is.
SCH-DOC-05-01-M06AutorisatiefoutJe hebt geen toegang tot deze geschiedenisUnauthorizedHistoryMessageAutorisatiecontroleAfgeleidstringNeeGeen leerlingnaam, rungegevens of statistieken lekken bij ontbreken van rechten.

7.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-05-01-01SRS-TCH-008
AC-TCH-008
De geschiedenis tonen voor precies één geselecteerde leerling binnen de actieve docentcontext
REQ-SCH-DOC-05-01-02SRS-TCH-008
AC-TCH-008
Vóór het ophalen van data controleren of de docent een actieve docent-leerlingrelatie heeft met de geselecteerde leerling
REQ-SCH-DOC-05-01-03SRS-AUTH-001
SRS-TCH-008
AC-AUTH-001
AC-TCH-008
Geschiedenis beperken tot niveaus die binnen de eigen docentcontext voor deze leerling geautoriseerd zijn
REQ-SCH-DOC-05-01-04SRS-TCH-008
AC-TCH-008
Het systeem mag collaboratorrechten niet gebruiken als zelfstandig recht om leerlingresultaten te bekijken
REQ-SCH-DOC-05-01-05SRS-TCH-005
AC-TCH-005
Alleen afgeronde, niet-test exercise runs tonen
REQ-SCH-DOC-05-01-06SRS-TCH-001
AC-TCH-001
De lijst standaard sorteren op meest recent afgeronde run
REQ-SCH-DOC-05-01-07SRS-TCH-008
AC-TCH-008
Zoeken ondersteunen op categorie, oefening en niveau
REQ-SCH-DOC-05-01-08SRS-TCH-008
AC-TCH-008
Een niveaufilter tonen met uitsluitend toegestane docentniveaus voor deze leerling
REQ-SCH-DOC-05-01-09SRS-TCH-008
AC-TCH-008
Een categoriefilter tonen dat past binnen de toegestane niveaus en beschikbare geschiedenis
REQ-SCH-DOC-05-01-10SRS-TCH-001
AC-TCH-001
Periodefiltering toepassen op het afrondmoment van de run
REQ-SCH-DOC-05-01-11SRS-RDM-006
SRS-RDM-002
SRS-RDM-001
SRS-TCH-001
AC-RDM-006
AC-RDM-002
AC-RDM-001
AC-TCH-001
De samenvattingskaart dezelfde filtercontext gebruiken als de lijst
REQ-SCH-DOC-05-01-12SRS-TCH-001
AC-TCH-001
Lijsttotalen uit uniforme runvelden komen en niet uit de modulepayload worden herberekend
REQ-SCH-DOC-05-01-13SRS-TCH-001
AC-TCH-001
Selectie van Bekijk details de detailkaart vullen zonder gegevens te wijzigen
REQ-SCH-DOC-05-01-14SRS-TCH-008
AC-TCH-008
De detailkaart een samenvatting tonen van niveau, oefening, totalen, runpositie en afrondmoment
REQ-SCH-DOC-05-01-15SRS-TCH-001
AC-TCH-001
De vraagdetailsectie vragen en antwoorden in runvolgorde tonen
REQ-SCH-DOC-05-01-16SRS-TCH-001
AC-TCH-001
Bij fout of Geen idee het juiste antwoord beschikbaar zijn als toelichting
REQ-SCH-DOC-05-01-17SRS-TCH-001
AC-TCH-001
Geen idee apart zichtbaar blijven en tegelijk als fout meetellen
REQ-SCH-DOC-05-01-18SRS-TCH-001
AC-TCH-001
De statistiekensectie uniforme runstatistieken tonen
REQ-SCH-DOC-05-01-19SRS-TCH-001
AC-TCH-001
Uitschieters onder en boven de grens afzonderlijk tonen
REQ-SCH-DOC-05-01-20SRS-TCH-001
AC-TCH-001
De lijst en detailsecties mogen visueel scrollbaar zijn, maar data geen onbeperkt in één keer geladen worden
REQ-SCH-DOC-05-01-21SRS-TCH-001
AC-TCH-001
Een lege staat tonen wanneer er geen resultaten zijn
REQ-SCH-DOC-05-01-22SRS-AUTH-004
SRS-TCH-001
AC-AUTH-004
AC-TCH-001
Voorkomen dat technische identifiers zichtbaar worden voor docenten
REQ-SCH-DOC-05-01-23SRS-TCH-001
AC-TCH-001
Datum- en tijdwaarden lokaal en consistent tonen
REQ-SCH-DOC-05-01-24SRS-TCH-001
AC-TCH-001
Detailweergave veilig degraderen wanneer modulespecifieke payload niet renderbaar is, waarbij uniforme runvelden zichtbaar blijven en de vraagdetailsectie een functionele melding toont zonder ruwe payload of technische stacktrace
REQ-SCH-DOC-05-01-25SRS-TCH-001
AC-TCH-001
Alleen-lezen blijven en mag geen acties aanbieden voor verwijderen, aanpassen, herberekenen of corrigeren van resultaten
REQ-SCH-DOC-05-01-26SRS-TCH-008
AC-TCH-008
Alle inhoudelijke voorbeeldwaarden uit de mockup vervangen door dynamische waarden uit leerlingcontext, filters, rungegevens en module-rendering; mockupwaarden geen hardcoded worden

7.7 Technische koppeling

Voor technische uitwerking zijn vooral relevant: