Definizione e Differenze tra requisiti funzionali e requisiti non funzionali

Definizione e Differenze tra requisiti funzionali e requisiti non funzionali

Definizione e Differenze tra requisiti funzionali e requisiti non funzionali

Requisiti funzionali

I requisiti funzionali si presentano come elenchi di funzionalità o servizi che il sistema deve fornire. Essi descrivono anche il comportamento del sistema a fronte di particolari input e come esso dovrebbe reagire in determinate situazioni.
Che si tratti di utente o di sistema, un requisito funzionale potrà essere formulato a diversi livelli di dettaglio, dovendo preservare, naturalmente, la precisione della specifica.
Due importante caratteristica delle specifiche dei requisiti sono la completezza e la coerenza.
Un documento di specifica dei requisiti è completo se tutti i requisiti richiesti dagli utenti sono definiti ed è consistente quando non vi sono requisiti in conflitto tra loro.
Sebbene per sistemi di piccole dimensioni questi risultati siano facilmente raggiungibili, per i sistemi caratterizzati da un numero elevato di requisiti è richiesto uno sforzo maggiore.
Infatti, in questo secondo caso, la difficoltà è dovuta alla maggiore occorrenza di errori ed omissioni, nonché alla presenza di un numero elevato di stakeholder con esigenze differenti, a volte contrastanti, che possono non essere valutate nella prima fase di scrittura delle specifiche.
Dunque, la presenza di inconsistenze potrebbe essere scorta addirittura dopo aver consegnato il prodotto al cliente, dando luogo a costi esorbitanti.

Requisiti non funzionali

I requisiti non funzionali rappresentano i vincoli e le proprietà/caratteristiche relative ad sistema, come vincoli di natura temporale, vincoli sul processo di sviluppo e sugli standard da adottare. I requisiti non funzionali non riguardano solo il sistema software che si sta sviluppando, alcuni possono vincolare il processo usato per sviluppare il sistema. Esempi di questo tipo sono: le specifiche degli standard di qualità da usare, la specifica sull’uso di un particolare strumento CASE, una descrizione della lavorazione che deve essere seguita.
Tipicamente, i requisiti non funzionali non si applicano a singole funzioni o servizi, bensì all’intero sistema. Essi non riguardano direttamente le specifiche funzioni fornite dal sistema, ma possono sia riferirsi a caratteristiche che si desidera il sistema presenti (come l’affidabilità, i tempi di risposta, l’occupazione in memoria), sia definire i vincoli ai quali il sistema deve sottostare (come la capacità dei dispositivi di I/O e la rappresentazione dei dati utilizzata nelle interfacce del sistema).
I requisiti non funzionali sono strettamente vincolati alle esigenze degli utenti, alle politiche organizzative adottate, agli standard adoperati, alla necessaria modalità di interazione del relativo sistema con altri componenti. Pertanto, essi possono essere classificati in:

  1. requisiti di prodotto, che descrivono le caratteristiche del prodotto, in termini di usabilità, efficienza, affidabilità e portabilità;
  2. requisiti organizzativi (o di processo), che derivano dalle politiche e procedure organizzative relative al cliente ed allo sviluppatore;
  3. requisiti esterni, che si riferiscono a fattori estranei al sistema ed al relativo processo di sviluppo, come requisiti legislativi, requisiti di interoperabilità.

La classificazione proposta ha un carattere meramente teorico, poichè viene in aiuto proponendo una visione schematica della vasta gamma di requisiti non funzionali che possono intervenire nell’ambito di un progetto.

Infatti, nella realtà, ed ancor di più nel documento che dovrà descriverli, è praticamente impossibile attuare una distinzione così rigida tra concetti espressi, magari nello stesso requisito, soprattutto se si pensa alle relazioni che sussistono tra le varie tipologie di requisiti.
Pertanto, quella fornita è solo una delle possibilità di classificare i requisiti non funzionali. Ad esempio, si potrebbero considerare non funzionali solo i requisiti di prodotto, riferendosi agli altri come “vincoli”.

Classificazione dei requisiti non funzionali
Classificazione dei requisiti non funzionali

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *