Skip to main content

Functionele requirements

3.1 Doel

Dit hoofdstuk bevat de functionele requirementset. De requirements zijn gegroepeerd per domein en verwijzen naar de primaire FO-bronnen.

Acceptatiecriteria staan centraal in Acceptatiecriteria. De kolom Acceptatie-ID verwijst naar de bijbehorende toetsbare set.

De functionele requirements bevatten centrale eisen voor readmodels, tellers en afgeleide schermwaarden, zodat schermrequirements niet als dubbele normatieve tekst worden overgenomen. De concrete teller- en readmodeldefinities staan in het readmodel- en tellerdefinitieregister.

3.2 Rollen, context en autorisatie

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-AUTH-001Server-side permissioncheck per route, scherm en actieFunctioneel/SecurityMustFO-02, FO-19AC-AUTH-001Vastgesteld
SRS-AUTH-002UI-zichtbaarheid is nooit autorisatiebewijsFunctioneel/SecurityMustFO-02, FO-19AC-AUTH-002Vastgesteld
SRS-AUTH-003Combinatierollen leveren samengestelde permissiongedreven UI zonder objectscope te mengenFunctioneel/SecurityMustFO-02, FO-04AC-AUTH-003Vastgesteld
SRS-AUTH-004Directe objectroutes worden buiten actuele context geweigerdFunctioneel/SecurityMustFO-02, FO-19AC-AUTH-004Vastgesteld
SRS-AUTH-005Rol- of permissionwijziging vernieuwt cache, context en navigatieFunctioneel/UXShouldFO-02, FO-03, FO-04AC-AUTH-005Vastgesteld

3.3 Account, profiel en voorkeuren

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-ACC-001Eerste login provisiont een intern accountFunctioneelMustFO-05AC-ACC-001Vastgesteld
SRS-ACC-002Account zonder actieve rol krijgt beperkte contextFunctioneelMustFO-05, FO-04AC-ACC-002Vastgesteld
SRS-ACC-003Gebruiker kan profielgegevens wijzigen binnen toegestane veldenFunctioneelShouldFO-05AC-ACC-003Vastgesteld
SRS-ACC-004Accountverwijdering start anonimiseer- en opruimflowFunctioneel/PrivacyMustFO-05, FO-19AC-ACC-004Vastgesteld
SRS-ACC-005Toegankelijkheidsvoorkeuren synchroniseren vóór en na loginFunctioneel/PrivacyShouldFO-05AC-ACC-005Vastgesteld
SRS-ACC-006Inactief of uitgeschakeld account krijgt geen reguliere applicatietoegangFunctioneel/SecurityMustFO-05, FO-12AC-ACC-006Vastgesteld
SRS-ACC-007Uitloggen beëindigt de applicatiesessieFunctioneel/SecurityMustFO-05AC-ACC-007Vastgesteld
SRS-ACC-008Geanonimiseerde accounts zijn niet selecteerbaar voor nieuwe relaties of communicatieFunctioneel/PrivacyMustFO-05, FO-12, FO-19AC-ACC-008Vastgesteld

3.4 Relatiebeheer

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-REL-001Relatie-uitnodiging vereist toegestane relatiecontextFunctioneelMustFO-06AC-REL-001Vastgesteld
SRS-REL-002Relatieacceptatie controleert actuele statusFunctioneelMustFO-06AC-REL-002Vastgesteld
SRS-REL-003Ontkoppeling beëindigt toekomstige relatiecontextFunctioneel/PrivacyMustFO-06, FO-11AC-REL-003Vastgesteld
SRS-REL-004Verlopen relatie-uitnodiging kan niet worden geaccepteerdFunctioneelMustFO-06AC-REL-004Vastgesteld
SRS-REL-005Dubbele actieve relatie-uitnodigingen worden voorkomenFunctioneel/DataShouldFO-06AC-REL-005Vastgesteld
SRS-REL-006Relatiebeëindiging verwijdert historische domeinrecords niet blindFunctioneel/PrivacyMustFO-06, FO-19AC-REL-006Vastgesteld
SRS-REL-007Relatiebeheer kent geen aparte blokkeerfunctieFunctioneel/ScopeMustFO-06AC-REL-007Vastgesteld
SRS-REL-008Relatiebeheer kent geen functioneel hard maximum per relatietypeFunctioneel/ScopeMustFO-06AC-REL-008Vastgesteld
SRS-REL-009Beheerder kan relaties geforceerd ontkoppelen binnen beheercontextFunctioneel/SecurityMustFO-06, FO-12AC-REL-009Vastgesteld
SRS-REL-010Conflicterende relatie-uitnodigingen worden server-side voorkomenFunctioneel/DataMustFO-06AC-REL-010Vastgesteld
SRS-REL-011Externe relatie-uitnodiging vereist veilige mailqueue-aanvraagFunctioneel/CommunicatieMustFO-06, FO-13AC-REL-011Vastgesteld
SRS-REL-012Relatie-uitnodiging herinneren en intrekken is status- en cooldowngebondenFunctioneel/UXMustFO-06, FO-13AC-REL-012Vastgesteld

