Skip to main content

Leerling

Dit domein beschrijft de usecases voor de leerlingrol binnen OefenHub. De leerling gebruikt OefenHub om oefenaanbod te bekijken, oefeningen te starten en te maken, voortgang op te slaan, resultaten en geschiedenis te bekijken en gedeelde oefeningen van vrienden te ontvangen of zelf te delen.

De usecases in dit domein beschrijven uitsluitend leerlinggerichte processen. Generieke functies zoals accounttoegang, profielbeheer, relaties, berichten, meldingen en systeemnotificaties blijven uitgewerkt binnen de generieke usecasedomeinen. Docent- en ouder-/voogdprocessen worden niet in dit domein bronhoudend beschreven, ook wanneer zij invloed hebben op wat de leerling mag zien of doen.

Subdomeinen

SubdomeinBeschrijving
Oefenaanbod en toegangBeschrijft welke niveaus, categorieën en oefeningen voor de leerling zichtbaar en startbaar zijn op basis van actieve niveaucontext, open niveaus, privéniveau-autorisaties en server-side toegangscontrole.
Frontpage en niveaucontextBeschrijft de leerling-frontpage, de actieve niveaucontext en de afgeleide blokken zoals populaire categorieën, recent geoefend en verder oefenen.
Oefenen en voortgangBeschrijft het openen van een oefening, verder gaan met een niet-afgeronde oefening, starten van een nieuwe oefening, vraagbeantwoording, voortgangsopslag, onderbreken en afronden.
Resultaten en geschiedenisBeschrijft resultaatweergave, resultaatstatistieken, opnieuw maken, PDF-export, oefeninggeschiedenis en geschiedenis over alle oefeningen.
Gedeelde oefeningenBeschrijft het delen van afgeronde oefeningen met vrienden, ontvangen gedeelde oefeningen, starten, opnieuw maken en verwijderen uit het eigen overzicht.

Domeinafbakening

Binnen het domein Leerling vallen:

  • het tonen van leerlinggericht oefenaanbod;
  • het toepassen van actieve niveaucontext;
  • het starten, hervatten, maken, onderbreken en afronden van oefeningen;
  • het opslaan en gebruiken van leerlingvoortgang;
  • het tonen van resultaten, statistieken en geschiedenis;
  • het downloaden van resultaatgegevens als PDF;
  • het ontvangen, starten, opnieuw maken, verwijderen en delen van gedeelde oefeningen.

Buiten dit domein vallen:

  • accountprovisioning, login, logout en accountverwijdering;
  • profielgegevens, profielfoto, voorkeuren en toegankelijkheidsinstellingen beheren;
  • relatie-uitnodigingen, vriendschappen aanmaken of relaties ontkoppelen;
  • privéberichten en systeemberichten als generiek communicatiedomein;
  • meldingen indienen of behandelen;
  • docentbeheer van niveaus, categorieën, oefeningen en leerlingautorisaties;
  • ouder-/voogdweergaven, kindbeheer en live meekijken vanuit oudercontext;
  • beheerderfunctionaliteit.

Deze onderwerpen kunnen wel als context of randvoorwaarde terugkomen, maar worden niet opnieuw als bronwaarheid in leerlingusecases uitgewerkt.

Hoofdobjecten

ObjectRol binnen leerlingusecases
UsersDe ingelogde leerling voor wie oefenaanbod, voortgang, resultaten en geschiedenis worden bepaald.
UserSettingsBevat onder meer de actieve of gekozen niveaucontext en voorkeuren die leerlingweergaven kunnen beïnvloeden.
LevelsOnderwijsniveau waarbinnen categorieën, oefeningen, populaire onderdelen en geschiedenis worden gefilterd.
CategoriesCentrale categorieën die binnen de toegankelijke niveaucontext zichtbaar kunnen zijn.
ExercisesConcrete oefenconfiguraties die de leerling kan openen, starten of opnieuw maken wanneer zij toegankelijk en actief zijn.
ExerciseModulesTechnische module achter een oefening; bepaalt modulespecifieke vraaggeneratie en antwoordcontrole.
ExerciseRunsUnieke oefenuitvoering van een leerling, inclusief voortgang, afronding, totalen en statistieken.
Gedeelde-oefeningrecordAdministratief record voor een ontvangen gedeelde oefening voordat de ontvanger deze daadwerkelijk start.
SystemMessagesInformeren de leerling over relevante gebeurtenissen, zoals ontvangen gedeelde oefeningen, zonder zelf de oefenflow te vervangen.

Belangrijke ontwerpregels

  • Leerlingusecases werken altijd vanuit de server-side vastgestelde gebruiker en toegestane context; clientstate, routeparameters of oude browserwaarden zijn niet leidend.
  • De actieve niveaucontext bepaalt welke categorieën, oefeningen, populaire onderdelen, recente oefeningen en verder-oefeneninformatie relevant zijn.
  • Open niveaus en privéniveaus hebben verschillende toegangsregels, maar het resultaat voor de leerling is hetzelfde principe: alleen toegankelijke inhoud wordt zichtbaar of startbaar.
  • Niet-afgeronde oefeningen blijven hervatbaar zolang de leerling toegang heeft tot de betreffende oefening en niveaucontext.
  • Afgeronde oefenruns vormen de basis voor resultaatweergave, statistieken, geschiedenis en PDF-export.
  • Leerlinggeschiedenis wordt niet verwijderd via leerlingacties.
  • Gedeelde oefeningen blijven zelfstandige ontvangsten en worden pas een eigen ExerciseRun wanneer de ontvanger ze start.
  • Docent-, ouder-/voogd- en beheeracties worden niet in leerlingusecases bronhoudend uitgewerkt.

Verhouding tot generieke domeinen

De leerlingusecases gebruiken de generieke domeinen als bestaande bronnen:

Generiek domeinRelatie met leerlingusecases
AccountBepaalt login, sessiecontext, logout en account lifecycle voordat leerlingflows bereikbaar zijn.
ProfielBeheert profielgegevens, niveaukeuze, voorkeuren en toegankelijkheidsinstellingen.
RelatiesBeheert vriendschappen en andere accountrelaties waarop gedeelde oefeningen kunnen steunen.
BerichtenLevert systeemberichten en privéberichten, maar leerlingusecases maken hiervan geen tweede communicatiemodel.
MeldingenBlijft de route voor support- en probleemmeldingen.
SysteemnotificatiesWorden na het laden van frontpages of andere contexten getoond via het generieke notificatiedomein.

Diagramgebruik

Binnen leerlingusecases worden diagrammen gebruikt wanneer zij de procesgang verduidelijken:

DiagramtypeGebruik binnen dit domein
Sequence diagramBij interacties tussen leerling, frontend, backend, database, technische module, PDF-service of systeemberichten.
Decision flowBij toegangscontrole, niveaucontext, hervatten versus nieuw starten, Geen idee, delen of PDF-beschikbaarheid.
Data lifecycle diagramBij ExerciseRuns, gedeelde oefeningen en het onderscheid tussen niet-afgeronde, afgeronde en historische data.
State diagramAlleen wanneer een geraakt object een duidelijke lifecycle heeft, zoals oefenrun of gedeelde-oefeningrecord.

ERD’s worden niet in leerlingusecases opgenomen. Relationele structuur hoort in database-informatie en domeinobjecten.