Skip to main content

4. Kinderen

4.1 Schermafbeelding

ooefenhub_ouders_02_kinderen_V1_4.png

4.2 Scherm meta data

VeldWaarde
Scherm-IDSCH-OVG-04-01
SchermnaamKinderen
Doelgroep / onderdeelOuder/voogd
Bronbestandoefenhub_ouders_02_kinderen_V1_4.html
MockupversieV1.4
Screenshotbestandooefenhub_ouders_02_kinderen_V1_4.png
Processtap / contextOuder/voogd opent vanuit de ouder-/voogdcontext het overzicht van gekoppelde kinderen.
DocumentatiestatusUitgewerkt op basis van HTML-mockup, PNG-screenshot, Functioneel Ontwerp, Technisch Ontwerp, Software Requirements Specification en ondersteunende documentatie.
OpmerkingenDe aangeleverde screenshotnaam bevat in de bestaande documentatie een dubbele beginletter oo; dit document gebruikt die bestandsnaam om de bestaande afbeeldingslink intact te houden. Header, profielmenu, berichtenteller en footer vallen buiten de inhoudelijke scope van dit schermdocument.
Route / URL-patroonFunctioneel routepatroon: ouder-voogd/kinderen. De technische route wordt door de applicatieroutering bepaald.
Autorisatie / vereiste rol-contextActieve ouder-/voogdrolcontext (Guardian) met minimaal één actieve ouder/voogd-leerlingrelatie (GuardianStudent) voor de getoonde kinderen.
Primair domeinobject / hoofdentiteitGekoppelde leerling binnen een actieve ouder/voogd-leerlingrelatie.
Gerelateerde schermen / navigatieOuder/voogd frontpage, Ouder/voogd online overzicht, generiek relatiescherm, leerlinggeschiedenis/resultaatweergave in ouder-/voogdcontext.
Data-karakterSamengestelde read-only overzichtsdata met acties naar geschiedenis en relatie-ontkoppeling. Mockupwaarden zijn voorbeelddata.

4.3 Functionele beschrijving

Dit scherm toont de kinderen waarmee het account van de ingelogde gebruiker als ouder of voogd actief gekoppeld is. De pagina is bedoeld als gericht overzicht voor ouder-/voogdbegeleiding: de gebruiker ziet per kind wie gekoppeld is, kan de oefengeschiedenis van dat kind openen en kan de ouder-/voogdrelatie beëindigen wanneer de koppeling niet langer geldig is.

De pagina is nadrukkelijk geen scherm om namens een kind oefeningen te starten, antwoorden te wijzigen, docentstructuren te beheren of leerlingtoegang te muteren. De ouder/voogd krijgt alleen inzage in gegevens die voortkomen uit een actieve GuardianStudent-relatie en onderliggende leerlingtoegang. Voor elk getoond kind moet de server opnieuw controleren dat de ingelogde gebruiker in de actieve ouder-/voogdcontext nog recht heeft op inzage.

De zichtbare kindnamen, initialen, tijdstippen, niveaus en docentnamen in de mockup zijn dynamisch. Zij worden afgeleid uit de gekoppelde leerlingaccounts, actieve relaties, actieve niveauautorisaties, het actief geselecteerde niveau van het kind en de bijbehorende docentstructuur. Wanneer gegevens ontbreken, ingetrokken zijn of door autorisatie niet meer beschikbaar zijn, mag de frontend deze niet blijven tonen op basis van eerder geladen mockup- of clientdata.

4.3.1 Hoofdopbouw

De hoofdinhoud bestaat uit drie inhoudelijke onderdelen:

  1. Introblok Kinderen
    Legt uit dat de ouder/voogd hier de gekoppelde kinderen ziet, snel naar geschiedenis kan gaan en via details beschikbare niveaus, huidig niveau en gekoppelde docenten kan bekijken.

  2. Mijn kinderen
    Toont een lijst met gekoppelde kinderen. Per kind zijn minimaal de naam, een compacte avatar/initialenweergave, de actie Geschiedenis, de actie Ontkoppelen en een uitklapbare detailweergave beschikbaar.

  3. Goed om te weten
    Geeft aanvullende uitleg over kindgerichte geschiedenis, verschillen tussen gekoppelde docenten per kind en het feit dat ontkoppelen een bewuste bevestigde actie is.