3.5 Oefencatalogus

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-CAT-001Leerling ziet alleen toegankelijke catalogusitemsFunctioneelMustFO-07, FO-08AC-CAT-001Vastgesteld
SRS-CAT-002Centrale categorie en niveaukoppeling blijven gescheidenFunctioneelMustFO-07AC-CAT-002Vastgesteld
SRS-CAT-003Concrete oefening vereist geldige moduleconfiguratieFunctioneelMustFO-07, FO-22AC-CAT-003Vastgesteld
SRS-CAT-004Historische runs worden niet herschreven door categorie- of modulewijzigingFunctioneel/DataMustFO-07, FO-22, FO-19AC-CAT-004Vastgesteld
SRS-CAT-005Oefeningen in onderhoud zijn niet startbaar voor reguliere leerlingenFunctioneelMustFO-07, FO-08AC-CAT-005Vastgesteld
SRS-CAT-006Open en privé niveaus begrenzen leerlingtoegang volgens niveaucontextFunctioneel/SecurityMustFO-07, FO-10AC-CAT-006Vastgesteld
SRS-CAT-007Categoriemigratie werkt prospectief voor actieve configuratiesFunctioneel/DataMustFO-07, FO-12, FO-19AC-CAT-007Vastgesteld

3.6 Leerling oefenen

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-LRN-001Leerling kan een toegankelijke oefening startenFunctioneelMustFO-08AC-LRN-001Vastgesteld
SRS-LRN-002Leerling kan hervatbare run vervolgenFunctioneelMustFO-08AC-LRN-002Vastgesteld
SRS-LRN-003Antwoordverwerking slaat voortgang server-side opFunctioneelMustFO-08AC-LRN-003Vastgesteld
SRS-LRN-004Geen idee verwerkt als ondersteunde antwoordactieFunctioneelShouldFO-08AC-LRN-004Vastgesteld
SRS-LRN-005Actieve oefening onderdrukt afleidende signalenFunctioneel/UXMustFO-08, FO-13AC-LRN-005Vastgesteld
SRS-LRN-006Afronden maakt resultaat beschikbaarFunctioneelMustFO-08, FO-18AC-LRN-006Vastgesteld
SRS-LRN-007Onderbroken run blijft hervatbaar zolang de context geldig isFunctioneelMustFO-08AC-LRN-007Vastgesteld
SRS-LRN-008Afgeronde run wordt niet opnieuw gewijzigd door antwoordactiesFunctioneel/DataMustFO-08, FO-19AC-LRN-008Vastgesteld
SRS-LRN-009Toegang wordt opnieuw gecontroleerd bij starten, hervatten en beantwoordenFunctioneel/SecurityMustFO-08, FO-19AC-LRN-009Vastgesteld
SRS-LRN-010Geschiedenis toont alleen geautoriseerde historische runsFunctioneel/PrivacyMustFO-08, FO-18AC-LRN-010Vastgesteld

3.7 Gedeelde oefeningen

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-SHR-001Leerling kan afgeronde eigen run delen met toegestane vriendFunctioneelShouldFO-09AC-SHR-001Vastgesteld
SRS-SHR-002Gedeelde oefening start niet door alleen systeembericht te openenFunctioneel/SecurityMustFO-09, FO-13AC-SHR-002Vastgesteld
SRS-SHR-003Eerste start gebruikt bronrun-vraaginhoudFunctioneelMustFO-09AC-SHR-003Vastgesteld
SRS-SHR-004Ontvanger kan gedeelde oefening uit eigen overzicht verwijderenFunctioneel/PrivacyShouldFO-09AC-SHR-004Vastgesteld
SRS-SHR-005Systeembericht voor gedeelde oefening gebruikt SharedExercise-verwijzingFunctioneel/DataMustFO-09, FO-13AC-SHR-005Vastgesteld
SRS-SHR-006Opnieuw maken van gedeelde oefening creëert zelfstandige ontvangerrunFunctioneel/DataMustFO-09, FO-08AC-SHR-006Vastgesteld
SRS-SHR-007Verwijderen uit gedeeld overzicht is ontvangergebondenFunctioneel/PrivacyShouldFO-09AC-SHR-007Vastgesteld
SRS-SHR-008Snapshot van gedeelde oefening wordt niet achteraf herschrevenFunctioneel/DataMustFO-09, FO-19AC-SHR-008Vastgesteld

