Una specifica funzionale descrive le funzioni di base di un’applicazione software. È generalmente sviluppato come parte dell’analisi dei requisiti nello sviluppo del software. Serve come modello per i programmatori per sviluppare codice sorgente e casi di test per l’applicazione.
In generale, ci sono molti attori diversi coinvolti nell’analisi dei requisiti per lo sviluppo di ogni applicazione software. Questi attori includono gli uomini d’affari che dovrebbero utilizzare il software, gli analisti di dati, i programmatori e altro personale tecnico. Gli uomini d’affari spiegano agli altri membri del team esattamente cosa si aspettano che faccia il software, da una prospettiva aziendale.
I requisiti aziendali vengono uniti ai dati che devono essere acquisiti e vengono utilizzati per sviluppare il modo in cui il team desidera che funzionino ciascuno degli schermi. Tutta questa analisi dei requisiti deve essere completata per documentare la specifica funzionale. Una volta che la specifica funzionale è stata approssimativamente documentata, il team lavora per perfezionarla. Il team esamina questi documenti e colma eventuali lacune nell’analisi dei requisiti. Una volta completata l’analisi dei requisiti, il team approva la specifica funzionale. Il documento di specifica approvato viene utilizzato come modello per lo sviluppo del software.
Il codice sorgente e i casi di test vengono sviluppati utilizzando la specifica funzionale. I membri del team utilizzano le specifiche funzionali per sviluppare i casi di test necessari per confermare che il software funzioni come specificato. Il numero di casi di test utilizzati per eseguire il debug del software varia in base alla complessità del software sviluppato. Mentre i programmatori sviluppano il software, un’altra parte del team sviluppa i casi di test. Il processo di test per l’approvazione del software inizia quando i programmatori informano il team che è pronto per essere testato.
La specifica funzionale non specifica cose come il linguaggio del software che deve essere utilizzato dai programmatori. Le specifiche trovate all’interno di una specifica funzionale sono limitate alle vere funzioni del programma. Il documento delle specifiche spiega cosa succede quando un utente di un programma fa clic su un pulsante specifico sullo schermo, ma non come il programmatore eseguirà la funzione specifica.
A seconda della complessità del software da sviluppare, alcuni team utilizzano più livelli di documenti di specifiche funzionali. Il team di gestione potrebbe partecipare alla specificazione delle funzioni di alto livello mentre un gruppo di analisti senior potrebbe definire in modo più dettagliato le funzioni specifiche e un team congiunto di analisti aziendali e programmatori potrebbe definire ciascuna schermata. Ciascuno dei documenti di output di questi livelli può essere considerato una specifica funzionale.