Skip to main content

Generieke usecases

Deze map bevat de usecases voor het domein Generiek binnen OefenHub. Het domein beschrijft roloverschrijdende en applicatiebrede processen die door meerdere rolcontexten gebruikt kunnen worden, zoals accounttoegang, profielbeheer, relatiebeheer, berichten, meldingen en systeemnotificaties.

Generieke usecases zijn procesgericht. De schermdocumentatie blijft de bron voor exacte UI-opbouw, labels, knoppen, iconen, tekstuele microcopy en responsive gedrag. Deze usecases beschrijven vooral gedrag, autorisatie, server-side controles, beslismomenten, datamutaties, events, audit, readmodels en de samenhang met rolgerichte domeinen zoals leerling, docent, ouder/voogd en beheerder.

Subdomeinen

SubdomeinOmschrijving
Accounttoegang en account lifecycleBeschrijft eerste login, provisioning, sessieverwerking, onvolledige accountcontext, accountverwijdering, anonimisering en uitloggen.
BerichtenBeschrijft het gecombineerde berichtenoverzicht, systeemberichten, privéberichten, threads, antwoorden en participantgebonden verwijderen.
MeldingenBeschrijft het meldingenproces voor gebruikers en beheerders, inclusief indienen, behandelen, reageren, sluiten, oplossen, heropenen en doorzetten.
Profiel, toegankelijkheid en voorkeurenBeschrijft profielgegevens, verplicht niveau, profielfoto, toegankelijkheidsinstellingen en overige voorkeuren.
RelatiesBeschrijft relatiebeheer, uitnodigen, accepteren, afwijzen en ontkoppelen van gebruikersrelaties.
SysteemnotificatiesBeschrijft applicatiebrede notificaties die boven de geladen frontpage of contextpagina worden getoond.

Usecase-overzicht

Accounttoegang en account lifecycle

UsecaseNaamKorte beschrijving
UC-GEN-ACC-001Eerste login en account provisioningMaakt na succesvolle externe authenticatie een intern OefenHub-account aan wanneer dit nog niet bestaat.
UC-GEN-ACC-002Inloggen en sessie verwerkenVerwerkt een succesvolle identity-providerlogin tot een geldige OefenHub-sessiecontext.
UC-GEN-ACC-003Geen rol of onvolledig account afhandelenHandelt situaties af waarin een gebruiker wel geauthenticeerd is, maar geen bruikbare applicatiecontext heeft.
UC-GEN-ACC-004Account verwijderen aanvragenLaat een gebruiker verwijdering van het eigen OefenHub-account aanvragen en bevestigen.
UC-GEN-ACC-005Account anonimiseren en afhankelijke toegang opruimenVoert de interne anonimiseer- en opruimflow uit na accountverwijdering.
UC-GEN-ACC-006Uitloggen en sessie beëindigenBeëindigt de lokale OefenHub-applicatiecontext en handelt routeguard- en realtime-effecten veilig af.

Berichten

UsecaseNaamKorte beschrijving
UC-GEN-MSG-001Berichtenoverzicht bekijkenToont systeemberichten en privéberichtthreads in één mailboxweergave.
UC-GEN-MSG-002Privébericht opstellen en verzendenLaat een gebruiker een privébericht sturen binnen toegestane relatie- of systeemcontext.
UC-GEN-MSG-003Bericht openenOpent een systeembericht of privébericht en werkt waar nodig de leesstatus bij.
UC-GEN-MSG-004Bericht beantwoordenVerwerkt een antwoord binnen een bestaande privéberichtthread.
UC-GEN-MSG-005Privéberichtthread verwijderenVerwijdert een privéthread participantgebonden uit de eigen mailboxweergave.

Meldingen