De breadcrumb Home › Kinderen hoort bij de pagina-inhoud en maakt duidelijk dat de gebruiker zich binnen het ouder-/voogddeel van OefenHub bevindt. De navigatieknoppen in de header, het berichtenicoon, het profielmenu en de footer worden niet opnieuw als schermspecifieke onderdelen uitgewerkt.

4.3.2 Kindkaart en uitklapbare details

Elke kindkaart vertegenwoordigt één actieve ouder-/voogdrelatie met een leerling. De actie Geschiedenis opent de oefengeschiedenis van het betreffende kind in ouder-/voogdcontext. Die geschiedenis is kindgericht: zij is niet beperkt tot één docentcontext, maar mag alleen resultaten tonen waarvoor de ouder/voogd via de actieve relatie en de geldende autorisatieregels inzage heeft.

De uitklapbare detailweergave toont aanvullende dynamische gegevens:

  • Laatst gezien: afgeleid uit de laatste bekende activiteit van het kind, bijvoorbeeld accountactiviteit of recente oefenrunactiviteit.
  • Alle beschikbare niveaus: afgeleid uit actieve niveauautorisaties van de leerling.
  • Huidige niveau: afgeleid uit het actief geselecteerde niveau van het kind, voor zover dit voor de ouder/voogd zichtbaar mag zijn.
  • Gekoppelde docenten: afgeleid uit de docent-leerlingrelaties en niveaucontexten die bij de zichtbare niveaus horen.

Wanneer een kind meerdere docenten, niveaus of docentcontexten heeft, moet de weergave dit als dynamische collectie behandelen. Er mag niet worden aangenomen dat ieder kind precies één docent of precies één niveau heeft.

4.3.3 Geschiedenis openen

De actie Geschiedenis opent de resultaten- of geschiedenisweergave voor het gekozen kind. De server controleert daarbij minimaal:

  • dat de gebruiker is ingelogd;
  • dat de actieve rolcontext Guardian is;
  • dat er een actieve GuardianStudent-relatie bestaat tussen ouder/voogd en kind;
  • dat de gevraagde resultaten bij het geselecteerde kind horen;
  • dat eventuele onderliggende niveau- of docentcontext niet buiten de toegestane relatie-inzage valt.

De ouder/voogd mag resultaten bekijken, maar niet aanpassen. Historische oefenruns blijven historisch bij het kind horen en worden niet herschreven wanneer docentkoppelingen, categorieën of niveaus later wijzigen.

4.3.4 Ontkoppelen

De actie Ontkoppelen beëindigt de ouder-/voogdrelatie niet direct vanuit de lijst. De actie opent altijd eerst een bevestigingsmodal of popup met de vraag of de gebruiker zeker weet dat de relatie ontkoppeld moet worden. Pas na bevestiging wordt de relatie functioneel beëindigd.

Ontkoppelen betekent dat het bestaande UserRelationships-record niet hard wordt verwijderd, maar op inactief wordt gezet met auditinformatie over actor, tijdstip en reden of toelichting wanneer die in de flow wordt gevraagd. Daarnaast wordt een RelationshipEvents-record vastgelegd. De relatiebeëindiging mag tot gevolg hebben dat dit kind niet meer zichtbaar is in deze lijst en dat de ouder/voogd geen toegang meer heeft tot de bijbehorende geschiedenis en live-meekijkcontext.

4.3.5 Leegstaten, foutstaten en disabled states

Wanneer de ouder/voogd geen actieve gekoppelde kinderen heeft, toont het scherm geen lege kaarten met voorbeelddata, maar een duidelijke lege status in het blok Mijn kinderen. De pagina mag dan uitleg tonen dat er nog geen actieve kindkoppelingen zijn.

De actie Geschiedenis is niet beschikbaar wanneer er voor het kind geen toegankelijke oefengeschiedenis bestaat of wanneer de autorisatie voor de betreffende gegevens ontbreekt. De actie Ontkoppelen is niet beschikbaar wanneer de relatie technisch niet door de huidige gebruiker beëindigd mag worden; in dat geval moet een toelichting of foutmelding worden getoond.

Wanneer detaildata, zoals gekoppelde docenten of niveaus, gedeeltelijk ontbreekt, blijft de kindkaart zichtbaar zolang de ouder-/voogdrelatie geldig is. Het ontbrekende onderdeel krijgt dan een lege of verklarende weergave, zonder fictieve fallbackwaarden.

4.4 UI-elementen en velddefinities

Element-IDTypeGUI-verwijzingOmschrijvingZichtbaar labelOpmerkingTechnische naam
SCH-OVG-04-01-S01SBreadcrumbNavigatiepad binnen de ouder-/voogdcontext.Home › KinderenHoort bij de pagina-inhoud; headernavigatie valt buiten scope.GuardianChildrenBreadcrumbSection
SCH-OVG-04-01-S02SIntroblokUitlegblok bovenaan de pagina.KinderenBeschrijft doel van de pagina en de beschikbare hoofdacties.GuardianChildrenIntroSection
SCH-OVG-04-01-S03SMijn kinderenHoofdsectie met gekoppelde kinderen.Mijn kinderenToont alleen kinderen met een actieve relatie die voor de gebruiker zichtbaar zijn.GuardianChildrenListSection
SCH-OVG-04-01-T01TKindkaartenLijst/cardweergave van gekoppelde kinderen.Mijn kinderenElke kaart staat voor één gekoppeld kind binnen de ouder-/voogdcontext.GuardianChildCardList
SCH-OVG-04-01-F01FKindkaart > avatarInitialen of avatar van het kind.E / L / S / MDynamisch; mockupinitialen zijn voorbeeldwaarden.ChildAvatarValue
SCH-OVG-04-01-F02FKindkaart > naamNaam van het gekoppelde kind.Emma JansenDynamisch uit het leerlingaccount.ChildDisplayNameValue
SCH-OVG-04-01-A01AKindkaart > GeschiedenisOpent de kindgerichte oefengeschiedenis.GeschiedenisAlleen beschikbaar na server-side autorisatie op ouder-/voogdrelatie en kind.OpenChildHistoryAction
SCH-OVG-04-01-A02AKindkaart > OntkoppelenStart bevestigde ontkoppelactie voor de ouder-/voogdrelatie.OntkoppelenOpent altijd eerst een bevestigingsmodal/popup.DisconnectGuardianStudentRelationAction
SCH-OVG-04-01-B01BKindkaart > uitklappenToont of verbergt extra kinddetails.Meer informatieWijzigt alleen de UI-state; geen datamutatie.ToggleChildDetailsButton
SCH-OVG-04-01-S04SUitklapbare detailsDetailblok per kind met aanvullende context.n.v.t.Alleen zichtbaar wanneer de kaart is opengeklapt.ChildDetailsSection
SCH-OVG-04-01-F03FDetails > Laatst gezienLaatste bekende activiteit van het kind.Laatst gezienDynamische tijdsaanduiding; geen vaste productiegegevens.ChildLastSeenValue
SCH-OVG-04-01-F04FDetails > Alle beschikbare niveausLijst met voor het kind beschikbare niveaus.Alle beschikbare niveausAfgeleid uit actieve niveauautorisaties.ChildAvailableLevelsValue
SCH-OVG-04-01-F05FDetails > Huidige niveauActief geselecteerd niveau van het kind.Huidige niveauKan ontbreken of niet zichtbaar zijn wanneer geen niveau is geselecteerd of toegestaan.ChildSelectedLevelValue
SCH-OVG-04-01-F06FDetails > Gekoppelde docentenDocenten die in de zichtbare niveau-/relatiecontext gekoppeld zijn aan het kind.Gekoppelde docentenDynamische collectie; kan per kind verschillen.ChildLinkedTeachersValue
SCH-OVG-04-01-S05SGoed om te wetenInformatieve rechterkolom met uitleg over deze pagina.Goed om te wetenTekst is informatief en ondersteunt begrip van kindgerichte inzage.GuardianChildrenInfoSection
SCH-OVG-04-01-M01MGoed om te weten > geschiedenisUitleg over kindgerichte geschiedenis.Geschiedenis is volledig kindgerichtInformatieve tekst, geen mutatie.ChildHistoryInfoMessage
SCH-OVG-04-01-M02MGoed om te weten > docentenUitleg dat docenten per kind kunnen verschillen.Docenten kunnen per kind verschillenInformatieve tekst, geen mutatie.ChildTeachersInfoMessage
SCH-OVG-04-01-M03MGoed om te weten > ontkoppelenUitleg over bewust ontkoppelen.Ontkoppelen is een bewuste actieVerwijst functioneel naar bevestigingsstap.ChildDisconnectInfoMessage
SCH-OVG-04-01-MOD01MODBevestigingspopup ontkoppelenModal/popup die verschijnt na de actie Ontkoppelen.Weet je het zeker?Niet zichtbaar in de screenshot, maar functioneel verplicht voor deze actie.DisconnectGuardianStudentRelationConfirmModal

