Definizione e ruolo della tracciabilità dei requisiti software

Definizione e ruolo della tracciabilità dei requisiti software

Lo sviluppo di un prodotto deve seguire un percorso logico, durante il quale è fondamentale assicurare la completezza e la consistenza di ogni passo.
Rispetto all’ingegneria dei requisiti ed, in particolare, nell’ambito loro specifica, il problema della tracciabilità è particolarmente sentito e la sua risoluzione consentirà di capire come e dove si collocano i requisiti una volta realizzato il sistema, dimostrare la loro effettiva implementazione, gestire più semplicemente le evoluzioni, la manutenzione, garantire un maggior riuso.

Le tecniche di tracciabilità dei requisiti vengono adottate per garantire la congruenza tra prodotto software ed aspettative del committente, quindi presume un lavoro congiunto e consapevole di entrambe le parti chiamate in causa. La tracciabilità dunque è una proprietà dei requisiti: infatti, una volta specificati, dovranno essere direttamente connessi alle motivazioni ed obiettivi che hanno dato origene ad esso.

Definizione e ruolo della tracciabilità dei requisiti software

Tipi di tracciabilità

Per ottenere tutti i vantaggi che derivano da essa, bisognerà fissare la tracciabilità dei requisiti con i corrispondenti componenti del progetto, con il codice, i casi di test e, in generale, con tutti gli artefatti derivanti dallo sviluppo del prodotto.

Tra le definizioni di tracciabilità presentate in letteratura, si distinguono i seguenti tipi:

  1. Tracciabilità dell’origine, in cui viene indicata la sorgente da cui ha preso vita ogni requisito. Ad esempio, un requisito sarà collegato alla documentazione, ad un committente (cioè all’obiettivo in cui si è tradotto il requisito) oppure ad una specifica norma, ecc.
  2. Tracciabilità della descrizione, in cui il requisito specificato sarà collegato alla motivazione da cui ha avuto origine.
  3. Tracciabilità delle dipendenze, in cui vengono esplicitate (sotto forma di collegamenti) le dipendenze tra requisiti;
  4. Tracciabilità tra sottosistemi, in cui i requisiti vengono collegati con i sottosistemi in cui trovano la loro implementazione, dunque consentono di definire “chi deve sviluppare cosa”.

Infatti, i requisiti sono suddivisi per tipologie a seconda dei sottosistemi che li governano.

  1. Tracciabilità del progetto, in cui il requisiti verranno collegati con i componenti specifici del sistema che sono adoperati per implementarli;
  2. Tracciabilità dell’interfaccia, in cui i requisiti verranno collegati con le interfacce interne ed esterne del sistema, attraverso le quali essi potranno esse utilizzati.

Per poter tracciare i requisiti, così da poterli individuare facilmente, bisognerà associare a ciascuno un identificativo univoco (ad esempio, nella forma <tipo_requisito> <numero_requisito>), in modo da utilizzare quest’ultimo come riferimento per collegare i requisiti agli aspetti relativi alla tracciabilità.

Le informazioni sulla tracciabilità saranno disponibili su di una tabella detta, appunto, matrice di tracciabilità, sulle cui righe e colonne sono, rispettivamente, collocati i requisiti e gli aspetti con cui essi presentano delle relazioni. In particolare, una relazione tra il contenuto di una riga e quello di una colonna sarà registrato in corrispondenza della loro intersezione.

Classificazione di tracciabilità

Una classificazione di tracciabilità meno stringente è la distinzione nelle due tipologie: orizzontale e verticale.

Per tracciabilità orizzontale si intendono i collegamenti tra requisiti allo stesso livello di astrazione e tra i quali sussiste una relazione. Ad esempio, supponiamo che nel documento di specifica dei requisiti di sistema il requisito indicato con R1 presenti una relazione con il requisito R2. Verrà creato un collegamento tra i due requisiti ed in più tale relazione potrebbe essere specificata nel caso in cui R2 usi R1, R2 dettagli R1, R2 sia in conflitto con R1.

Per tracciabilità verticale si intende il collegamento tra un requisito e altre entità (siano, ad esempio, requisiti di differente livello, moduli software, casi di test, ecc.) a cui esso fa riferimento.
Un esempio potrebbe essere il collegamento tra requisiti di sistema e relativi requisiti software di alto livello (nel caso in cui si sia deciso di operare un’astrazione a più livelli dei requisiti software).

Allo stato attuale delle cose, il problema della tracciabilità, pur essendo particolarmente sentito, non riesce a trovare uno sbocco risolutivo in parecchi contesti. Infatti, la molteplicità delle definizioni di tracciabilità ha fatto sì che non si sia sviluppata un’idea chiara e condivisa del concetto. Pertanto, nonostante i tool di gestione dei requisiti prevedano funzionalità a supporto, nei contesti in cui vengono utilizzati, raramente si riesce a mettere a frutto i vantaggi che si potrebbero ottenere.

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 *