UsecaseNaamKorte beschrijving
UC-GEN-TIC-001Melding indienenLaat een gebruiker een melding aanmaken met categorie, onderwerp, beschrijving en technische context.
UC-GEN-TIC-002Mijn meldingen bekijkenToont de eigen meldingen van de gebruiker in de gebruikersweergave.
UC-GEN-TIC-003Melding details bekijkenToont de detailweergave van een melding voor de melder.
UC-GEN-TIC-004Reageren op meldingLaat de melder een externe reactie toevoegen binnen een open melding.
UC-GEN-TIC-005Eigen melding sluitenLaat de melder een eigen melding sluiten met verplichte reden.
UC-GEN-TIC-006Oplossing accepterenLaat de melder een aangeboden oplossing accepteren en de melding gebruikersgericht sluiten.
UC-GEN-TIC-007Melding heropenen door gebruikerLaat de melder een opgeloste melding binnen de heropentermijn heropenen.
UC-GEN-TIC-008Beheerdersoverzicht meldingen bekijkenToont het beheerderoverzicht met filters, zoekfunctie en meldingenlijst.
UC-GEN-TIC-009Melding openen als beheerderOpent de beheerderdetailweergave van een melding.
UC-GEN-TIC-010Beheerder koppelen of ontkoppelenBeheert actieve beheerderkoppelingen bij een melding.
UC-GEN-TIC-011Extern bericht plaatsenLaat een beheerder een extern bericht plaatsen dat zichtbaar is voor de melder.
UC-GEN-TIC-012Intern bericht plaatsenLaat een beheerder een intern bericht plaatsen dat alleen voor beheerders zichtbaar is.
UC-GEN-TIC-013Melding oplossen of sluitenLaat beheer een melding formeel oplossen of sluiten met afsluitstatus.
UC-GEN-TIC-014Melding heropenen door beheerderLaat beheer een gesloten melding handmatig heropenen en actieve beheerders ontkoppelen.
UC-GEN-TIC-015Melding doorzetten naar docentZet een melding als samengestelde beheerflow door naar een docent.

Profiel, toegankelijkheid en voorkeuren

UsecaseNaamKorte beschrijving
UC-GEN-PROF-001Profiel bekijkenToont de eigen OefenHub-profielgegevens van de ingelogde gebruiker.
UC-GEN-PROF-002Profielgegevens wijzigenWijzigt toegestane OefenHub-profielvelden.
UC-GEN-PROF-003Verplicht niveau instellenLaat een gebruiker een verplicht niveau kiezen wanneer de context dat vereist.
UC-GEN-PROF-004Profielfoto kiezenLaat een gebruiker een avatar kiezen uit vooraf gedefinieerde profielafbeeldingen.
UC-GEN-PROF-005Toegankelijkheidsinstellingen beherenBeheert toegankelijkheidsinstellingen zoals contrast, lettertype en lettergrootte.
UC-GEN-PROF-006Toegankelijkheid vóór en na login synchroniserenSynchroniseert browserwaarde en profielinstellingen volgens de centrale toegankelijkheidsregels.
UC-GEN-PROF-007Voorkeuren beherenBeheert gebruikersvoorkeuren die presentatiegedrag beïnvloeden.

Relaties

UsecaseNaamKorte beschrijving
UC-GEN-REL-001Relaties bekijkenToont actieve relaties en openstaande verstuurde uitnodigingen binnen de actieve rolcontext.
UC-GEN-REL-002Vriend uitnodigenLaat een leerling een vriendschapsuitnodiging sturen.
UC-GEN-REL-003Ouder/voogd uitnodigenLaat een leerling of ouder/voogd een ouder-/voogdrelatie initiëren.
UC-GEN-REL-004Relatie ontkoppelenBeëindigt een actieve relatie via soft-deactivation.
UC-GEN-REL-005Relatie-uitnodiging accepteren of afwijzenVerwerkt een inkomende relatie-uitnodiging via systeemberichtcontext.

Systeemnotificaties

UsecaseNaamKorte beschrijving
UC-GEN-NOT-001Systeemnotificatie tonenToont een actieve systeemnotificatie na het normaal laden van de frontpage of contextpagina.
UC-GEN-NOT-002Systeemnotificatie sluitenSluit de actuele systeemnotificatie en controleert op een volgende actieve notificatie.
UC-GEN-NOT-003Eenmalige systeemnotificatie verwerkenVerwerkt een OncePerBrowser-notificatie via browserwaarde zonder server-side seen-tabel.

Relevante schermdocumentatie en contexten

