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
| Subdomein | Beschrijving |
|---|---|
| Oefenaanbod en toegang | Beschrijft 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 niveaucontext | Beschrijft de leerling-frontpage, de actieve niveaucontext en de afgeleide blokken zoals populaire categorieën, recent geoefend en verder oefenen. |
| Oefenen en voortgang | Beschrijft het openen van een oefening, verder gaan met een niet-afgeronde oefening, starten van een nieuwe oefening, vraagbeantwoording, voortgangsopslag, onderbreken en afronden. |
| Resultaten en geschiedenis | Beschrijft resultaatweergave, resultaatstatistieken, opnieuw maken, PDF-export, oefeninggeschiedenis en geschiedenis over alle oefeningen. |
| Gedeelde oefeningen | Beschrijft 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
| Object | Rol binnen leerlingusecases |
|---|---|
Users | De ingelogde leerling voor wie oefenaanbod, voortgang, resultaten en geschiedenis worden bepaald. |
UserSettings | Bevat onder meer de actieve of gekozen niveaucontext en voorkeuren die leerlingweergaven kunnen beïnvloeden. |
Levels | Onderwijsniveau waarbinnen categorieën, oefeningen, populaire onderdelen en geschiedenis worden gefilterd. |
Categories | Centrale categorieën die binnen de toegankelijke niveaucontext zichtbaar kunnen zijn. |
Exercises | Concrete oefenconfiguraties die de leerling kan openen, starten of opnieuw maken wanneer zij toegankelijk en actief zijn. |
ExerciseModules | Technische module achter een oefening; bepaalt modulespecifieke vraaggeneratie en antwoordcontrole. |
ExerciseRuns | Unieke oefenuitvoering van een leerling, inclusief voortgang, afronding, totalen en statistieken. |
| Gedeelde-oefeningrecord | Administratief record voor een ontvangen gedeelde oefening voordat de ontvanger deze daadwerkelijk start. |
SystemMessages | Informeren 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
ExerciseRunwanneer 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 domein | Relatie met leerlingusecases |
|---|---|
| Account | Bepaalt login, sessiecontext, logout en account lifecycle voordat leerlingflows bereikbaar zijn. |
| Profiel | Beheert profielgegevens, niveaukeuze, voorkeuren en toegankelijkheidsinstellingen. |
| Relaties | Beheert vriendschappen en andere accountrelaties waarop gedeelde oefeningen kunnen steunen. |
| Berichten | Levert systeemberichten en privéberichten, maar leerlingusecases maken hiervan geen tweede communicatiemodel. |
| Meldingen | Blijft de route voor support- en probleemmeldingen. |
| Systeemnotificaties | Worden na het laden van frontpages of andere contexten getoond via het generieke notificatiedomein. |
Diagramgebruik
Binnen leerlingusecases worden diagrammen gebruikt wanneer zij de procesgang verduidelijken:
| Diagramtype | Gebruik binnen dit domein |
|---|---|
| Sequence diagram | Bij interacties tussen leerling, frontend, backend, database, technische module, PDF-service of systeemberichten. |
| Decision flow | Bij toegangscontrole, niveaucontext, hervatten versus nieuw starten, Geen idee, delen of PDF-beschikbaarheid. |
| Data lifecycle diagram | Bij ExerciseRuns, gedeelde oefeningen en het onderscheid tussen niet-afgeronde, afgeronde en historische data. |
| State diagram | Alleen 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.