4.5 Waardelagen

Element-IDGUI-verwijzingZichtbaar labelTechnische naamDatabronWaardebronDatatypeBewerkbaarValidatie / regel
SCH-OVG-04-01-T01KindkaartenMijn kinderenGuardianChildCardListUserRelationships, RelationshipTypes, UsersGefilterde collectie actieve GuardianStudent-relaties voor de ingelogde ouder/voogdlist / collectionNeeAlleen actieve relaties met relatietype GuardianStudent en geldige rolcontext mogen worden getoond.
SCH-OVG-04-01-F01Kindkaart > avatarE / L / S / MChildAvatarValueUsers.ProfileAvatarId, ProfileAvatars, eventueel afgeleide initialen uit Users.DisplayNameProfielafbeelding of fallback-initialen van het kindstring / asset referenceNeeVrije uploads worden niet gebruikt; fallback moet veilig uit gebruikersnaam worden afgeleid.
SCH-OVG-04-01-F02Kindkaart > naamEmma JansenChildDisplayNameValueUsers.DisplayName, Users.FirstName, Users.MiddleName, Users.LastNameWeergavenaam van het gekoppelde kindstringNeeAlleen tonen wanneer het kind via actieve relatie zichtbaar is.
SCH-OVG-04-01-A01Kindkaart > GeschiedenisGeschiedenisOpenChildHistoryActionExerciseRuns, TeacherLevels, TeacherStudentLevelAccess, UserRelationshipsNavigatieactie naar kindgerichte geschiedenis op basis van toegestane run- en niveaucontextactionJaServer-side controle op ouder-/voogdrelatie en eigenaar van de gevraagde kinddata is verplicht.
SCH-OVG-04-01-A02Kindkaart > OntkoppelenOntkoppelenDisconnectGuardianStudentRelationActionUserRelationships, RelationshipEventsBevestigde relatiebeëindigingactionJaMag relatie niet direct beëindigen; eerst bevestigingsmodal/popup tonen.
SCH-OVG-04-01-B01Kindkaart > uitklappenMeer informatieToggleChildDetailsButtonRuntime UI-stateClientstate voor tonen/verbergen van detailsboolean / UI-stateJaWijzigt geen databasegegevens. aria-expanded moet de zichtbare state volgen.
SCH-OVG-04-01-F03Details > Laatst gezienLaatst gezienChildLastSeenValueUsers.LastSeenAtUtc, eventueel aangevuld met ExerciseRuns.LastActivityAtUtcLaatste bekende activiteit van het kinddatetime / relatieve tekstNeeTijdwaarde wordt lokaal leesbaar getoond; mag ontbreken wanneer niet beschikbaar.
SCH-OVG-04-01-F04Details > Alle beschikbare niveausAlle beschikbare niveausChildAvailableLevelsValueTeacherStudentLevelAccess, TeacherLevels, UserRelationshipsActieve niveaus waarvoor het kind toegang heeft en die voor ouder/voogd zichtbaar mogen zijnlist / stringNeeAlleen actieve toegangen en actieve niveaus tonen.
SCH-OVG-04-01-F05Details > Huidige niveauHuidige niveauChildSelectedLevelValueUserSettings.SelectedTeacherLevelId, TeacherLevels, TeacherStudentLevelAccessActief geselecteerd niveau van het kind, gecontroleerd tegen toegestane niveausstring / nullable referenceNeeGeselecteerd niveau mag alleen worden getoond als het binnen zichtbare actieve toegang valt.
SCH-OVG-04-01-F06Details > Gekoppelde docentenGekoppelde docentenChildLinkedTeachersValueUserRelationships, TeacherStudentLevelAccess, TeacherLevels, UsersDocenten die via actieve docent-leerlingrelatie en niveaucontext aan het kind gekoppeld zijnlist / stringNeeDocenten kunnen per kind en per niveau verschillen; lijst is dynamisch.
SCH-OVG-04-01-S05Goed om te wetenGoed om te wetenGuardianChildrenInfoSectionCodegedreven vaste schermtekst of beheerbaar contentblok indien later zo ingerichtInformatieve schermtekststring / rich textNee op dit schermTekst mag geen autorisatie of datatoegang impliceren; alleen toelichting.
SCH-OVG-04-01-MOD01Bevestigingspopup ontkoppelenWeet je het zeker?DisconnectGuardianStudentRelationConfirmModalPopupDetails of coded modaldefinitie, UserRelationships, RelationshipEventsBevestigingsflow voor relatiebeëindigingmodal / commandJaBij bevestiging: UserRelationships.IsActive=false, auditvelden vullen en event vastleggen; bij annuleren geen mutatie.

