Requisiti Non Funzionali

I requisiti non funzionali rappresentano le caratteristiche e gli attributi aggiuntivi richiesti dal committente, che vanno al di là dei requisiti funzionali che specificano le funzionalità necessarie per garantire il corretto funzionamento del sistema. Mentre i requisiti funzionali si concentrano su ciò che il sistema deve fare, i requisiti non funzionali si concentrano su come il sistema deve comportarsi e rispondere in termini di prestazioni, affidabilità, sicurezza, usabilità e altre qualità che contribuiscono alla sua efficienza complessiva.

  • Garantire il funzionamento dell’applicazione web su diversi browser, nello specifico: Chrome, Edge, Vivaldi, Opera;
  • Interfaccia grafica accessibile agli utenti daltonici secondo standard WCAG (Web Content Accessibility Guidelines) [1];
  • Interfaccia grafica reattiva: alle azioni di un utente devono corrispondere degli aggiornamenti dell’interfaccia stessa in tempi ragionevoli (al massimo un secondo) per non rovinare la user experience;
  • Interfaccia grafica intuitiva, che fornisca feedback coerenti all’utente per comunicargli lo stato delle sue azioni e coerente con gli standard di user experience di Material Design [2];
  • Garantire tempi di risposta del sistema inferiori ai 10 secondi, supponendo che l’utente disponga di una connessione con banda sufficiente (50ms ping, 20Mbps download, 5Mbps upload);
  • Il sistema dovrà essere in grado di memorizzare dati di interesse in maniera consistente;
  • Il sistema deve essere fault-tolerant, cioè deve continuare a funzionare in modo affidabile e non deve mai interrompersi qualora si verifichi un errore, ma proseguire senza generare fallimenti. In particolare deve gestire correttamente le seguenti problematiche:
    • inserimento di dati errati (credenziali errate, valori non ammessi nei campi di un form, etc.);
    • assenza temporanea della connessione internet durante l’uso del sistema.

Riferimenti

[1] Web Content Accessibility Guidelines (WCAG), https://www.w3.org/WAI/standards-guidelines/wcag/

[2] Material Design 2, https://m2.material.io/design