Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf ·...

54
QPsw 05FTM.1 Giuseppe Santucci Qualità nella Produzione del Software 05 Fondamenti della teoria della misura & elementi di statistica descrittiva ed inferenziale QPsw 05FTM.2 Un secondo libro di riferimento Metrics and Models In Software Quality Engineering - Second Edtion Stephen H.Kan Addison Wesley - 2003

Transcript of Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf ·...

Page 1: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.1

Giuseppe Santucci

Qualità nella Produzione del Software

05Fondamenti della teoria della misura

&elementi di statistica

descrittiva ed inferenziale

QPsw 05FTM.2

Un secondo libro di riferimento• Metrics and Models In Software Quality Engineering - Second Edtion

• Stephen H.Kan

• Addison Wesley - 2003

Page 2: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.3

Perchè si misura ?

• “Non puoi controllare ciò che non puoi misurare” [T. De Marco, 1982]

• Le misure, nel campo della qualità del sw, si effettuano per i seguentiobbiettivi:

1. verificare l'aderenza di alcuni parametri (di qualità) a dei valori diriferimento (esterni/interni)

2. rilevare delle deviazioni relative alla pianificazione temporale/ allocazione di risorse

3. raccogliere indici di produttività

4. validare l'effetto di strategie tese a migliorare un processo produttivo(qualità/ produttività / aderenza alla pianificazione / controllo dei costi)

• In sintesi si misura per controllare e prendere decisioni

QPsw 05FTM.4

Pragmaticamente

Misura e analisi Misura e analisi dei datidei dati

Page 3: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.5Analisi statistica dei dati

Processo di misura

Rating (definizione dei livelli di riferimento)

A carico dell’organizzazione

Le metriche forniscono valori quantitativi che non sono di per sé una valutazione della qualità, dobbiamo

mappare i dati quantitativi su una scala qualitativa

QPsw 05FTM.6

Definizioni, Definizioni operative e misure...

• Prima di entrare nel merito delle varie misure e dei livelli di riferimento èopportuno richiamare alcune nozioni di base della Teoria della Misura, spesso confuse o ignorate

• Utilizzeremo un esempio, basato sulla seguente proposizione:

“più è rigorosa la parte finale del processo di produzione del sw più è alta la qualità del sw presso il cliente”

• per poter accettare/respingere l'affermazione abbiamo bisogno di definiremeglio alcuni concetti:

– processo di produzione: <raccolta requisiti, progetto, ... ,integrazione, ... ,test di accettazione>

– parte finale del processo di produzione: <integrazione con il relativo test> (dopo le modifiche sono fortemente controllate)

Page 4: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.7

...Definizioni, Definizioni operative e misure...

• rigoroso: <aderente alla documentazione dei processi (manuale qualità)> ma è ancora vago ed abbiamo bisogno di alcuni indicatori:

– ad esempio, se è prevista una ispezione del codice; una definizione operativapotrebbe essere relativa alla percentuale di codice effettivamente ispezionato

– relativamente alla qualità di una ispezione potremmo utilizzare operativamenteuna scala di Likert a 5 valori (1=ispezione di bassa qualità ... 5=veramenteefficace)

– la rigorosità del test potrebbe essere operativamente associata allapercentuale di linee di codice testate e la sua efficacia al numero di difettirimossi per KLOC

• qualità del sw presso il cliente: <il numero di errori per KLOC trovatidurante il test di sistema>

• N.B. le definizioni utilizzate sono opinabili, ma non ambigue e misurabili

QPsw 05FTM.8

...Definizioni, Definizioni operative e misure...

Ora è possibile riformulare la proposizione di prima tramite le seguentitre ipotesi:

1. maggiore è la percentuale di linee di codice testate minore è ilnumero di errori per KLOC trovati durante il test di sistema

2. maggiore è l'efficacia delle ispezioni minore è il numero di errori per KLOC trovati durante il test di sistema

3. maggiore è l'efficacia del test, in termini di errori trovati, minore è ilnumero di errori per KLOC trovati durante il test di sistema

Page 5: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.9

...Definizioni, Definizioni operative e misure• L'esempio porta a capire l'importanza delle misure nonchè la necessità

di vari livelli di astrazione:

Teoria

Proposizioni

Ipotesi

Analisi dei dati

Concetti

Definizioni

Definizioni operative

Misure

Mondo astratto

Mondo empirico

QPsw 05FTM.10

• Teoria– un insieme di PROPOSIZIONI relative a CONCETTI

• Proposizione– viene fromalizzata tramite delle DEFINIZIONI

– da luogo ad una o più IPOTESI empiriche

• Ipotesi– per essere validata necessita di misure, fromalizzate tramite

DEFINIZIONI OPERATIVE

• Analisi dei dati– parte finale del processo, teso a validare la teoria. Si sostanzia

effettuando delle MISURE nel mondo reale

Page 6: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.11

...Definizioni, Definizioni operative e misure...

• Per validare la teoria è necessario (a) introdurre l'unità di analisi (componente o progetto), (b) effettuare analisi statistiche per validare le ipotesi (e.g., analisi dellavarianza), (c) validare gli indicatori scelti, ovvero effettuare ed interpretare dellemisure

• Ad esempio, volendo validare la teoria tramite l’ipotesi 1),assumiamo di aver ottenuto le seguenti misure tramite una unità di analisi composta da 9 esperimenti (3 al 50%, 3 al 70%, 3 al 90%) :

• Percentuale linee di codice testate Errori trovati durante il test di sistema

50% 20/KLOC

70% 15/KLOC

90% 12/KLOC