4.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-OVG-04-01-01SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
In ouder-/voogdcontext een overzicht tonen van kinderen waarmee de ingelogde gebruiker een actieve ouder/voogd-leerlingrelatie heeft
REQ-SCH-OVG-04-01-02SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
Het systeem mag in het kinderenoverzicht uitsluitend kinderen tonen waarvoor server-side een actieve GuardianStudent-relatie met de ingelogde gebruiker bestaat
REQ-SCH-OVG-04-01-03SRS-AUTH-001
SRS-GUA-004
AC-AUTH-001
AC-GUA-004
Per gekoppeld kind minimaal de naam, een compacte visuele identificatie en de acties Geschiedenis en Ontkoppelen tonen, tenzij de actie door autorisatie of status niet beschikbaar is
REQ-SCH-OVG-04-01-04SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
Per kind een uitklapbare detailweergave ondersteunen met laatst bekende activiteit, beschikbare niveaus, huidig niveau en gekoppelde docenten wanneer deze gegevens beschikbaar en geautoriseerd zijn
REQ-SCH-OVG-04-01-05SRS-GUA-005
AC-GUA-005
De actie Geschiedenis de ouder/voogd naar een kindgerichte geschiedenisweergave leiden zonder de ouder/voogd toe te staan resultaten of oefenruns te wijzigen
REQ-SCH-OVG-04-01-06SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
De actie Geschiedenis server-side controleren dat de gevraagde resultaten bij een kind horen dat actief aan de ouder/voogd gekoppeld is
REQ-SCH-OVG-04-01-07SRS-GUA-004
AC-GUA-004
De actie Ontkoppelen altijd eerst een bevestigingsmodal of popup tonen voordat de ouder/voogd-leerlingrelatie beëindigd wordt
REQ-SCH-OVG-04-01-08SRS-GUA-004
AC-GUA-004
Een bevestigde ontkoppeling verwerken als soft-deactivatie van de relatie en niet als hard delete
REQ-SCH-OVG-04-01-09SRS-NFR-AUD-001
SRS-GUA-004
AC-NFR-AUD-001
AC-GUA-004
Ontkoppeling van een ouder/voogd-leerlingrelatie auditbaar vastleggen met actor, tijdstip en relatie-event
REQ-SCH-OVG-04-01-10SRS-GUA-001
AC-GUA-001
Een lege status tonen wanneer de ouder/voogd geen actieve gekoppelde kinderen heeft
REQ-SCH-OVG-04-01-11SRS-AUTH-001
SRS-GUA-001
AC-AUTH-001
AC-GUA-001
Voorkomen dat mockupwaarden of eerder geladen clientdata zichtbaar blijven nadat een relatie of onderliggende toegang server-side is ingetrokken
REQ-SCH-OVG-04-01-12SRS-GUA-001
AC-GUA-001
Dynamische waarden zoals kindnamen, niveaus, docenten en tijdsaanduidingen behandelen als actuele runtimegegevens en niet als vaste productie-inhoud

4.7 Technische koppeling

Voor technische uitwerking zijn vooral relevant: