Cos'è un requisito funzionale nell'ingegneria del software?
⚡ Riepilogo intelligente
I requisiti funzionali descrivono ogni servizio che un sistema software deve offrire, specificando input, comportamento e output, in modo che sviluppatori, tester e stakeholder aziendali condividano un'unica definizione verificabile di ciò che il prodotto deve effettivamente fare.
Cos'è un requisito funzionale?
A Requisito funzionale (FR) è una descrizione del servizio che il software deve offrire. Descrive un sistema software o un suo componente. Una funzione è definita da input, comportamento e output. Può essere un calcolo, una manipolazione di dati, un processo aziendale o un'interazione con l'utente che definisce cosa deve fare il sistema. I requisiti funzionali nell'ingegneria del software sono anche chiamati Specificazioni funzionali.
Un requisito funzionale può variare da un'esigenza di alto livello degli stakeholder a una specifica matematica dettagliata. Software funzionale I requisiti descrivono il comportamento previsto del sistema.
Cosa includere in un documento dei requisiti funzionali
Ecco cosa dovrebbe includere un documento sui requisiti funzionali:
Requisiti funzionali di esempio
Un documento sui requisiti funzionali in genere include:
- Dettagli delle operazioni eseguite su ogni schermata
- logica di gestione dei dati che il sistema deve applicare
- Descriptioni di report di sistema e altri output
- Informazioni complete sui flussi di lavoro eseguiti dal sistema
- Chi è autorizzato a creare, modificare o eliminare dati nel sistema?
- Come il sistema soddisfa i requisiti normativi e di conformità applicabili
Vantaggi dei requisiti funzionali
I principali vantaggi di un documento di requisiti funzionali ben redatto sono:
- Verifica che l'applicazione fornisca tutte le funzioni specificate
- Definisce in un unico punto la funzionalità del sistema e dei suoi sottosistemi.
- Insieme all'analisi dei requisiti, i requisiti funzionali aiutano a identificare le esigenze mancanti e a chiarire il comportamento previsto del sistema.
- Gli errori individuati nella fase di definizione dei requisiti sono i più economici da correggere.
- Supporta gli obiettivi, i compiti e le attività dell'utente.
Tipi di requisiti funzionali
Le categorie comuni di requisiti funzionali includono:
- Gestione delle transazioni
- Regole aziendali
- Requisiti di certificazione
- Requisiti di segnalazione
- Funzioni amministrative
- Livelli di autorizzazione
- Audit Tracking
- Interfacce esterne
- Gestione dei dati storici
- Requisiti legali e normativi
Esempi di requisiti funzionali
Di seguito sono riportati alcuni esempi pratici di requisiti funzionali:
- Il software dovrà convalidare automaticamente i clienti rispetto al sistema di gestione dei contatti ABC.
- Il sistema di vendita deve consentire agli utenti di registrare le vendite ai clienti.
- Il colore di sfondo di tutte le finestre dell'applicazione deve essere blu con valore RGB esadecimale 0x0000FF.
- Solo i dipendenti con funzioni dirigenziali avranno il diritto di visualizzare i dati relativi ai ricavi.
- Il sistema software dovrà integrarsi con l'API bancaria.
- Il sistema software deve soddisfare Unità 508 requisiti di accessibilità.
Requisiti funzionali vs. non funzionali
Ecco le principali differenze tra requisiti funzionali e non funzionali in Software Engineering:
| 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 dei test viene effettuata prima dei test non funzionali. | Dopo il test funzionale |
| Informazioni sul prodotto | Caratteristiche | Proprietà del prodotto |
Migliori pratiche per la scrittura dei requisiti funzionali
Le migliori pratiche più importanti per la stesura di un Documento dei Requisiti Funzionali sono:
- Non unire due requisiti in uno solo; mantieni ogni requisito distinto.
- Fornite ogni requisito nel modo più completo e accurato possibile.
- Redigere nel documento tutti i requisiti tecnici.
- Mappare ogni requisito rispetto agli obiettivi e ai principi che guidano la realizzazione di software di successo.
- Raccogli i requisiti attraverso interviste, workshop e conversazioni informali.
- Documentare ogni vincolo noto e verificato che influisce in modo sostanziale su un requisito.
- Annota ogni ipotesi nel documento.
Errori comuni nella stesura dei requisiti funzionali
Gli errori più comuni commessi durante la creazione di un documento sui requisiti funzionali includono:
- Aggiungere informazioni extra non giustificate che confondono gli sviluppatori
- Omettendo i dettagli necessari agli sviluppatori per realizzare la funzionalità.
- Regole di miscelazione, esempi, scoping dichiarazioni o obiettivi nei requisiti stessi.
- Omettere informazioni essenziali per definire il requisito in modo completo e accurato.
- Difendere un requisito esistente quando arriva una richiesta di modifica, invece di trovare la risposta corretta.
- Requisiti di scrittura che non sono correlati ad alcun obiettivo o principio.