3.8 Docentfunctionaliteit

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-TCH-001Docent werkt vanuit eigen docentcontextFunctioneel/SecurityMustFO-10AC-TCH-001Vastgesteld
SRS-TCH-002Docent kan niveau en categorieën beheren binnen rechtenFunctioneelMustFO-10, FO-07AC-TCH-002Vastgesteld
SRS-TCH-003Docent kan leerlingen aan niveau autoriserenFunctioneelMustFO-10AC-TCH-003Vastgesteld
SRS-TCH-004Docentresultaatinzage is contextgebondenFunctioneel/SecurityMustFO-10, FO-18AC-TCH-004Vastgesteld
SRS-TCH-005Docenttestruns tellen niet mee als leerlingresultatenFunctioneel/DataMustFO-10, FO-22AC-TCH-005Vastgesteld
SRS-TCH-006Collaboratorrechten worden binnen niveaucontext afgedwongenFunctioneel/SecurityMustFO-10AC-TCH-006Vastgesteld
SRS-TCH-007Eigenaarschapsoverdracht vereist geldige kandidaatFunctioneel/SecurityMustFO-10, FO-12AC-TCH-007Vastgesteld
SRS-TCH-008Bulkautorisatie valideert alle geselecteerde leerlingen en niveausFunctioneel/SecurityShouldFO-10AC-TCH-008Vastgesteld

3.9 Ouder-/voogdfunctionaliteit

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-GUA-001Ouder/voogd ziet alleen actief gekoppelde kinderenFunctioneel/SecurityMustFO-11AC-GUA-001Vastgesteld
SRS-GUA-002Ouder/voogd heeft read-only resultaatinzageFunctioneel/SecurityMustFO-11, FO-18AC-GUA-002Vastgesteld
SRS-GUA-003Ouder/voogd kan kindrelatie ontkoppelen waar toegestaanFunctioneel/PrivacyShouldFO-11AC-GUA-003Vastgesteld
SRS-GUA-004Ontkoppelen beëindigt toekomstige ouder-/voogdinzageFunctioneel/PrivacyMustFO-11, FO-06AC-GUA-004Vastgesteld
SRS-GUA-005Ouder/voogd kan geen oefening namens kind starten of wijzigenFunctioneel/SecurityMustFO-11, FO-08AC-GUA-005Vastgesteld
SRS-GUA-006Ouder-/voogd live meekijken vereist actieve kindrelatieFunctioneel/SecurityMustFO-11, FO-15AC-GUA-006Vastgesteld

3.10 Beheerderfunctionaliteit

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-ADM-001Beheerdertoegang is geen vrije bypassFunctioneel/SecurityMustFO-12, FO-19AC-ADM-001Vastgesteld
SRS-ADM-002Beheerder kan accountrollen beheren binnen toegestane rollenFunctioneel/SecurityMustFO-12AC-ADM-002Vastgesteld
SRS-ADM-003Beheerder kan accounts anonimiseren volgens functionele flowFunctioneel/PrivacyMustFO-12, FO-05AC-ADM-003Vastgesteld
SRS-ADM-004Modulebeheer wijzigt geen historische runsFunctioneel/DataMustFO-12, FO-22AC-ADM-004Vastgesteld
SRS-ADM-005Beheerder kan account tijdelijk uitschakelen en heractiverenFunctioneel/SecurityMustFO-12AC-ADM-005Vastgesteld
SRS-ADM-006Categoriebeheer migreert niet zonder expliciete beheeractieFunctioneel/DataMustFO-12, FO-07AC-ADM-006Vastgesteld
SRS-ADM-007Systeeminstellingen valideren datatype en invoervormFunctioneel/SecurityMustFO-12, FO-17AC-ADM-007Vastgesteld
SRS-ADM-008Docentondersteuning is auditbaar binnen docentcontextFunctioneel/AuditMustFO-12, FO-10AC-ADM-008Vastgesteld