Scherm / contextRelevantie
Publieke pagina / loginrouteStartpunt voor authenticatie en accounttoegang.
Identity-providerflowBronhouder voor authenticatie, credentials, wachtwoord-reset, e-mailverificatie en primaire sessie.
Geauthenticeerde frontpageDoel na succesvolle sessieverwerking en contextbepaling.
ProfielmenuRoute naar profiel, toegankelijkheid, voorkeuren, berichten, meldingen en relaties.
BerichtenoverzichtCentrale mailboxweergave voor systeemberichten en privéberichten.
Meldingen / Mijn meldingenGebruikersroute voor meldingen en opvolging.
Beheerdersoverzicht meldingenBeheerdersroute voor meldingbehandeling.
RelatiesCentrale route voor actieve relaties en verstuurde uitnodigingen.
SysteemnotificatiecomponentToont applicatiebrede notificaties boven een reeds geladen pagina.
Ontwerpbronnen — AutorisatiematrixCentrale bron voor toegestane acties per rolcontext en object.
Ontwerpbronnen — Business rulesCentrale bron voor applicatiebrede regels.
Ontwerpbronnen — Popup-registerCentrale bron voor popupkeys, popupteksten, knopacties en inputvelden.

Domeinafbakening

OnderwerpAfbakening
Generiek domeinBevat applicatiebrede of roloverschrijdende processen.
Rolspecifieke uitvoeringLeerling-, docent-, ouder/voogd- en beheerderusecases mogen generieke processen gebruiken, maar dupliceren deze niet bronhoudend.
AccounttoegangOefenHub verwerkt de applicatiecontext na externe authenticatie; credentials blijven bij de identity provider.
ProfielBeheert OefenHub-profielgegevens, niveaukeuze, profielfoto, toegankelijkheid en voorkeuren.
RelatiesBeheert relatievorming, uitnodigingen en ontkoppeling tussen gebruikers.
BerichtenBeheert mailboxweergave, systeemberichten, privéberichten en threadgedrag.
MeldingenBeheert het ticket-/meldingenproces voor gebruikers en beheerders.
SysteemnotificatiesBeheert applicatiebrede notificatie-overlaylogica en is geen mailboxbericht of popupregister-popup.
SchermdetailsExacte layout, labels, visuele componenten en microcopy staan in schermdocumentatie of centrale registers.
Centrale registersPopupinhoud, commands, events, business rules en autorisatieregels blijven centraal bronhoudend.

Rolcontext en autorisatie

ContextBetekenisBelangrijkste begrenzing
Niet ingelogdGebruiker heeft geen OefenHub-sessiecontext.Alleen publieke routes en identity-providerstart zijn beschikbaar.
Geauthenticeerd zonder bruikbare contextGebruiker is extern geauthenticeerd, maar mist rol, instelling of noodzakelijke applicatiecontext.OefenHub leidt naar een veilige vervolgflow of blokkeert rolgebonden routes.
LeerlingGebruiker handelt vanuit leerlingcontext.Leerlingrol is niet combineerbaar met ouder/voogd, docent of beheerder.
Ouder/voogdGebruiker handelt vanuit ouder-/voogdcontext.Ziet alleen gegevens van gekoppelde kinderen volgens relatie- en autorisatieregels.
DocentGebruiker handelt vanuit docentcontext.Ziet en wijzigt alleen gegevens binnen eigen docentcontext, relaties en niveau-autorisaties.
BeheerderGebruiker handelt vanuit beheercontext.Heeft beheerrechten volgens autorisatiematrix en blijft gebonden aan audit- en procesregels.
Gecombineerde niet-leerlingrollenGebruiker heeft meerdere niet-leerlingrollen.Frontpage- en routecontext worden server-side bepaald volgens vaste prioriteit en rechten.

Bijzondere regels

