Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
20 novembre 2006
Massimiliano Argiolu
Scenario
Rivisitazione dei BP dei clienti correlati alla situazione economica attuale Necessit di allineamento dellIT ai BP dei clienti in termini competitivi rispetto a tempi e costi Necessit di impiantare dei processi IT supportati da indicatori oggettivi (p.e. KPI) per misurare tali processi in accordo con i BP aziendali e/o del cliente Necessit di incrementare la qualit del prodotto software per decrementare i costi dellIT
Massimiliano Argiolu
20 novembre 2006
20 novembre 2006
Cosa si pu fare ?
Incremento della qualit del prodotto software e dei processi dellIT Certificazione del livello di Qualit del SW sviluppato o acquisito (ISO/IEC 9126:2001, ISO/IEC 25000:2005) Definizione di processi di miglioramento della Qualit del SW (ISO/IEC 9004:2000, ISO/IEC 90003:2003) Riduzione dei costi indiretti di collaudo e manutenzione NB: i costi esposti di seguito sono : di prevenzione (acquisto licenze prodotti) di valutazione (h/u per la rilevazione)
per ridurre i Costi dei difetti Interni ed Esterni !!
Massimiliano Argiolu
4
20 novembre 2006
Metriche di Processo
La rilevazione di metriche relative ai processi del Ciclo di Vita del Software (ISO/IEC 12207:2003; ISO/IEC 20000:2005) necessaria per rendere pi efficaci ed efficienti tali processi Tali metriche, utilizzate nei contratti di outsourcing, necessitano di unattenta definizione del processo stesso e dellutilizzo di prodotti utilizzabili per qualsiasi tipologia di progetto La definizione del processo relativo al Ciclo di Vita del Software, delle sue metriche e delle modalit di rilevazione (ISO/IEC 14598-1/5) una scelta fatta a livello di progetto e a volte difficilmente attuabile su piccoli progetti Monitorare ed ottimizzare i processi tramite KPIs garantendo il popolamento di un dashboard per il supporto decisionale
Massimiliano Argiolu
20 novembre 2006
Metriche di Prodotto
Monitoraggio della qualit SW tramite metriche statiche Validazione del SW individuando: Codice inerte Test duplicati SW non testato Copertura topologica del Test Monitorare le metriche tramite unapposito cruscotto profilato per i responsabili Inserimento di requisiti di qualit nelle specifiche tecniche di Outsourcing Uso di set di parametri di soglia differenziati in funzione del contesto Massimiliano Argiolu
20 novembre 2006
La qualit del prodotto software pu essere vista come linsieme di tre aspetti:
Percepita : esprime lefficacia ed efficienza, con cui il software serve le esigenze dellutente, Interna Esterna
ma anche lusabilit del prodotto; : esprime la misura in cui il codice software possiede una serie di attributi, indipendentemente dallambiente di utilizzo; : esprime le prestazioni del software nel suo ambiente di utilizzo.
20 novembre 2006
7
Massimiliano Argiolu
Manutenibilit Portabilit
Affidabilit Altre
Testabilit
Altre
Massimiliano Argiolu
Performance
20 novembre 2006
8
Ripartizione dei costi delle fasi del ciclo di vita del software (fonte CNIPA)
Massimiliano Argiolu
20 novembre 2006
Esempi di metriche
Metriche Interne
Metrica Complessit Ciclomatica di McCabe Complessit Essenziale di McCabe N di moduli o numero di LOC mai richiamate staticamente Percentuale di Commenti presenti nel codice Metrica Numero degli interventi di ripristino in collaudo sullo stesso modulo per la stessa malfunzione. Percentuale di logica percorsa dal test in termini di Branch e/o Path coverage % di casi di test eseguiti in fase di test rispetto a quelli progettati nel Piano di Test % di casi di test eseguiti con successo, rispetto al n di test previsti nel piano di Test % dei casi di test (da piano di testrealizzazione) eseguiti negativamente in collaudo
Caratteristica Affidabilit
Sottocaratteristica Maturit
Indicatore Capacit di controllo dei difetti in collaudo Copertura topologica del Test Copertura del Test Test eseguiti con successo Test falliti in collaudo
Affidabilit
Metriche Esterne
Massimiliano Argiolu
20 novembre 2006
10
20 novembre 2006
11
Metrica
Soglia <=70 <=14 >=.25 <=2 <=2 <=1 <=(WMC * Depth) + 1 <=1 =0 >= 75 Penalizzazione 1 1.2 1.5 2.0 3.0
20 novembre 2006
12
Peso 7 3 3 7 3 11 1 9 11 5
Un esempio pratico :
A ciascuna metrica sono associati un valore di soglia ed un peso e il peso qualitativo della classe dato da:
Sum v(G) WMC CD Avg ev(G) CBO Fan In RFC CDC PUB ACCESS LOCM Classe 1 2 Intervallo 0.91-1 0.71-0.90 0.51-0.70 0.31-0.50 0-0.30
PQ step( Mi ) *Fpi
i 1
10
SP Fpi
i 1
Normalizziamo:
PQ CP
SP
4 5
Massimiliano Argiolu
Numero Tests
Gli strumenti di Test Automation sono fondamentali ma non danno una risposta completa !!
Massimiliano Argiolu
20 novembre 2006
13
Esempi di metriche
Metriche Interne
Metrica Complessit Ciclomatica di McCabe Complessit Essenziale di McCabe N di moduli o numero di LOC mai richiamate staticamente Percentuale di Commenti presenti nel codice Metrica Numero degli interventi di ripristino in collaudo sullo stesso modulo per la stessa malfunzione. Percentuale di logica percorsa dal test in termini di Branch e/o Path coverage % di casi di test eseguiti in fase di test rispetto a quelli progettati nel Piano di Test % di casi di test eseguiti con successo, rispetto al n di test previsti nel piano di Test % dei casi di test (da piano di testrealizzazione) eseguiti negativamente in collaudo
Caratteristica Affidabilit
Sottocaratteristica Maturit
Indicatore Capacit di controllo dei difetti in collaudo Copertura topologica del Test Copertura del Test Test eseguiti con successo Test falliti in collaudo
Affidabilit
Metriche Esterne
Massimiliano Argiolu
20 novembre 2006
14
30X
20 novembre 2006
15
un concetto semplice
Prima si individuano gli errori meno costa la loro risoluzione !!
Massimiliano Argiolu
20 novembre 2006
16
20 novembre 2006
17
segue
Le metriche esterne consentono di anticipare lindividuazione degli errori, nel tempo e nelle fasi del ciclo di vita. Lutilizzo di metodi e strumenti sistematici per il testing consente un incremento del 15-20% dei bugs individuati Metriche interne ed esterne combinate consentono di anticipare ancora lindividuazione dei bugs fino ad incrementare la differenza tra C0 e C1 di un ulteriore 5-7%.
Massimiliano Argiolu
20 novembre 2006
18
Testing Testing
Disegno
Tempo
Massimiliano Argiolu
Codifica Codifica
Rilascio Rilascio
Difetti
20 novembre 2006
19
20 novembre 2006
20
e di quanto ?
Fase Produttiva
Abbattimento dei Costi Totali della Fase -10/15 % (mediamente) 0% 20% 20% 0% 40%
Costi di prevenzione
Costi di valutazione
Pianificazione
Costi di acquisto delle licenze dei prodotti necessari 0% 0% -1/2 % -2/5% 0% 0% -5/2% (tendenti a 0% funzione della stabilit del team) -1/2 %
Manutenzione evolutiva
20%
Massimiliano Argiolu
20 novembre 2006
21
Massimiliano Argiolu
22