Pubblicato da Cefriel il nuovo white paper “Qualità del software: quali gli impatti per le imprese? – Come un software di qualità può garantire affidabilità, sicurezza ed efficienza”. Il testo, scaricabile gratuitamente qui, è scritto da Luigi Lavazza, esperto scientifico e metodologico di ingegneria del software di Cefriel, con la prefazione di Massimiliano Pianciamore, responsabile del centro di competenza “Software Architectures & Solutions” di Cefriel. Obiettivo del documento quello di dimostrare, attraverso un caso d’uso concreto, come l’utilizzo di strumenti di analisi del codice e la loro integrazione nel processo di sviluppo software siano fondamentali per ottenere software di qualità, sicuro e affidabile.
Perché è indispensabile contare su programmi di qualità per imprese e Pubbliche Amministrazioni?
La qualità del programma garantisce l’affidabilità, la sicurezza e l’efficienza di un sistema informatico, impattando sulla soddisfazione degli utenti e sulla possibilità che questi possano contare sui servizi richiesti. La qualità del software influisce, inoltre, direttamente sui costi aziendali, visto che eventuali difetti o carenze nei programmi causano inefficienze, perdite di opportunità per l’organizzazione e costi aggiuntivi per chi sviluppa e mantiene il software.
Investire sulla qualità del software permette di preservare la qualità dei sistemi informatici nel tempo, riducendo i rischi associati a errori costosi e rallentamenti delle attività di business che dipendono dal software. Inoltre, consente di mantenere un ambiente di sviluppo più sano, in cui gli sviluppatori possono lavorare in modo efficiente ed efficace, favorendo l’innovazione e la competitività dell’organizzazione.
Quale approccio adottare per garantire la qualità del software?
L’ingegneria del software propone tre strumenti principali per valutare la qualità, o più precisamente, per individuare potenziali carenze: testing, ispezione del codice e analisi statica. Di questi, i primi due, ossia la verifica della corrispondenza tra il comportamento reale osservato e il comportamento atteso (testing) e l’ispezione del codice da parte degli sviluppatori per ricercare errori e punti deboli (ispezione del codice), sono costosi, in quanto richiedono un intervento massiccio da parte degli sviluppatori. Il terzo strumento, ovvero l’analisi del codice da parte di un programma apposito (analisi statica), è invece per sua natura automatico e non richiede particolari oneri per essere eseguito. Il suo utilizzo è tuttavia limitato dal fatto di non poter essere del tutto accurato. Per comprendere quale sia l’approccio migliore per massimizzare la qualità del software, l’esperienza illustrata da Cefriel nel white paper mostra come sia possibile usare l’analisi statica per ottenere indicazioni utili a migliorare la qualità del codice, impiegando una quantità di risorse limitata, in modo da ottenere un vantaggio economico nello sviluppo stesso di software.
“L’uso di strumenti di analisi statica – spiega Luigi Lavazza – non solo permette di concentrare l’ispezione sulle parti di codice più critiche, ma limita anche parecchio l’ambito dell’analisi. Il costo delle attività eseguite è da considerarsi poco rilevante rispetto ai vantaggi derivanti dall’eliminazione dei problemi identificati. Va inoltre considerato che il lavoro eseguito ha portato a redigere un catalogo dei problemi ricorrenti, che può essere usato dagli sviluppatori per evitare i problemi più frequenti e pericolosi”.
Per ottimizzare la qualità del codice e sistematizzare i benefici derivanti dalla sua analisi, occorre che questa venga effettuata con continuità e che sia fatta prima del rilascio del codice direttamente dagli sviluppatori. Notevoli i benefici che ne conseguono: dalla capacità di individuare tempestivamente e incrementalmente i problemi prima che il software sia messo in produzione, ai benefici per le aziende derivanti dalla condivisione dell’ambiente di analisi statica con il fornitore di software che in questo modo può interviene in tempi rapidi e con maggiore semplicità.