• Senza una corretta analisi dei dati (quale l'analisi della varianza, ANOVA) non potremmo essere sicuri della significatività statistica di quanto ottenuto

• Ad esempio se 20 è la media di {19 20 21}, 15 di {15 15 15}, e 12 di {11 12 13} cisentiremmo abbastanza sicuri

• Se invece 20 è la media di {5 5 50}, 15 di {1 4 40} e 12 di {3 3 30}...

• Vedremo la cosa successivamente

QPsw 05FTM.12

Elementi di base della teoria della misura

Page 7: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.13

Terminologia base (1/3)

• Misura

– Variabile cui viene assegnato un valore a seguito di una misurazione

• Misura base

– Una misura funzionalmente indipendente da altre

• Misura derivata

– Una trasformazione di una misura base effettuata utilizzando unafunzione matematica

• Indicatore

– Misura che può essere usata per stimare o prevedere un’altra misura

QPsw 05FTM.14

Terminologia base (2/3)

• Metodo di misurazione– Sequenza logica di operazioni effettuate per assegnare un valore

quantitativo ad una variabile che descrive un attributo, rispetto ad una scala di riferimento

• Metodo di valutazione– Una procedura che descrive le azioni da compiere al fine di utilizzare

delle misure per esprimere un giudizio

• Validazione– Conferma, attraverso la presentazione di una evidenza oggettiva, che

un requisito è stato rispettato nel prodotto

– La validazione può riguardare output della fase di progettazione (ad es. disegni tecnici, schemi di basi di dati) così come della fase di sviluppo (ad es. codice sorgente, manuali d’uso), in vari stadi di lavorazione

Page 8: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.15

Terminologia base (3/3)• Verifica

– Conferma, attraverso la presentazione di una evidenza oggettiva, che una attività è eseguita correttamente

• Rating– Metodo per mappare un valore misurato su una scala di valutazione

(ad es. “tempo di risposta” < 1 sec = “buono”)

• Scala di misura– Un insieme ordinato di valori, continui o discreti, od un insieme di

categorie, rispetto ai quali è mappato un attributo

QPsw 05FTM.16

Definizione di scala di misura

• Si definisce scala di misura l’insieme di: – un sistema di relazioni empiriche S

• A è più alto di B

– un sistema di relazioni numeriche R• 180 cm > 160 cm

– un mapping tra S ed R• A è più alto di B di 20 cm

– Poiché il numero di possibili insiemi di relazioni empiriche e numeriche è pressoché infinito, infinite sono le scale di misura utilizzabili

– Nella pratica• Nominale

• Ordinale

• Intervalli

• Razionale

• Assoluta

Page 9: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.17

Scale di una misura(1)

• Scala Nominale - Insieme predefinito non ordinato di valori distinti– esempio: possibili tipi di errori di programmazione (di sintassi, semantici

etc. senza definire una gerarchia di gravità degli errori)

– operatori ammisibili { = , !=}

– Se si utilizza questo tipo di scala, calcolare valori medi ha significato solo se si vuole verificare la frequenza con cui certe misure sicollocano in date classi. Altre operazioni tra le misure non hanno significato

QPsw 05FTM.18

Scale di una misura(2)• Scala Ordinale - Insieme predefinito ordinato (ordinamento totale) di valori

distinti– esempio: livelli CMM

– operatori ammissibili { = , !=, >, < }

– N.B. NON è possibile confrontare l'entità delle differenze: il livello 3 CMM èmaggiore del livello 2 ma non è noto DI QUANTO

– N.B. NON è possibile fare paragoni: non è possibile dire che la differenzatra 1 e 2 è la stessa che esiste tra 3 e 4

– In alcuni casi (scale di Likert) è assunta l'ipotesi di equidistanza per fare la media tra valori differenti. ATTENZIONE alle conseguenze:

• Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito perfettamente , 2-complicazioni lievi, 3-complicazioni medie, 4-complicazioni gravi, 5-morto)

– 50 guariti perfettamente e 50 morti ---> complicazioni medie...

– Se si utilizza questo tipo di scala, calcolare la mediana ha significato solo se si vuole verificare la frequenza con cui certe misure si collocano in date classi. Altre operazioni possibili sono la determinazione di "maggiore di" o "minore di", l’uguaglianza, il calcolo dei percentili

Page 10: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.19

Scala di una misura(3)• Scala per Intervalli - In questo caso è nota la differenza esatta tra due

valori– esempio: temperatura in gradi (C o F)

– richiede una definizione PRECISA dell'unità di misura adoperata

– valori interi o reali

– operatori ammissibili { = , !=, < , >, +, - }

– N.B. La presenza di uno zero arbitrario NON autorizza a fare ipotesi dirapporti: posso dire che tra 80°F e 20° F ci sono 60° di differenza, NON che 80°F è 4 volte più caldo di 20°F

– Possono essere fatti confronti (=, !=, >, <) operazioni di addizione e sottrazione tra le misure. Si possono calcolare la media aritmetica, la deviazione standard.

QPsw 05FTM.20

Scala di una misura(4)• Scala Razionale o a rapporti - Scala per intervalli in cui è definito in

modo non arbitrario uno zero– esempio: temperatura in gradi Kelvin (zero assoluto!)

– operatori ammissibili { = , !=, < , >, +, -, x, /}

– 90°K è 3 volte maggiore di 30°K

• Tranne pochi casi, tutte le scale per intervalli sono scale razionali

• Si possono effettuare confronti, addizioni, sottrazioni, moltiplicazioni e divisioni tra misure. Si possono calcolare la media armonica e geometrica, la variazione percentuale, l'indice di correlazione.

• Ovviamente valgono le seguenti relazioni ISA:

• S. Razionale -> S. Intervalli -> S. Ordinale-> S. Nominale

• Scala Assoluta - In questa scala si contano le occorrenze effettive delle entità.

– Ad esempio, le LOC che costituiscono un programma.

Page 11: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.21

Scelta della scala di misura

• La scelta della scala dipende dall'attributo che si vuole misurare. La scala scelta deve corrispondere ad un effettivo sistema di relazioni valido per l'attributo. I valori numerici associati alle misurazioni dell’attributo devono corrispondere ad effettive relazioni empiriche fra le entità misurate

• Ad esempio, se per un determinato prodotto non è possibile stabilire che è "affidabile" in maniera esattamente doppia o tripla etc.. di unaltro, non ha senso utilizzare una scala diversa da quella nominale od ordinale

QPsw 05FTM.22

Sinottico scale di misura (1)

TIPO DISCALA

TRASFORMAZIONIAMMISSIBILI

OPERAZIONIEMPIRICHE DI

BASE

ALCUNI INDICISTATISTICI

APPROPRIATI

TESTSTATISTICI

APPROPRIATI

ESEMPI

NOMINALE

qualsiasitrasformazione uno-a-uno

determinazione diuguaglianza

ModaFrequenza

non parametricoetichettareclassificare entità

ORDINALE

M(x)>M(Y) implicache M’(x)>M’(Y)[funzione crescentestrettamentemonotona]

come laprecedente, più ladeterminazione di“maggiore di” e“minore di”

MedianaPercentiliSpearman rKendall WKendall T

non parametricopreferenzaordinamento di entità

INTERVALLARE

M’=aM+n(a>0)[trasformata linearepositiva]

come laprecedente, piùaddizioni esottrazioni

Media AritmeticaDeviazione standardCorrelazione PearsonCorrelazione multipla

non parametrico

temperature in gradiFahrenheit o Celsiusdate di calendarioorario

RATIO

(DI RAPPORTI)

M’=aM (a>0)[trasformazione disimilarità]

come laprecedente, piùmoltiplicazioni edivisioni

Media GeometricaMedia ArmonicaCoefficiente divariazioneVariazionepercentualeIndice di correlazione

non parametricoe parametrico

intervalli di tempotemperature Kelvinlunghezze

ASSOLUTAM’=M[identità]

conteggio di entità

Page 12: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.23

Sinottico scale di misura (2)

QPsw 05FTM.24

Tipi di misura

Page 13: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.25

Tipi di misura: rapporti e proporzioni• Rapporto - Risultato di una divisione tra due valori che vengono da due

dominii distinti e mutuamente esclusivi. Il risultato della divisione èmoltiplicato per 100

– esempio: (numero maschi/numero femmine) x 100

– può assumere valori sotto e sopra il 100

