Requisiti funzionali e non funzionali
Differenza chiave tra requisiti funzionali e non funzionali
- Un requisito funzionale definisce un sistema o un suo componente, mentre un requisito non funzionale definisce l'attributo prestazionale di un sistema software.
- I requisiti funzionali, insieme all'analisi dei requisiti, aiutano a identificare i requisiti mancanti, mentre il vantaggio dei requisiti non funzionali è che aiuta a garantire una buona esperienza utente e facilità di utilizzo del software.
- Requisito Funzionale è un verbo, mentre Requisito Non Funzionale è un attributo
- I tipi di requisiti non funzionali sono capacità di scalabilità, disponibilità, affidabilità, recuperabilità, dati Integrity, ecc., mentre correzioni, aggiustamenti e cancellazioni delle transazioni, regole aziendali, requisiti di certificazione, requisiti di reporting, funzioni amministrative, livelli di autorizzazione, tracciamento degli audit, interfacce esterne, gestione dei dati storici, requisiti legali o normativi sono vari tipi di requisiti funzionali.

Cos'è un requisito funzionale?
Nell'ingegneria del software, a requisito funzionale definisce un sistema o un suo componente. Descrive le funzioni che un software deve eseguire. Una funzione non è altro che input, il suo comportamento e output. Può trattarsi di un calcolo, una manipolazione dei dati, un processo aziendale, l'interazione dell'utente o qualsiasi altra funzionalità specifica che definisce quale funzione è probabile che un sistema svolga.
Richieste funzionali nell'ingegneria del software ti aiutano a catturare il comportamento previsto del sistema. Questo comportamento può essere espresso come funzioni, servizi o attività o quale sistema è tenuto a eseguire.
Cos'è il requisito non funzionale?
A requisito non funzionale definisce l'attributo di qualità di un sistema software. Rappresentano un insieme di standard utilizzati per giudicare il funzionamento specifico di un sistema. Ad esempio, quanto velocemente viene caricato il sito web?
Un requisito non funzionale è essenziale per garantire l'usabilità e l'efficacia dell'intero sistema software. Il mancato rispetto dei requisiti non funzionali può portare a sistemi che non riescono a soddisfare le esigenze degli utenti.
I requisiti non funzionali 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.
Esempio di requisiti funzionali
Ecco alcuni esempi di requisiti funzionali nell'ingegneria del software:
- Il software convalida automaticamente i clienti rispetto al sistema di gestione dei contatti ABC
- Il sistema Vendite dovrebbe consentire agli utenti di registrare le vendite dei clienti
- Il colore di sfondo per tutte le finestre dell'applicazione sarà blu e avrà un valore di colore RGB esadecimale pari a 0x0000FF.
- Solo i dipendenti di livello manageriale hanno il diritto di visualizzare i dati sulle entrate.
- Il sistema software dovrebbe essere integrato con l'API bancaria
- Il sistema software dovrebbe passare Unità 508 requisito di accessibilità.
Esempi di requisiti non funzionali
Ecco alcuni esempi di requisiti non funzionali nell'ingegneria del software:
- 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.
Differenza tra requisiti funzionali e non funzionali
Di seguito è riportata la differenza principale tra requisiti funzionali e non funzionali nell'ingegneria del software:
| Scheda Sintetica | Requisito funzionale | Requisito non funzionale |
|---|---|---|
| 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 funzionali come sistema, integrazione, end to end, Test dell'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 funzionali
Ecco i pro/vantaggi della creazione di un tipico documento sui requisiti funzionali:
- Ti aiuta a verificare se l'applicazione fornisce tutte le funzionalità menzionate nei requisiti funzionali di tale applicazione
- Un documento sui requisiti funzionali aiuta a definire la funzionalità di un sistema o di uno dei suoi sottosistemi.
- I requisiti funzionali insieme all'analisi dei requisiti aiutano a identificare i requisiti mancanti. Aiutano a definire chiaramente il servizio e il comportamento del sistema previsti.
- Gli errori rilevati nella fase di raccolta dei requisiti funzionali sono i più economici da correggere.
- Supporta obiettivi, compiti o attività degli utenti per una facile gestione dei progetti
- I requisiti funzionali possono essere espressi nel modulo del caso d'uso o nella storia dell'utente poiché mostrano un comportamento funzionale visibile esternamente.
Vantaggi dei requisiti non funzionali
Vantaggi/pro dei test non funzionali in Ingegneria del software 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.