OnderwerpRegel
Server-side autorisatieFrontend-zichtbaarheid, routeparameters en clientstate zijn nooit voldoende autorisatie.
RolcontextUsecases benoemen waar gedrag afhankelijk is van de actieve rolcontext.
Header/footerAlleen opnemen wanneer de usecase daar functioneel op ingrijpt, zoals berichtentellers of meldingsindicatoren.
PopupsUsecases verwijzen alleen naar PopupKey; teksten, knoppen, inputvelden en themes blijven centraal.
SysteemberichtenSysteemberichten zijn mailboxitems en blijven gescheiden van systeemnotificaties en popupregister-popups.
SysteemnotificatiesWorden pas na normaal laden van frontpage of contextpagina gecontroleerd en getoond.
AccountstatusEen geldige identity-providerlogin is niet automatisch voldoende voor OefenHub-toegang.
ProfielmutatiesWijzigen geen rollen, relaties, autorisaties, berichten, meldingen of oefenresultaten.
Relatie-uitnodigingenInkomende uitnodigingen lopen via systeemberichten en acceptatie/afwijzing blijft onderdeel van relatiebeheer.
MeldingenMeldingen zijn geen privéberichten en privéberichten zijn geen meldingen.
ReadmodelsTellers, filters, badges en overzichtswaarden zijn afgeleide waarden tenzij expliciet anders gemodelleerd.
AuditDomeinmutaties moeten herleidbaar zijn volgens de betreffende ontwerpbron of database-informatie.
DRYGenerieke regels worden niet opnieuw bronhoudend uitgewerkt in rolgerichte domeinen.

Samenhang met rolgerichte domeinen

DomeinSamenhang
LeerlingGebruikt generieke account-, profiel-, relatie-, berichten- en notificatieflows voor toegang, voorkeuren, relaties, gedeelde oefeningen en systeemcommunicatie.
DocentGebruikt generieke account-, relatie-, berichten- en profielcontext voor docenttoegang, leerlingen, collaborators, autorisaties en systeemcommunicatie.
Ouder/voogdGebruikt generieke relatie-, profiel-, berichten- en accountflows voor gekoppelde kinderen en rolcontext.
BeheerderGebruikt generieke account- en meldingenflows, maar heeft aanvullende beheerprocessen voor content, configuratie, accounts en ondersteuning.
OefenmodulesGebruiken generieke profiel- en toegankelijkheidsinstellingen waar relevant, maar blijven functioneel gescheiden van account- en berichtendomeinen.
OntwerpbronnenBusiness rules, autorisatiematrix, domeinobjecten, statusmodellen, commands, events en popupregisters blijven centrale bronhouders.

Popupverwijzingen

Generieke usecases dupliceren geen popupteksten of knopteksten. Popupinhoud wordt centraal beheerd in het popup-register en popup-themes. Usecases verwijzen alleen naar de benodigde PopupKey, of leggen expliciet vast dat een flow geen popupregister-popup gebruikt.

SubdomeinPopupgebruik
Accounttoegang en account lifecycleLogin- en sessiefouten gebruiken meestal identity-provider-, routeguard- of toegang-geweigerdafhandeling; accountverwijdering gebruikt wel bevestigingspopups.
BerichtenGebruikt popupkeys voor blokkades, verzendfouten, niet-beschikbaarafhandeling en verwijderen.
MeldingenGebruikt popupkeys voor melding aanmaken, sluiten, heropenen, oplossen, ontkoppelen en doorzetten waar relevant.
Profiel, toegankelijkheid en voorkeurenGebruikt popupkeys of componentafhandeling bij verplichte niveaukeuze, wijzigingen en waarschuwingen.
RelatiesGebruikt popupkeys voor uitnodigen, afwijzen, ontkoppelen, blokkades en foutafhandeling.
SysteemnotificatiesGebruikt geen popupregister-popups; systeemnotificaties hebben een eigen component en lifecycle.

Diagramgebruik binnen generieke usecases

DiagramtypeGebruik
Sequence diagramVoor interacties tussen gebruiker, frontend, backend, database, identity provider, berichtenservice, notificatiecomponent, scheduler, mailservice of externe services.
Decision flowVoor autorisatiepaden, routekeuzes, validatiepaden, statusafleidingen en blokkades.
Data lifecycleVoor belangrijke datamutaties of expliciet wel/niet aangemaakte entiteiten.
State diagramAlleen bij echte statusobjecten zoals relatie-uitnodigingen, tickets of lifecycleobjecten.
UI-flowdiagramAlleen wanneer meerdere schermen, tabs of modals anders lastig te volgen zijn.
ERDNiet in usecases; hoort in database-informatie of domeinobjecten.