3.11 Berichten, communicatie en notificaties

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-MSG-001Mailbox toont alleen eigen geautoriseerde itemsFunctioneel/SecurityMustFO-13AC-MSG-001Vastgesteld
SRS-MSG-002Privébericht verzenden vereist actuele relatiecontext en geldige berichtgrenzenFunctioneel/SecurityMustFO-13, FO-06AC-MSG-002Vastgesteld
SRS-MSG-003Privéthread verwijderen is participantgebondenFunctioneel/PrivacyShouldFO-13AC-MSG-003Vastgesteld
SRS-MSG-004Privéberichten volgen functionele bewaartermijnFunctioneel/PrivacyMustFO-13, FO-19AC-MSG-004Vastgesteld
SRS-MSG-005SharedExercise systeemberichten routeren naar gedeelde-oefeningcontextFunctioneel/DataMustFO-13, FO-09AC-MSG-005Vastgesteld
SRS-MSG-006Ongelezenbadges zijn afgeleid en geen autorisatiebewijsFunctioneel/SecurityMustFO-13, FO-19AC-MSG-006Vastgesteld
SRS-MSG-007Openen van systeembericht verwerkt geen domeinactie automatischFunctioneel/SecurityMustFO-13AC-MSG-007Vastgesteld
SRS-MSG-008Uitgeschakelde privéberichten blokkeren nieuwe berichten maar behouden historieFunctioneel/DataShouldFO-13, FO-17AC-MSG-008Vastgesteld
SRS-MSG-009Privéthreads tonen één geautoriseerde gesprekstimelineFunctioneel/UX/SecurityMustFO-13AC-MSG-009Vastgesteld
SRS-MSG-010Threadpresentatie en participantaccenten zijn stabiel en server-side begrensdFunctioneel/Data/UXShouldFO-13AC-MSG-010Vastgesteld
SRS-MAIL-001Externe applicatiemail is template-, consent-, bronstatus- en SMTP-securityconfiguratiegedrevenFunctioneel/PrivacyMustFO-13, FO-06AC-MAIL-001Vastgesteld

Nadere invulling SRS-MSG-009 en SRS-MSG-010

Voor privéthreads gelden de volgende normatieve uitwerkingen bij SRS-MSG-009 en SRS-MSG-010:

  • De privéthreaddetailweergave is één geautoriseerde timeline van oud naar nieuw. Er is geen apart concept laatst ontvangen bericht voor privéthreads.
  • #new en #latest zijn toegestane hash-ankers omdat zij naar echte posities in de pagina verwijzen. Technische querystrings voor mutatiefeedback of cursorpaginering zijn niet toegestaan.
  • Het eerste zichtbare startpunt wordt bepaald vóór het markeren als gelezen. Daarna mag de thread als gelezen worden gemarkeerd voor de ingelogde participant. Eigen berichten en eigen thread-events tellen voor de actor niet als nieuwe activiteit.
  • Oudere timeline-items worden via een beveiligde POST met opaque cursor geladen. De cursor is Data Protection-protected of gelijkwaardig beschermd en bevat intern thread-, user- en oldest-itemcontext. Een cursor mag nooit als autorisatiebewijs dienen.
  • Bij elke cursoractie controleert de server current user, route-thread, cursorcontext, participantstatus, visibility/deleted-state en batchlimieten opnieuw.
  • Threadkleur en icon key zijn server-side beheerde threadwaarden. Participantaccentkleur is een threadspecifieke participantwaarde. Vrije HTML, vrije CSS en clientinput zijn hiervoor niet toegestaan.
  • Thread-events zoals SubjectChanged en ParticipantLeft tonen wie de actie uitvoerde, voor zover dat binnen de threadcontext zichtbaar is.
  • Als een participant alleen overblijft, zijn beantwoorden en onderwerp wijzigen niet meer toegestaan en moet de UI dit vóór submit duidelijk maken; de server blijft dit ook afdwingen.

3.12 Meldingen en ticketafhandeling

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-TIC-001Gebruiker kan eigen melding indienenFunctioneelMustFO-14AC-TIC-001Vastgesteld
SRS-TIC-002Gebruiker ziet uitsluitend eigen meldingenFunctioneel/SecurityMustFO-14AC-TIC-002Vastgesteld
SRS-TIC-003Beheerder behandelt meldingen via actieve behandelcontextFunctioneelMustFO-14, FO-12AC-TIC-003Vastgesteld
SRS-TIC-004Heropenen behoudt eerdere sluitregistratiesFunctioneel/DataMustFO-14AC-TIC-004Vastgesteld
SRS-TIC-005Gebruikersreactie is alleen mogelijk in toegestane ticketstatusFunctioneel/SecurityMustFO-14AC-TIC-005Vastgesteld
SRS-TIC-006Interne ticketdiscussie is nooit zichtbaar voor melderFunctioneel/PrivacyMustFO-14AC-TIC-006Vastgesteld
SRS-TIC-007Oplossing accepteren sluit de actuele heropenmogelijkheidFunctioneelMustFO-14AC-TIC-007Vastgesteld
SRS-TIC-008Periodieke verwerking van verlopen heropentermijnen is idempotentFunctioneel/DataShouldFO-14, FO-23AC-TIC-008Vastgesteld