– esempio sw: linee di commento/linee di codice

• Proporzione - Risultato di una divisione tra due valori in cui il dividendocontribuisce al valore del divisore, e.g., a/(a+b)

– esempio: numero utenti soddisfatti/numero utenti

– assume valori compresi tra 0 ed 1

– spesso il denominatore è composto da vari elementi per i quali sicalcolano le varie proporzioni:

• a+b+c=N ; a/N + b/N + c/N =1

– una Frazione è una proporzione tra reali

QPsw 05FTM.26

Tipi di misura: percentuale• Percentuale - Una proporzione o frazione espressa normalizzando il

denominatore a 100. – esempio: i difetti presenti nei requisiti erano il 15%, nel progetto il 25%,

nella codifica il 60%

– la percentuale va usata con criterio, indicando i valori coinvolti ed evitandone l'uso quando gli elementi sono meno di 30-50 (da la falsaimpressione di una grossa quantità di dati)

– esempio: dei difetti presenti nel progetto il 25% era nei requisiti, il 15% nel progetto ed il 60% nella codifica

– esempio: i difetti presenti nel progetto erano 20, di cui 5 nei requisiti, 3nel progetto e 12 nella codifica

Page 14: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.27

Tipi di misura: andamento

• Andamento (rate) - Indica, al contrario di rapporti, proporzioni e percentuali, un valore associato alla dinamica di un fenomeno. Tipicamente (ma non sempre) è la misura del cambiamento di una quantità (y) rispetto all'unità diun'altra quantità (x) da cui dipende. Quasi sempre x è il tempo.

• esempio: negli studi demografici si parla andamento approssimato (crude) delle nascite in un certo anno calcolandolo con la seguente formula:

(N/P)*k

N=nascite nell'anno osservato

