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:
- 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:
- Gli utenti devono modificare la password di accesso inizialmente assegnata immediatamente dopo il primo accesso riuscito. Inoltre, l'iniziale non dovrebbe mai essere riutilizzata.
- Ai dipendenti non è mai stato consentito aggiornare le informazioni sul proprio stipendio. Tale tentativo dovrebbe essere segnalato all'amministratore della sicurezza.
- Ogni tentativo infruttuoso da parte di un utente di accedere a un dato viene registrato su una pista di controllo.
- Un sito Web dovrebbe essere in grado di gestire 20 milioni di utenti con ripercussioni sulle sue prestazioni
- Il software dovrebbe essere portatile. Quindi il passaggio da un sistema operativo all'altro non crea alcun problema.
- 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.