Qual è il requisito non funzionale nell'ingegneria del software?

Cos'è il requisito non funzionale?

Requisito non funzionale (NFR) specifica l'attributo di qualità di un sistema software. Giudicano il sistema software in base a reattività, usabilità, sicurezza, portabilità e altri standard non funzionali che sono fondamentali per il successo del sistema software. Esempio di requisito non funzionale, "quanto velocemente viene caricato il sito web?" Il mancato rispetto dei requisiti non funzionali può portare a sistemi che non riescono a soddisfare le esigenze degli utenti.

I requisiti non funzionali nell'ingegneria del software consentono di imporre vincoli o restrizioni alla progettazione del sistema nei vari backlog agili. Ad esempio, il sito dovrebbe caricarsi in 3 secondi quando il numero di utenti simultanei è > 10000. DescriptL'integrazione dei requisiti non funzionali è altrettanto critica quanto un requisito funzionale.

Tipi di requisiti non funzionali

Di seguito sono elencate le principali tipologie di requisiti non funzionali:

Tipi di requisiti non funzionali
Tipi di requisiti non funzionali
  • Requisito di usabilità
  • Requisito di funzionalità
  • Requisito di gestibilità
  • Requisito di recuperabilità
  • Requisito di sicurezza
  • Dati Integrity requisito
  • Requisito di capacità
  • Requisito di disponibilità
  • Requisito di scalabilità
  • Requisito di interoperabilità
  • Requisito di affidabilità
  • Requisito di manutenibilità
  • Requisito normativo
  • Requisito ambientale

Esempi di requisiti non funzionali

Ecco alcuni esempi di requisiti non funzionali:

  1. Gli utenti devono modificare la password di accesso inizialmente assegnata immediatamente dopo il primo accesso riuscito. Inoltre, l'iniziale non dovrebbe mai essere riutilizzata.
  2. Ai dipendenti non è mai stato consentito aggiornare le informazioni sul proprio stipendio. Tale tentativo dovrebbe essere segnalato all'amministratore della sicurezza.
  3. Ogni tentativo infruttuoso da parte di un utente di accedere a un dato viene registrato su una pista di controllo.
  4. Un sito Web dovrebbe essere in grado di gestire 20 milioni di utenti con ripercussioni sulle sue prestazioni
  5. Il software dovrebbe essere portatile. Quindi il passaggio da un sistema operativo all'altro non crea alcun problema.
  6. Dovrebbero essere controllati la riservatezza delle informazioni, l’esportazione di tecnologie soggette a restrizioni, i diritti di proprietà intellettuale, ecc.

Requisiti funzionali e non funzionali

Di seguito è riportata la differenza principale tra requisiti funzionali e non funzionali:

parametri Requisito funzionale Requisito non funzionale
Che cos'è? Verbo Attributi
Requisito È obbligatorio Non è obbligatorio
Tipo di cattura Viene acquisito nel caso d'uso. Viene catturato come attributo di qualità.
Risultato finale caratteristica di prodotto Proprietà del prodotto
Catturare Facile da catturare Difficile da catturare
Obiettivo Aiuta a verificare la funzionalità del software. Ti aiuta a verificare le prestazioni del software.
Area di interesse Concentrarsi sulle esigenze dell'utente Si concentra sulle aspettative dell'utente.
Documentazione Descrivi cosa fa il prodotto Descrive come funziona il prodotto
Tipo di test Test di funzionalità come sistema, integrazione, end-to-end, test API, ecc. Test non funzionali come prestazioni, stress, usabilità, test di sicurezza, ecc.
Esecuzione del test L'esecuzione del test viene eseguita prima dei test non funzionali. Dopo il test funzionale
Informazioni sul prodotto Caratteristiche Proprietà del prodotto

Vantaggi dei requisiti non funzionali

Vantaggi/pro di Test non funzionali siamo:

  • I requisiti non funzionali garantiscono che il sistema software segua le norme legali e di conformità.
  • Garantiscono l'affidabilità, la disponibilità e le prestazioni del sistema software
  • Garantiscono una buona esperienza utente e facilità di utilizzo del software.
  • Aiutano nella formulazione della politica di sicurezza del sistema software.

Svantaggi del requisito non funzionale

I contro/svantaggi del requisito di non-funzione sono:

  • Nessun requisito funzionale può influenzare i vari sottosistemi software di alto livello
  • Richiedono un'attenzione particolare durante la fase di progettazione dell'architettura software/di alto livello, il che comporta un aumento dei costi.
  • La loro implementazione solitamente non corrisponde allo specifico sottosistema software,
  • Una volta superata la fase di architettura, è difficile modificare ciò che non è funzionale.

APPRENDIMENTO CHIAVE

  • NFR significa: un requisito non funzionale definisce l'attributo prestazionale di un sistema software.
  • Quali sono i tipi di comportamento non funzionale: Capacità di scalabilità, Disponibilità, Affidabilità, Recuperabilità, Dati Integrity, ecc.
  • Uno degli esempi di NFR è che ai dipendenti non è mai consentito aggiornare le informazioni sul proprio stipendio. Tale tentativo dovrebbe essere segnalato all'amministratore della sicurezza.
  • Il requisito funzionale è un verbo mentre il requisito non funzionale è un attributo
  • Il vantaggio del requisito non funzionale è che aiuta a garantire una buona esperienza utente e la facilità di utilizzo del software
  • Il più grande svantaggio dei requisiti non funzionali è che può influenzare i vari sottosistemi software di alto livello.