Fattori di qualità del software

I vari fattori che influenzano il software sono definiti fattori software. Possono essere ampiamente suddivisi in due categorie. La prima categoria dei fattori è di quelli che possono essere misurati direttamente come il numero di errori logici, e la seconda categoria club quei fattori che possono essere misurati solo indirettamente. Ad esempio, la manutenibilità, ma ciascuno dei fattori deve essere misurato per verificare il contenuto e il controllo di qualità.

Nel corso degli anni sono stati suggeriti diversi modelli di fattori di qualità del software e la loro categorizzazione. Il modello classico dei fattori di qualità del software, suggerito da McCall, è costituito da 11 fattori (McCall et al., 1977). Allo stesso modo, i modelli composti da 12 a 15 fattori, sono stati suggeriti da Deutsch e Willis (1988) e da Evans e Marciniak (1987).

Tutti questi modelli non differiscono sostanzialmente dal modello McCall. Il modello a fattori McCall fornisce un metodo pratico e aggiornato per classificare i requisiti software (Pressman, 2000).

Modello fattoriale di McCall

Questo modello classifica tutti i requisiti software in 11 fattori di qualità del software. Gli 11 fattori sono raggruppati in tre categorie: funzionamento del prodotto, revisione del prodotto e fattori di transizione del prodotto.

  • Product operation factors - Correttezza, affidabilità, efficienza, integrità, usabilità.

  • Product revision factors - Manutenibilità, flessibilità, testabilità.

  • Product transition factors - Portabilità, riusabilità, interoperabilità.

Fattori di qualità del software per il funzionamento del prodotto

Secondo il modello di McCall, la categoria di funzionamento del prodotto include cinque fattori di qualità del software, che trattano i requisiti che influenzano direttamente il funzionamento quotidiano del software. Sono i seguenti:

Correttezza

Questi requisiti riguardano la correttezza dell'output del sistema software. Includono:

  • Missione di uscita

  • La precisione richiesta dell'output che può essere influenzata negativamente da dati imprecisi o calcoli imprecisi.

  • La completezza delle informazioni di output, che possono essere influenzate da dati incompleti.

  • L'attualità delle informazioni definita come il tempo intercorso tra l'evento e la risposta da parte del sistema software.

  • La disponibilità delle informazioni.

  • Gli standard per la codifica e la documentazione del sistema software.

Affidabilità

I requisiti di affidabilità riguardano il fallimento del servizio. Determinano il tasso di guasto massimo consentito del sistema software e possono fare riferimento all'intero sistema oa una o più delle sue funzioni separate.

Efficienza

Si occupa delle risorse hardware necessarie per eseguire le diverse funzioni del sistema software. Comprende le capacità di elaborazione (espresse in MHz), la sua capacità di archiviazione (espressa in MB o GB) e la capacità di comunicazione dati (espressa in MBPS o GBPS).

Si occupa anche del tempo che intercorre tra la ricarica delle unità portatili del sistema, come le unità del sistema informativo situate in computer portatili o le unità meteorologiche poste all'aperto.

Integrità

Questo fattore riguarda la sicurezza del sistema software, ovvero impedire l'accesso a persone non autorizzate, anche per distinguere tra il gruppo di persone a cui dare il permesso di lettura e quello di scrittura.

Usabilità

I requisiti di usabilità riguardano le risorse del personale necessarie per formare un nuovo dipendente e per far funzionare il sistema software.

Fattori di qualità della revisione del prodotto

Secondo il modello di McCall, tre fattori di qualità del software sono inclusi nella categoria di revisione del prodotto. Questi fattori sono i seguenti:

Manutenibilità

Questo fattore considera gli sforzi che saranno necessari agli utenti e al personale di manutenzione per identificare le ragioni dei guasti del software, correggere i guasti e verificare il successo delle correzioni.

Flessibilità

Questo fattore riguarda le capacità e gli sforzi necessari per supportare le attività di manutenzione adattiva del software. Questi includono l'adattamento del software corrente a circostanze e clienti aggiuntivi senza modificare il software. I requisiti di questo fattore supportano anche attività di manutenzione perfettiva, come modifiche e aggiunte al software al fine di migliorarne il servizio e adattarlo ai cambiamenti nell'ambiente tecnico o commerciale dell'azienda.

Testabilità

I requisiti di testabilità riguardano il collaudo del sistema software e il suo funzionamento. Comprende risultati intermedi predefiniti, file di registro e anche la diagnostica automatica eseguita dal sistema software prima dell'avvio del sistema, per scoprire se tutti i componenti del sistema sono in ordine e per ottenere un rapporto sui guasti rilevati. Un altro tipo di questi requisiti riguarda i controlli diagnostici automatici applicati dai tecnici di manutenzione per rilevare le cause dei guasti del software.

Fattore di qualità del software di transizione del prodotto

Secondo il modello di McCall, tre fattori di qualità del software sono inclusi nella categoria di transizione del prodotto che si occupa dell'adattamento del software ad altri ambienti e della sua interazione con altri sistemi software. Questi fattori sono i seguenti:

Portabilità

I requisiti di portabilità tendono all'adattamento di un sistema software ad altri ambienti costituiti da hardware diverso, diversi sistemi operativi e così via. Il software dovrebbe poter continuare a utilizzare lo stesso software di base in diverse situazioni.

Riusabilità

Questo fattore riguarda l'uso di moduli software originariamente progettati per un progetto in un nuovo progetto software attualmente in fase di sviluppo. Possono anche consentire a progetti futuri di utilizzare un dato modulo o un gruppo di moduli del software attualmente sviluppato. Il riutilizzo del software dovrebbe far risparmiare risorse di sviluppo, abbreviare il periodo di sviluppo e fornire moduli di qualità superiore.

Interoperabilità

I requisiti di interoperabilità si concentrano sulla creazione di interfacce con altri sistemi software o con il firmware di altre apparecchiature. Ad esempio, il firmware dei macchinari di produzione e delle apparecchiature di collaudo si interfaccia con il software di controllo della produzione.