Files

1.6 KiB

NFR Requirements — Unit 03: Availability Module

Dit document specificeert de non-functionele vereisten voor de beschikbaarheidsmodule.

1. Performance (AVAIL-PERF)

  • AVAIL-PERF-01: Middleware Latency:
    • De Availability Middleware mag maximaal 5ms toevoegen aan de totale requestduur.
    • Dit vereist een geoptimaliseerde database check (indexering op de status tabel).
  • AVAIL-PERF-02: Real-time Check:
    • Er wordt GEEN caching toegepast in de middleware (conform gebruikerskeuze). Elke request voert een actuele check uit om maximale consistentie te waarborgen.

2. Betrouwbaarheid & Persistentie (AVAIL-REL)

  • AVAIL-REL-01: Persistent Status:
    • De beschikbaarheidsstatus moet in de database worden opgeslagen, zodat deze behouden blijft na een herstart van de applicatie.
  • AVAIL-REL-02: Fallback:
    • Indien de database onbereikbaar is, moet de IAvailabilityService terugvallen op een "Veilige" status (bijv. Available of de laatst bekende status in het geheugen) om een lock-out te voorkomen.

3. Beveiliging (AVAIL-SEC)

  • AVAIL-SEC-01: Access Control:
    • Alleen gebruikers met de rol Owner kunnen de globale beschikbaarheidsstatus van de API wijzigen via een beveiligd endpoint.
  • AVAIL-SEC-02: Maintenance Bypass:
    • De bypass voor beheerders (zoals gedefinieerd in Functional Design) moet strikt gecontroleerd worden op basis van JWT claims.

4. Onderhoudbaarheid (AVAIL-MAINT)

  • AVAIL-MAINT-01: Audit Trail:
    • Elke wijziging van de beschikbaarheidsstatus moet worden gelogd in de AuditLogs tabel (Unit 02), inclusief de reden en de uitvoerder.