3.13 Live meekijken

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-LIVE-001Live meekijken is read-onlyFunctioneel/SecurityMustFO-15AC-LIVE-001Vastgesteld
SRS-LIVE-002Live meekijken vereist rol-specifieke autorisatieFunctioneel/SecurityMustFO-15AC-LIVE-002Vastgesteld
SRS-LIVE-003LiveViewAudit ontstaat bij daadwerkelijke startFunctioneel/AuditMustFO-15AC-LIVE-003Vastgesteld
SRS-LIVE-004Browsemodus overschrijft actuele livepositie niet onverwachtFunctioneel/UXShouldFO-15AC-LIVE-004Vastgesteld
SRS-LIVE-005Reconnect beëindigt liveweergave veilig bij blijvend verbindingsverliesFunctioneel/BetrouwbaarheidShouldFO-15AC-LIVE-005Vastgesteld
SRS-LIVE-006Beheerder heeft geen generieke live-meekijkbypassFunctioneel/SecurityMustFO-15, FO-12AC-LIVE-006Vastgesteld

3.14 Contentbeheer

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-CNT-001Contentbeheer wijzigt tekst, niet structuurFunctioneelMustFO-16AC-CNT-001Vastgesteld
SRS-CNT-002Footerlinks gebruiken bestaande URL-recordsFunctioneelShouldFO-16AC-CNT-002Vastgesteld
SRS-CNT-003Vaste publieke pagina’s blijven codegedreven qua route en formulierlogicaFunctioneelMustFO-16AC-CNT-003Vastgesteld
SRS-CNT-004URL-records worden gevalideerd vóór opslagFunctioneel/SecurityMustFO-16AC-CNT-004Vastgesteld

3.15 Popups, templates, features en systeemnotificaties

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-POP-001Popupbeheer wijzigt geen codegedreven actiesFunctioneel/SecurityMustFO-17AC-POP-001Vastgesteld
SRS-POP-002Systeemnotificaties tonen na frontpageloadFunctioneel/UXShouldFO-17, FO-04AC-POP-002Vastgesteld
SRS-POP-003Featuretoggle verwijdert geen domeindataFunctioneel/DataMustFO-17, FO-19AC-POP-003Vastgesteld
SRS-POP-004Templateplaceholdervalidatie blokkeert onbekende placeholdersFunctioneel/SecurityMustFO-17, FO-13AC-POP-004Vastgesteld
SRS-POP-005OncePerBrowser-notificaties gebruiken alleen clientside markerFunctioneel/PrivacyShouldFO-17, FO-13AC-POP-005Vastgesteld

3.16 PDF-export en resultaatpresentatie

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-PDF-001PDF-export gebruikt historische resultaatbronFunctioneel/DataMustFO-18AC-PDF-001Vastgesteld
SRS-PDF-002PDF-export maakt geen persistent PDF-domeinrecordFunctioneel/DataMustFO-18AC-PDF-002Vastgesteld
SRS-PDF-003PDF-export respecteert rol-specifieke resultaattoegangFunctioneel/SecurityMustFO-18, FO-08, FO-10, FO-11AC-PDF-003Vastgesteld
SRS-PDF-004PDF-export gebruikt veilige fallback bij ontbrekende module-renderingFunctioneel/DataShouldFO-18, FO-22AC-PDF-004Vastgesteld

3.17 Oefenmodules en modulepayloads

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-MOD-001Modulepayload bevat moduleKey en schemaVersionFunctioneel/DataMustFO-22AC-MOD-001Vastgesteld
SRS-MOD-002Geen extra generieke schema-kolom voor modulepayloadFunctioneel/DataMustFO-22AC-MOD-002Vastgesteld
SRS-MOD-003Modulebeschikbaarheid en testzichtbaarheid bepalen selecteerbaarheidFunctioneelMustFO-22, FO-12AC-MOD-003Vastgesteld
SRS-MOD-004Modulemigratie raakt alleen expliciet gekozen toekomstscopeFunctioneel/DataMustFO-22, FO-12AC-MOD-004Vastgesteld
SRS-MOD-005Oude modulepayloads blijven interpreteerbaar via schemaVersionFunctioneel/DataMustFO-22, FO-19AC-MOD-005Vastgesteld