P= popolazione (calcolata a metà dell'anno)

k=costante, tipicamente 1000

QPsw 05FTM.28

Tipi di misura: andamento• è presente il concetto di "esposizione al rischio", ovvero il fatto che gli elementi del

denominatore possono "diventare" o "produrre" elementi nel numeratore

• considerando tale fattore, la formula di prima può essere migliorata sostituendo a P P' il numero delle donne tra i 15 e 44 anni (andamento della fertilità):

(N/P')*k

• andamento dei difetti=(D/OFE) *k dove – D=difetti osservati nel periodo di rifermento e

– OFE =Opportunities For Error: possibili punti in cui possono essere "generati" errori

• esempio sw: andamento dei difetti: (D/KLOC)* 1000 dove

• D=difetti osservati nel periodo di rifermento (anno, mese)

• N.B. è un andamento "crude" perchè le KLOC non concidono direttamente con le OFE in quanto a volte un errore coinvolge più linee di codice (o una linea dicodice genera + errori)

Page 15: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.29

Richiami di statistica descrittiva

• Data una popolazione di N elementi noti su cui si effettua una misura (e.g., l'età degli studenti di questo corso) {x1,...,xn}, si definiscono i seguentiparametri:

• media m= (x1+ x2+... +xn)/N

• varianza var=[(x1-m)2+ (x2-m)2 +...(xn-m)2]/N

• deviazione standard σ=var1/2

• spesso la varianza si indica con σ2

QPsw 05FTM.30

Ulteriore caratterizzazione dei dati raccolti

• Mediana

• Moda

• Calcolo Percentili (Quartili)

• Distribuzione di frequenza

Page 16: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.31

Calcolo dei percentili• I percentili sono quegli elementi che dividono una distribuzione

ordinata in parti uguali, ciascuna delle quali contiene l'x per cento della distribuzione. Se dividiamo la distribuzione ordinata in 10 parti di uguale numerosità, ciascun elemento (modalità) separatore si chiamerà decile.

• Il primo decile divide in due parti la distribuzione ed è rappresentato dall'elemento che lascia alla sua sinistra il 10 per cento delle unità del collettivo con modalità più piccole o uguali e alla sua destra il 90 per cento delle unità che presentano modalità più grandi. Il secondo decile divide la distribuzione in due parti con il 20 per cento e l'80 per cento rispettivamente, e così via.

QPsw 05FTM.32

Calcolo percentili (quartili)• I percentili usati più frequentemente sono i quartili che dividono in

quattro parti di uguale ampiezza (quarti) la distribuzione ordinata:

• il primo quartile lascia prima di sé il 25 per cento delle unità che hanno modalità inferiori e dopo di sé il 75 per cento di unità con modalitàsuperiori. Si indica con Q1;

• il secondo quartile corrisponde alla mediana e divide la distribuzione in due parti uguali, lasciando prima di sé il 50 per cento di unità con modalità più piccole. Può essere indicato, oltre che con Me, anche con Q2;

• il terzo quartile, Q3, è quella modalità che divide in due parti la distribuzione ordinata, lasciando prima di sé il 75 per cento delle unitàche presentano modalità inferiori

Page 17: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.33

Mediana (Me) / Moda ( o norma)• La mediana di una variabile - precedentemente definita come

secondo quartile - è il valore dell’unità che si trova a metà della distribuzione ordinata, in modo che il 50 per cento dell’insieme di osservazioni abbia un valore della variabile uguale o inferiore a esso e il restante 50 per cento un valore superiore.

• Per calcolare la mediana è necessario che la scala utilizzata variabile sia almeno ordinale.

• Spesso la media e la mediana presentano valori simili. Ciò accade in particolare quando la distribuzione della variabile èsimmetrica, cioè quando il numero di valori al di sotto del valore centrale e quelli al di sopra più o meno si equivalgono

• La moda corrisponde al valore della distribuzione che si presenta più frequentemente

• Una distribuzione si dice unimodale se un solo valore presenta questa caratteristica, multimodale altrimenti

QPsw 05FTM.34

Distribuzione frequenza• Si ottiene praticamente ordinando i valori trovati ed indicando, per

ciascuno di essi, la relativa frequenza.

tipicamente gli N elementi si distribuiscono secondo una distribuzione normale (o gaussiana)

l'analisi delle tecniche di stima della distribuzione di un campione va oltre

gli scopi di questo corso

Page 18: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.35

Distribuzione normale

è usuale centrare la gaussianasull'asse Y ponendo X=X-m

P

μμ+1.96σ

68.26% dei dati

95% dei dati

μ+σμ-σμ-1.96σ X

f(x)=ae-(x-b)2/c2

QPsw 05FTM.36

Alcuni esempi di distribuzione normale

Page 19: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.37

Un indice di qualità stringente: le sei σ• Nel 1980 la Motorola introdusse uno specifico andamento dei difetti

pari a 3.4 parti difettose su un milione (3.4 ppm), valore che provieneconsiderando l'area di una distribuzione normale (gaussiana) calcolatasu una base pari a 12 volte il valore della deviazione standard σ e tenendo conto delle oscillazioni del processo produttivo pari a 1.5 σ.

0.001 ppm0.001 ppm

QPsw 05FTM.38

Oscillazioni di 1.5 σ

Stringente mapossibile

Ideale

Page 20: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.39

le sei σ nel software

• Applicata al sw la regola delle 6 σ corrisponde a un andamento dei difetti paria 3.4 difetti per milione di linee di codice per l'intero periodo di esercizio del sw...

• Le 6 σ sono nate con l'idea di confrontare più facilmente prodotti ed organizzazioni. Questa idea può essere contrastata dalle differenti definizionioperative adottate da varie organizzazioni.

• Per il sw:– modo di contare le LOC

– linguaggio utilizzato (Motorola propone l'assembler)

QPsw 05FTM.40

Esercizio sulla caratterizzazione statistica di un insieme di dati

Page 21: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.41

Grandezze di riferimento• Sia dato un multi-insieme di N valori appartenenti ad una scala

almeno ordinale

• Sia x1 .. XN un ordinamento parziale di tali valori

• Per caratterizzare i dati in questione occorre calcolare:

1. la media μ2. la deviazione standard σ e la varianza σ2

3. il valore massimo ed il valore minimo x1 ed xN

4. la mediana Me (Q2)

5. il primo ed il terzo quartile Q1 e Q3

6. la moda

7. la distribuzione di frequenza

N.B. Tutte queste grandezze sono facilmente calcolabili con Excel

(occorre attivare l'insieme di funzioni statistiche: Tools/Add-ins/Analysis-ToolPak)

QPsw 05FTM.42

Media, deviazione standard, varianza emediana

• Media deviazione standard e varianza si calcolano banalmente– μ= (x1+ x2+... +xN)/N

– σ2=[(x1-m)2+ (x2-m)2 +...(xN-m)2]/N

– σ=( σ2)1/2

• Se i dati raccolti sono dispari la mediana corrisponde al numero che divide a metà l'elenco ordinato dei dati:

– 1 3 7 9 12 25 77 : Me = 9

• Se i dati raccolti sono pari la mediana corrisponde alla media dei due numeri centrali

– 1 3 7 9 12 25 77 99 : Me = (9+12)/2=10.5

Page 22: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.43

Calcolo del generico percentile• L’indice del k-esimo percentile è dato da: Ik = (N+1)×k /100

• Dall’indice si ricava quindi il valore esatto con un’interpolazione lineare tra i due dati (con indici pari all’intero prima e dopo di Ik )

• Esempio N=14 dati. Calcoliamo il 23-esimo precentile– I23 = (14+1)×23 /100 = 3.45

– Il valore del 23-esimo percentile sarà compreso tra il 3° ed il 4° dato (x3 e x4)

– Numericamente vale x3 + (x4 – x3) × 0.45 (interpolazione lineare)

• Alcuni programmi di calcolo si limitano ad effettuare la media tra i due dati adiacenti che comprendono il percentile considerato (Matlab). Anche Excel segue una sua logica personale...

– Con parecchi dati l'approssimazione introdotta è trascurabile

QPsw 05FTM.44

Esempio numericoDati i seguenti N=10 valori 7 7 10 15 23 27 29 35 47 99

calcolare il primo quartile, la mediana ed il terzo quartile.

• L’indice del primo quartile Q1 vale:

I25 = (10+1)×25 /100 = 2.75 --> Q1 cade tra il secondo ed il terzo valore

Quindi Q1= x2 + (x3 – x2) × 0.75 = 7+(10-7) × 0.75 =9.25

• La mediana Me (o Q2) è pari a (23+27)/2=25

• L’indice del terzo quartile Q3 vale:

I75 = (10+1)×75 /100 = 8.25 -> Q3 cade tra l'ottavo ed il nono valore

Quindi Q1= x8 + (x9 – x8) × 0.25 = 35+(47-35) × 0.25 =38

Page 23: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.45

Quartili e percentili con Excel

QPsw 05FTM.46

Rappresentazione grafica delle grandezze calcolate: Boxplot

Page 24: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.47

Boxplot con Excel(occorre una macro)

QPsw 05FTM.48

Distribuzione con Excel

Page 25: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.49

Un esempio interessante• ....

QPsw 05FTM.50

Qualità di una misura: Affidabilità

• Le misure, a loro volta, posseggono delle qualità che, in alcuni casi, èpossibile quantificare in modo formale.

• Affidabilità (reliability). L'affidabilità è relativa ai valori che si ottengonoeffettuando più volte la stessa misura. Se i valori ottenuti sono vicini tra loro la metrica è affidabile.

– Tipicamente si caratterizza questa qualità analizzando la varianza σ2 di misureripetute.

– Più piccolo è questo valore più la metrica è affidabile. Una possibile alternativaè l'indice di variazione che "normalizza" rispetto alla media: σ/media.

Page 26: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.51

Qualità di una misura(2)

• Validità (validity). La validità indica se la metrica misuraeffettivamente cosa vogliamo misurare. Per misure poco astratte(peso, volume) la validità coincide con l'accuratezza. Si noti che ancheper misure poco astratte i concetti di affidabilità e validità sonodifferenti: un orologio fermo è perfettamente affidabile ma ha unavalidità molto ridotta...

• Per concetti astratti la validità di una misura può essere moltocomplessa a valutarsi (e.g., la religiosità di una comunità misuratatramite le presenze in chiesa).

QPsw 05FTM.52

Affidabilità e validità di una misura

Affidabile ma non valida

Valida ma non affidabile

Affidabilee Valida

Page 27: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.53

Errori di misura (1)• l risultato di un’operazione di misura è un numero reale M che dovrebbe

catturare il valore vero T del fenomeno in esame

• L’esperienza indica che, se si eseguono più misurazioni di una stessa quantità, raramente le misure coincidono

– I valori misurati (M) sono in genere diversi dal vero valore T

• La differenza tra il valore misurato e quello vero è detta errore totale (ET)

M = T + ET

misuravalore vero

errore totale

QPsw 05FTM.54

Errori di misura (2)• La misurazione non consente di determinare con certezza il vero

valore della quantità misurata, ma produce stime la cui capacità di approssimare il vero valore (attendibilità) dipende dal metodo analitico e da come è stato eseguito il procedimento analitico.

– È necessario considerare la natura degli errori di misura

ET = Egrossolani + Esistematici + Ecasuali

Si prevengono con un’accorta organizzazione dell’analisi

Costituiscono oggetto tipico della metodologia statistica

Esistematici

Ecasuali

Influenzano la validità

Influenzano l’affidabilità

Page 28: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.55

Errori di misura (3)• Gli errori sistematici influenzano la validità e, come dice il nome, si

verificano in modo costante. Si pensi, per esempio, ad una bilancia per pesare le persone tarata male che aggiunge sistematicamente 1 kg al peso reale:

– misura= T + 1kg + variazione casuale ovvero M= T + Es + Ec• la misura non è valida

– se assumiamo che il termine Es non sia presente, ovvero che ci sianosolo errori casuali la formula vale:

– M= T + Ec

– se il termine Ec è relativo ad un fenomeno veramente casuale il suocontributo medio è nullo (valore atteso E(Ec)=0) e, quindi, la media diinfinite misure E(M)=T e quindi la misura è valida.

• una tipica tecnica che sfrutta questo principio è quella di ripetere la misuraN volte e farne la media

QPsw 05FTM.56

Errori di misura(4)• Qual'è l'effetto di un errore casuale e sull' affidabilità? Intuitivamente

più e è piccolo meno influisce. In formule:

M = T + Ec e quindi var(M)= var(T) + var(Ec)

• si definisce formalmente l'affidabilità di una misura come il rapporto trala varianza della quantità misurata e la varianza della misura:

ρm=var(T)/var(M) = [var(M)-var(Ec)]/var(M)= 1- [var(Ec)/var(M)]

• Utilizzando questa definizione, l'affidabilità oscilla tra 1 e 0

• Riassumendo– Gli errori sistematici influenzano la validità

– Gli errori casuali influenzano l'affidabilità

Page 29: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.57

Valutare l'affidabilità• Ci sono vari modi per valutare l'affidabilità definita come var(T)/var(M)

• Uno dei metodi più adatti al contesto del sw è quello del doppio test

• L'idea è quella di effettuare più volte una doppia misura

M1 = T + Ec1

M2 = T + Ec2

• e poi di effettuare la correlazione tra le varie misure ottenendo propriol'affidabilità

• ρm = Correlazione(M1,M2)=var(T)/var(M)

• Ovviamente le attività di misura automatiche hanno affidabilità pari ad 1 ed il metodo del doppio test ha senso su attività manuali tipo ispezioni.

• Ad esempio è possibile fare eseguire la stesse attività di ispezione a due persone, e.g., contare le deviazioni dallo standard della stessa classe Java. Se questa attività viene ripetuta più volte è possibile calcolarel'affidabilità del processo ispettivo.

QPsw 05FTM.58

Correlazione• Indica l'esistenza o meno di una relazione tra due variabili

• La più nota è la correlazione di Pearson che varia da -1 (correlazionenegativa) a +1 (correlazione postiva)

• Valida solo per relazioni lineari

Page 30: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.59

Esempi

+1 -1 0

M1 M1M1

M2M2 M2

QPsw 05FTM.60

Correlazione con Excel

Page 31: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.61

Statistica inferenziale

QPsw 05FTM.62

Grandezze di interesse

• Si vuole analizzare una popolazione di M elementi (M non è noto) tramite un campione di N elementi {x1,...,xn}, e si definiscono i seguenti parametri:

• media (campionaria) m = (x1+ x2+... +xN)/N

• varianza (campionaria) var=[(x1-m)2+ (x2-m)2 +...(xN-m)2]/(N-1)

• deviazione standard (campionaria) σ=var1/2

• percentili / mediana / moda /

• i parametri in questione sono variabili casuali, il cui valore dipende dalla casualità del campionamento

• tipicamente (auspicabilmente) gli elementi del campione sidistribuiscono secondo una distribuzione normale (o gaussiana) e questo permette di effettuare delle stime

– o, se così non è, si assume che lo sia....

– analisi Montecarlo...

Page 32: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.63

Qual'è il problema?• Stiamo lavorando con qualla che viene chiamata statistica inferenziale

(vs descrittiva) ovvero stiamo cercando di inferire delle proprietàusando un campione dei dati.

• La caratterizzazione statistica del nostro campione (in particolare la media) differisce da quella dei dati reali

• All'aumentare della dimensione del campione la differenza tende a diminuire

• Ma come varia questa differenza?

• La statistica inferenziale permette di stimare (probabilisticamente) l'errore commesso

QPsw 05FTM.64

Intervallo di confidenza• Sotto l'assunzione di distribuzione normale è possibile stimare la

probabilità che la media di un campione di dimensione N si discosti piùdi una certa quantità dalla media "vera"

• Lo scarto è legato alla probabilità di errore che siamo disposti a sopportare ed è direttamente proporzionale alla deviazione standard del campione ed inversamente proporzionale al numero di campioniN1/2

• Un parametro di riferimento tipico è il 95% e le formule ci dicono chenel 95% dei casi un campione mostrerà uno scostamento dalla media "vera" inferiore a:

– 2.77*σ/N1/2 per N=5– 2.26*σ/N1/2 per N=10– 2.09*σ/N1/2 per N=40– 1.96*σ/N1/2 per N "grande" (Unica implementata da Excel)

• N.B. Per dimezzare l'intervallo di confidenza occorre quadriplicare ilnumero dei campioni

Page 33: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.65

Intervallo di confidenza

95%dei dati

m-1.96 σ m+1.96 σm

1.96*σ/N1/2 per N "grande"

Possiamo diminuire od aumentare la probabilità di errore

(usando formule con parametri diversi)

L'intervallo di confidenza varia in modo inverso:

probabilità di errore più bassa: intervallo di confidenza più grande

QPsw 05FTM.66

Esempio• Raccolgo 10 voti 26, 21, 29, 26, 21, 28, 27, 26, 29, 27

• m= 26

• σ= 2.87

• 2.26*σ/101/2 =2.05

• quindi la media vera (26.29), al 95%, cade nell'intervallo [26-2.05, 26+2.05] = [23.95, 28.05]

• Se prendo 20 voti

• m= 26.75

• σ= 3.02

• 2.26*σ/201/2 =1.41

• quindi la media vera (26.29), al 95%, cade nell'intervallo [26.75-1.41, 26.75+1.41] = [25.34, 28.16]

Page 34: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.67

Verifica d'ipotesi

QPsw 05FTM.68

• Molto spesso nell’ambito della ricerca sperimentale è necessario confrontare tra loro serie di misure ripetute (es. confronto di risultati di due o più metodi)

– Il confronto può essere condotto mediante appropriati test statistici

– I test statistici consistono nel mettere alla prova l’ipotesi che certi parametri delle popolazioni (es. medie ) siano uguali

– l'ipotesi che le medie "vere" siano tutte uguali (e quindi che le differenze osservate siano casuali) è detta ipotesi nulla

– Il test viene condotto fissando a priori la probabilità di errore che potenzialmente può essere commesso (α)

Verifica d’ipotesi(1)

Page 35: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.69

Verifica d’ipotesi(2)

• Un’ipotesi statistica è una asserzione o supposizione sulla distribuzione di una o più variabili casuali e si indica con la lettera H

• Il test può essere ricondotto alla seguente domanda:– presi due campioni della stessa misura , Ca e Cb, con che probabilità posso

affermare che appartengono alla stessa popolazione ?

• Generalmente si mettono a confronto due ipotesi, contrarie tra loro:– Ipotesi H0 (IPOTESI NULLA). Costituisce l’oggetto della verifica: specifica i

valori dei parametri della popolazione da cui si suppone provenga il campione in esame

H0: Θa = Θb

• Dove Θ indica il parametro di interesse (generalmente la media)

– Ipotesi H1 (IPOTESI ALTERNATIVA). Contraria alla precedente

H1: Θa != Θb

• Il tutto sempre condizionato ad una certa probabilità di errore (α)

• Il tipico valore di soglia è α=0.05:– α > 0.05 -> scegliamo H0

– α <=0.05 -> scegliamo H1

QPsw 05FTM.70

Esempio (1)• Supponiamo di aver sviluppato due interfacce per la stessa

applicazione e vogliamo capire quale delle due riscuota la maggiore soddisfazione da parte degli utenti

• Intervistiamo 7 utenti che hanno utilizzato il prototipo Pa e 7 utenti che hanno usato il prototipo Pb

• Analizziamo in quest’esempio le risposte alla domanda che indaga la soddisfazione del cliente

– le risposte ammissibili sono valori da 1 a 6 dove 1 indica un basso grado di soddisfazione e sei un alto grado di soddisfazione (N.B. NON è una scala di Likert, ma è un voto: è almeno una scala a intervalli)

• Nella tabella che segue sono riportate le risposte ottenute con le due indagini

286,37/)2661161(. =++++++=aμ

143,37/)1426135(. =++++++=bμ

Page 36: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.71

Esempio(2)• La differenza osservata è reale ?

{H0: (ipotesi nulla): μa=μb

H1: (altra ipotesi): μa≠μb

SE È VERA H0 SE È VERA H1

... e in base al decisione decisionecampione giusta sbagliatadecido che protezione: errore di tipo II:è vera H0 (1-α) β

... e in base al decisione decisionecampione sbagliata giustadecido che errore di tipo I: potenza:è vera H1 α (1-β)

Protezione (1-α):probabilità di accettare H0 quando è vera H0

Potenza del test (1-β):probabilità di rifiutare H0 quando è vera una specifica H1

Rischio di errore di tipo I (α):probabilità di rifiutare H0 quando è vera H0

Rischio di errore di tipo II (β):probabilità di accettare H0 quando è vera una specifica H1

QPsw 05FTM.72

Confronto tra due campioni

• Se i campioni da confrontare sono due possiamo utilizzare l'intervallodi confidenza

cm1

cm2

cm1

cm2

cm1

cm2

due medie due intervalli di confidenzache potenzialmente sottointendono

una media comune

due intervalli di confidenzache potenzialmente

NON sottointendonouna media comune

Page 37: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.73

t-test

• La tecnica è nota con il nome di t-test, confrontando la differenza delle medie con la dispersione dei dati (espressa tramite la deviazione standard)

126,0||22

=+

−=

n

tba

ba

σσ

μμ

• Il valore trovato si confronta con la distribuzione di t, tipicamente espressa tramite una tabella che indica la probabilità α che la differenza delle medie sia casuale

QPsw 05FTM.74

Tabella t-test 0.10 0.05 0.025 0.01 0.005 0.001

1. 3.078 6.314 12.706 31.821 63.657 318.313 2. 1.886 2.920 4.303 6.965 9.925 22.327 3. 1.638 2.353 3.182 4.541 5.841 10.215 4. 1.533 2.132 2.776 3.747 4.604 7.173 5. 1.476 2.015 2.571 3.365 4.032 5.893 6. 1.440 1.943 2.447 3.143 3.707 5.208 7. 1.415 1.895 2.365 2.998 3.499 4.782 8. 1.397 1.860 2.306 2.896 3.355 4.499 9. 1.383 1.833 2.262 2.821 3.250 4.296 10. 1.372 1.812 2.228 2.764 3.169 4.143 11. 1.363 1.796 2.201 2.718 3.106 4.024 12. 1.356 1.782 2.179 2.681 3.055 3.929 13. 1.350 1.771 2.160 2.650 3.012 3.852 14. 1.345 1.761 2.145 2.624 2.977 3.787 15. 1.341 1.753 2.131 2.602 2.947 3.733 16. 1.337 1.746 2.120 2.583 2.921 3.686

Distribuzione di t per 10 gradi

di libertà

Si distinguono i casi a due code (α/2)

da i casi ad una coda (α)

...

t

α

Page 38: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.75

Tabella t-test

• Si calcolano i gradi di libertà: 7+7-2=12 e si cerca nella riga corrispondente il valore corrispondente alla probabilità a che ci interessa (α/2 nel caso di due code), ovvero 0.025-->2.179

• Il t trovato, 0.126 NON è maggior di 2.179 quindi α è più grande di 0.05 e dobbiamo scegliere l'ipotesi nulla

0.10 0.05 0.025 0.01 0.005 0.001

1. 3.078 6.314 12.706 31.821 63.657 318.313 2. 1.886 2.920 4.303 6.965 9.925 22.327 3. 1.638 2.353 3.182 4.541 5.841 10.215 4. 1.533 2.132 2.776 3.747 4.604 7.173 5. 1.476 2.015 2.571 3.365 4.032 5.893 6. 1.440 1.943 2.447 3.143 3.707 5.208 7. 1.415 1.895 2.365 2.998 3.499 4.782 8. 1.397 1.860 2.306 2.896 3.355 4.499 9. 1.383 1.833 2.262 2.821 3.250 4.296 10. 1.372 1.812 2.228 2.764 3.169 4.143 11. 1.363 1.796 2.201 2.718 3.106 4.024 12. 1.356 1.782 2.179 2.681 3.055 3.929 13. 1.350 1.771 2.160 2.650 3.012 3.852 14. 1.345 1.761 2.145 2.624 2.977 3.787 15. 1.341 1.753 2.131 2.602 2.947 3.733 16. 1.337 1.746 2.120 2.583 2.921 3.686

126,0||22

=+

−=

n

tba

ba

σσ

μμ

286,37/)2661161(. =++++++=aμ

143,37/)2425135(. =++++++=bμ

QPsw 05FTM.76

T-test con Excel

Page 39: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.77

Altro esempio

714,37/)3444443(. =++++++=aμ

143,37/)3433333(. =++++++=bμ

449,2||22

=+

−=

n

tba

ba

σσ

μμ

QPsw 05FTM.78

Tabella t-test 0.10 0.05 0.025 0.01 0.005 0.001

1. 3.078 6.314 12.706 31.821 63.657 318.313 2. 1.886 2.920 4.303 6.965 9.925 22.327 3. 1.638 2.353 3.182 4.541 5.841 10.215 4. 1.533 2.132 2.776 3.747 4.604 7.173 5. 1.476 2.015 2.571 3.365 4.032 5.893 6. 1.440 1.943 2.447 3.143 3.707 5.208 7. 1.415 1.895 2.365 2.998 3.499 4.782 8. 1.397 1.860 2.306 2.896 3.355 4.499 9. 1.383 1.833 2.262 2.821 3.250 4.296 10. 1.372 1.812 2.228 2.764 3.169 4.143 11. 1.363 1.796 2.201 2.718 3.106 4.024 12. 1.356 1.782 2.179 2.681 3.055 3.929 13. 1.350 1.771 2.160 2.650 3.012 3.852 14. 1.345 1.761 2.145 2.624 2.977 3.787 15. 1.341 1.753 2.131 2.602 2.947 3.733 16. 1.337 1.746 2.120 2.583 2.921 3.686

714,37/)3444443(. =++++++=aμ

143,37/)3433333(. =++++++=bμ

449,2||22

=+

−=

n

tba

ba

σσ

μμ

• Si calcolano i gradi di libertà: 7+7-2=12 e si cerca nella riga corrispondente il valore corrispondente alla probabilità a che ci interessa (α/2 nel caso di due code), ovvero 0.025-->2.179

• Il t trovato, 2.449 é maggior di 2.179 quindi α è più piccolo di 0.05 e possiamo scartare l'ipotesi nulla

Page 40: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.79

T-test con Excel

QPsw 05FTM.80

Valori comuni di α (p-value)

• Un α pari a 0.05 ci dice che c'è la possibilità del 5% che la differenza di media trovata

• 0.05 è considerato un valore di confine ed in letteratura si comincia a prendere in considerazione la validità di una analisi per p<=0.01. Se p<=0.005 l'analisi è classificata statisticamente significativa e per p<=0.001 altamente significativa

• Ovviamente sono solo valori arbitrari, anche se largamente utilizzati

Page 41: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.81

Quindi

• Se decido di scegliere H1 ho una probabilità di errore pari ad α

• Se decido di scegliere H0 ho una probabilità di errore pari a (1-α)

QPsw 05FTM.82

E se ho più di 2 campioni ?

• se si effettuano tre n*(n-1)/2 t-test con α=0.05 la probabilità di trovare tre differenze è 0.95x0.95x0.95= 0.86

• con n=5 sono necessari 10 confronti....

• In generale per n>2 campioni su utilizza una tecnica di analisi della varianza (ANOVA) concettualmente simile al ttest ma che prende in considerazione tutte le medie insieme

Page 42: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.83Analisi statistica dei dati

ANalysisOfVAriance

• L’analisi della varianza (ANOVA) è un test statistico per la verifica d’ipotesi

• L’ANOVA è un insieme di tecniche statistiche facenti parte della statistica inferenziale che permettono di confrontare due o più gruppi di dati confrontando la variabilità interna a questi gruppi con la variabilità tra gruppi

• L’ipotesi nulla solitamente prevede che i dati di tutti i gruppi abbiano la stessa origine, ovvero la stessa distribuzione stocastica, e che le differenze osservate tra i gruppi siano dovute solo al caso

• Il confronto si basa sull’idea che se la variabilità interna ai gruppi è relativamente elevata rispetto alla variabilità tra i gruppi, allora probabilmente la differenza tra questi gruppi èsoltanto il risultato della variabilità interna.

• Il più noto insieme di tecniche si basa sul confronto della varianza e usa variabili di test distribuite come la variabile casuale F di Snedecor

• Nota Bene: t-test ed Anova su due gruppi sono perfettamente equivalenti

QPsw 05FTM.84Analisi statistica dei dati

Come funziona

• Qual è la logica dell’ANOVA?

• quali ipotesi sono sottoposte a verifica e quale ragionamento porta all’accettazione o al rifiuto di esse?

Nell’ANOVA le ipotesi sono:

H0: μ1 = μ2 =…μK

H1: almeno 2 delle medie sono differenti

Page 43: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.85

Come funziona

• Per confrontare i risultati dei diversi esperimenti (es. per controllare l’effetto dei diversi livelli di controllo del sw, ossia per testare la differenza tra le medie dei gruppi sottoposti ai diversi livelli di controllo), separiamo la variabilitàcomplessiva della variabile dipendente in due fonti di variabilità:

• Varianza Between (VarB): attribuibile alla varianza tra gruppi

• Varianza Within (VarW): residua all’interno dei gruppi, varianza entro i gruppi

Dal confronto delle due varianze possiamo decidere se le differenze osservate nei diversi esperimenti sono significative, ossia se rappresentano effettivamente due popolazioni differenti (es. i controlli diversi hanno avuto effetto oppure no) oppure sono una manifestazione casuale

NB: lavoriamo sulla scomposizione della varianza, ma stiamo facendo inferenza sulle medie

QPsw 05FTM.86

Come funziona

• L’ANOVA, si applica nel caso si vogliano confrontare gli effetti medi di una variabile su I campioni distinti: {C1,…,CI }.

• Ciascun campione è assunto avere lo stesso numero J di soggetti (ma non èobbligatorio)

Yij è la j-esima osservazione sull’ i-esimo campione

Dove:

II

ii /)(

1∑

=

= μμ

JYJ

jiji /)(

1∑

=

=μ− Media del campione i :

− media generale:

Page 44: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.87

Come funziona

IDENTITA’ PRINCIPALE DELL’ANOVA (somma dei quadrati)

SS totale = SSW + SSBOvvero:

Dove:

∑ ∑∑∑∑= ====

−+−=−J

j

I

iiiij

I

i

J

jij

I

i

JYY1 1

22

11

2

1

)()()( μμμμ

IJYI

iij

J

j

/)(1

∑ ∑=

∑∑==

−=J

jiij

I

iW YSS

1

2

1

)( μ

∑=

−=I

iiB JSS

1

2)( μμ

∑∑==

−=J

jij

I

iT YSS

1

2

1

)( μ

JYJ

jiji /)(

1∑

=

QPsw 05FTM.88

Test di Fisher

• Dalla teoria dei valori attesi si ricava:

~

• È stato dimostrato che questo test ha una distribuzione campionaria F di

Snedecor con (I-1) e (I(J-1)) gradi di libertà (F(I-1),(I(J-1)) )

• noti tali gradi di libertà (numeratore e denominatore) è possibile valutare la probabilità associata ai valori di F

• per un valore α (p-value) prefissato, solitamente α=0.05, questo test ci dice

quando l’ipotesi nulla è accettata ( F<F(I-1),(I(J-1)) ) e quando viene rifiutata ( F>

F(I-1),(I(J-1)) )

)]1(/[

)1/(

−−

=JISS

ISSF

W

B))1((,1 −− JIIF

Page 45: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.89

Test di Fisher

• Criterio decisionale:

⎪⎩

⎪⎨⎧

>

<==

−−

−−

)1(,1

)1(,1

0JII

JII

FFserifiuto

FFseaccettoH

QPsw 05FTM.90

Esempio

Page 46: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.91

Esempio (2 campioni per semplicità)

28,37/)2661161( =++++++=aμ14,37/)1426135( =++++++=bμ

21,314/)24251352661161( =+++++++++++++=μ

+−+−+−+−+−+−+−= 2222222 )28,32()28,36()28,36()28,31()28,31()28,36()28,31(WSS

0714,0])21,314,3()21,328,3[(7 22 =−+−=BSS

29,62)14,31()14,34()14,32()14,36()14,31()14,33()14,35( 2222222 =−+−+−+−+−+−+−+

01376,0)]17(2/[29,62

)12/(0714,0=

−−

=F 75,412,1 =F<<

Accetto Ho

QPsw 05FTM.92

Esempio con Excel

Analisi varianza: ad un fattore

RIEPILOGO

Gruppi Conteggio Somma Media Varianza

Colonna 1 7 23 3,285714 6,571429

Colonna 2 7 22 3,142857 3,809524

ANALISI VARIANZA

Origine della variazione SQ gdl MQ F Valore di significatività F crit

Tra gruppi 0,071429 1 0,071429 0,013761 0,908555546 4,747225

In gruppi 62,28571 12 5,190476

Totale 62,35714 13

Page 47: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.93

Analisi della varianza ANOVA sulla relazionelinee testate e andamento dei difetti

• Quasi sempre il tentativo di dimostrare una ipotesi si concretizza nelcercare una relazione tra due variabili: se modifico A allora B cambia (in un certo modo)

• Ad esempio: cerco di dimostrare che se aumento la proporzione KT dilinee di codice testate l'andamento dei difetti DR nel primo anno dopoil rilascio diminuisce

• proporzione KT=KLOC testate/KLOC (per comodità la esprimo come percentuale)

• andamento DR=(D/KLOC)*k (poniamo k=1)

QPsw 05FTM.94

Variabili dipendenti ed indipendenti

• In queste analisi si indicano col nome indipendenti le variabili chevengono manipolate per verificare una ipotesi e col nome dipendenti le variabili che vengono solo osservate e che dipendono (si spera) daquelle manipolate.

• Nel nostro esempio

• KT=variabile indipendente

• DR=variabile dipendente

Page 48: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.95

Il nostro insieme campione

• Assumiamo, per semplicità espositiva, che nella sw house osservata siconducano attività di test per tre differenti percentuali prefissate:

• 50 % 70% 90%

• e che, per ciascuna di esse, siano stati osservati per un anno 5 pacchetti software.

• Calcoliamo la media di DR ed otteniamo la seguente tabella

Anova ci permette di valutare la

probabilità che le medie siano

differenti per caso

QPsw 05FTM.96

AltamenteSignificativo

Page 49: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.97

Per nullaSignificativo

QPsw 05FTM.98

Post hoc test (1)• L'esperimento appena effettuato ci dice che i tre

campioni non appartengono alla stessa popolazione(ovvero che la probabilità che i tre campioniappartengano alla stessa popolazione èα=0.000166)

• Questo non implica che appartengono a trepopolazioni differenti! Ad esempio il gruppo al 70% ed il grupppo al 90% potrebbero avere la stessamedia...

• E' quindi necessario confrontare le singole coppien*(n-1)/2=3

• Il problema è stato analizzato negli ultimi 50 anni ed ancora manca una soluzione definitiva

Page 50: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.99

Post hoc test : Fisher protected test• E' il metodo più applicato e prevede di

utilizzare i test a coppie solo dopo cheanova ha confermato la significativitàdelle differenze

• Ad esempio1. 50, 70 e 90 non hanno la stessa

media (p=0.000166) Anova a 3

2. 50 e 70 hanno medie differenti(P1=0.012) Anova a 2 o t-test

3. 70 e 90 hanno medie differenti(P2=0.010) Anova a 2 o t-test

4. 50 e 90 hanno medie differenti(P3=0.00037) Anova a 2 o t-test

• In questo caso possiamo ancheaffermare che 50, 70 e 90 hanno le medie tutte differenti :

– (1-p1)(1-p2)(1-p3)=0.977 e

– P123=1-0.977=0.022

50-70

70-90

50-90

QPsw 05FTM.100

Esercitazione conclusiva su ANOVA

Page 51: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.101

Esperimento sul naming convenction

• Il sistema qualità della sw house Acme sta studiando l'influenza della naming convenction sulla leggibilità del codice con particolare attenzione alla fase di integrazione.

• In particolare, il sistema qualità ha messo a punto 3 differenti tecniche di naming convenction NC1, NC2, NC3 e vuole indagare se esista una relazione tra la tecnica adottata ed il numero di errori individuati in fase di test di integrazione

• Progetto di un esperimento per validare questa ipotesi.

QPsw 05FTM.102

Variabili dipendenti ed indipendentiStruttura dell'esperimento

• Variabile indipendente: tipo di naming convenction adottata

• Variabile dipendente: numero di errori trovati durante il test di integrazione per KLOC

• Le differenti tecniche di naming convenction vengono impegate in tre progetti simili (si cerca di eliminare l'influenza di altri fattori), A, B, C.

• I programmatori coinvolti nei progetti e la metodologia di gestione dei progetti sono simili.

• Durante la fase di integrazione si analizzano 6 classi del progetto A, sei del progetto B e sei del progetto C, ottenendo i seguenti valori:

– A (15, 14, 20, 22, 19, 20) media 18.3 var 9.9

– B (23, 25, 22, 28, 19, 20) media 22.8 var 11.0

– C (15, 16, 15, 18, 16, 22) media 17.0 var 7.2

Page 52: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.103

3 Ipotesi per applicare ANOVA• 1 ) Indipendenza

– k campioni presi in modo casuale da k popolazioni

• 2) Distribuzione normale– i k campioni presentano una distribuzione normale

– oppure la distribuzione di piccoli campioni è grossomodo simmetrica (boxplot)

– oppure campione grande (n>30) : teorema del limite centrale

– In alternativa: test non parametrici...

• 3) Stessa varianza– i k campioni presentano la stessa varianza

– Test di Levene (non in Excel!)

– oppure test empirco (Excel) rapp massimo 2

QPsw 05FTM.104

Distribuzione normale ?

Ragionevolmente simmetriche rispetto alla media

Page 53: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.105

Altrimenti : Teorema del limite centrale• Si consideri una successione di variabili casuali indipendenti e

identicamente distribuite, e in particolare tali che esistano, finiti, i loro momenti di ordine primo e secondo, e sia

• definita allora la nuova variabile casuale:

dove x è la media aritmetica degli xj, si ha che Sn converge a una variabile casuale normale avente valore atteso 0 e varianza 1

QPsw 05FTM.106

Assumiamo le ipotesi soddisfatte:Anova single factor

Ipotesi nulla Ho-> mediaA=mediaB=mediaCPossiamo rifiutare l'ipotesi nulla (P=0.00834)Qundi ALMENO una media è differente

Page 54: Giuseppe Santucci Qualità nella Produzione del Software 05 ...santucci/QPS/LUCIDI/05_FTM.pdf · • Scala di Likert a 5 valori sui risultati di una nuova terapia sperimentale: (1-guarito

QPsw 05FTM.107

Post hoc test : Fisher protected test• A valle di un test ANOVA che ha rifiutato l'ipotesi nulla possiamo

effettuare n(n-1) ttest

B>AB>Cmedia A = media BQuindi sicuramente possiamo scartare BNon siamo in grado di scegliere tra A e C