3.18 Readmodels, tellers en afgeleide schermwaarden

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-RDM-001Afgeleide schermwaarden gebruiken actuele brondataFunctioneel/DataMustFO-04, FO-21, FO-19AC-RDM-001Vastgesteld
SRS-RDM-002Tellerdefinities zijn expliciet en contextbegrensdFunctioneel/DataMustFO-04, FO-21AC-RDM-002Vastgesteld
SRS-RDM-003Frontpage-samenvattingen blijven runtime-afgeleid en read-onlyFunctioneel/DataMustFO-04, FO-16, FO-21AC-RDM-003Vastgesteld
SRS-RDM-004Beheer- en supportreadmodels tellen alleen actuele beheerbare objectenFunctioneel/DataMustFO-12, FO-17, FO-22AC-RDM-004Vastgesteld
SRS-RDM-005Onderwijsstructuurreadmodels volgen docent-, niveau- en autorisatiecontextFunctioneel/DataMustFO-10, FO-07, FO-02AC-RDM-005Vastgesteld
SRS-RDM-006Run-, geschiedenis-, resultaat- en live-readmodels gebruiken opgeslagen runcontextFunctioneel/DataMustFO-08, FO-09, FO-11, FO-15, FO-18AC-RDM-006Vastgesteld
SRS-RDM-007Communicatie-, relatie- en ticketreadmodels gebruiken zichtbare dataset en statusFunctioneel/DataMustFO-06, FO-13, FO-14AC-RDM-007Vastgesteld
SRS-RDM-008Presentatievoorkeuren wijzigen geen domein- of autorisatiecontextFunctioneel/UXShouldFO-05, FO-21, FO-03AC-RDM-008Vastgesteld
SRS-RDM-009Readmodel-fouten worden veilig zichtbaar en technisch herleidbaarFunctioneel/BetrouwbaarheidShouldFO-21, FO-23, FO-19AC-RDM-009Vastgesteld

Concrete functionele definities voor tellers, badges, samenvattingswaarden en readmodels staan in het readmodel- en tellerdefinitieregister. Deze definities voegen geen nieuwe requirementlaag toe, maar concretiseren SRS-RDM-* voor implementatie- en testvoorbereiding.

3.19 Functionele architectuurcontext

IDTitelTypePrioriteitBronAcceptatie-IDStatus
SRS-ARCH-001Webapp blijft functionele bron voor businesslogicaFunctioneel/ArchitectuurMustFO-23AC-ARCH-001Vastgesteld
SRS-ARCH-002Identity provider blijft externe authenticatiebronFunctioneel/ArchitectuurMustFO-23, FO-05AC-ARCH-002Vastgesteld
SRS-ARCH-003Realtime transport blijft transportlaag en geen domeinbronFunctioneel/ArchitectuurMustFO-23, FO-13, FO-15AC-ARCH-003Vastgesteld
SRS-ARCH-004Background jobs zijn idempotent waar domeinstatus kan wijzigenFunctioneel/ArchitectuurShouldFO-23, FO-14, FO-19AC-ARCH-004Vastgesteld

| SRS-REL-013 | Externe relatie-uitnodigingen worden na registratie geclaimd maar niet automatisch geaccepteerd | Functioneel/Privacy | Must | FO-06, FO-05 | AC-REL-013 | Vastgesteld | | SRS-REL-014 | Eerste onboarding dwingt beoordeling van geclaimde relatie-uitnodigingen af | Functioneel/UX | Must | FO-06, FO-05 | AC-REL-014 | Vastgesteld | | SRS-ACC-009 | Accountonboarding wordt centraal afgerond op accountniveau | Functioneel/Security | Must | FO-05, FO-03 | AC-ACC-009 | Vastgesteld | | SRS-AUTH-006 | OIDC remote failures worden veilig afgehandeld | Security/UX | Must | FO-05 | AC-AUTH-006 | Vastgesteld | | SRS-AUTH-007 | Permissions worden per gebruiker gecachet en expliciet geïnvalideerd | Functioneel/Performance/Security | Must | FO-02, TO-05, RBAC-permissieregister | AC-AUTH-007 | Vastgesteld |