Introduzione alla Misurazione e il suo legame con la Qualità PDF
Document Details
![ConsummateDwarf5356](https://quizgecko.com/images/avatars/avatar-19.webp)
Uploaded by ConsummateDwarf5356
Tags
Related
- Simplified Guide for AEs: Software Engineering, DevOps, and Cybersecurity PDF
- original_1489125567_Chapter_1_Introduction_to_software_product_engineering.pdf
- Chapter 2: Software Engineering Lifecycle PDF
- Software Engineering.pdf
- Software Engineering 9th Edition PDF
- Introduzione alla Misurazione e il suo legame con la Qualità PDF
Summary
Questo documento tratta l'introduzione alla misurazione e il suo legame con la qualità nel contesto dell'ingegneria del software. Vengono esplorati i concetti chiave di misurazione, come definire entità e attributi, analizzando le scale di misurazione e le funzioni statistiche. L'obiettivo è fornire una comprensione dei processi di misurazione e di come questi contribuiscano alla qualità e al miglioramento nel campo dell'ingegneria del software.
Full Transcript
1 Introduzione alla Misurazione e il suo legame con la Qualità Approfondimenti: Fenton, “Software Metrics a rigorous and practical approach” Capitolo 1, 2, 3. Intro Misurazione Cosa si intende per Mis...
1 Introduzione alla Misurazione e il suo legame con la Qualità Approfondimenti: Fenton, “Software Metrics a rigorous and practical approach” Capitolo 1, 2, 3. Intro Misurazione Cosa si intende per Misurazione? … ð La Misurazione ci aiuta a comprendere il mondo, ad interagire con l’ambiente circostante e migliorare la nostra vita ð La misurazione dovrebbe essere una parte naturale delle attività di sviluppo e manutenzione del software ð Sviluppatori software: misurano le caratteristiche del software per capire se i requisiti sono coerenti e completi, il design è di alta qualità, il codice può essere testato; ð Project Manager: misurano il processo e gli attributi del prodotto per essere in grado di sapere quando il sw sarà pronto per la consegna; se il budget è stato superato; se il piano di progetto è rispettato; 2 Intro Misurazione … Cosa si intende per Misurazione? … q Clienti: misurano gli aspetti del prodotto finale per vedere se è conforme alle aspettative di qualità (ad es. Usabilità) e se sono soddisfatti i requisiti (fa quello che si prevede faccia) q Manutentori: valutano il prodotto finale per vedere cosa aggiornare e/o migliorare ðLa Misurazione è il processo attraverso cui numeri vengono assegnati ad entità del mondo reale in modo tale da determinarne il valore secondo regole chiaramente definite. 3 Intro Misurazione … Cosa si intende per Misurazione? … ðLa misurazione cattura informazione sugli attributi di entità q Entità: oggetto (eg. Persona in una stanza) o un evento (un viaggio o fase di test di un progetto sw) del mondo reale q Attributo: un aspetto o proprietà/caratteristica della entità (area o colore di una stanza; costo di un viaggio; elapsed time per la fase di test) ðMisurazione: descrive l’entità identificando le caratteristiche (attributi) che sono importanti per distinguere una entità da un’altra. 4 Intro Misurazione … Cosa si intende per Misurazione? … ð Quando definiamo entità attraverso gli attributi, questi sono definiti usando numeri e simboli q Price -> dollars, pounds, euro q Height -> inches, centimetres q Clothing size –> small, medium, large q Fuel -> regular, premium, super ð Numeri e simboli sono astrazioni che usiamo per rappresentare/riflettere le nostre percezioni del mondo reale ð Potremo trarre conclusioni su una entità (oggetto) basandoci sui valori dei suoi attributi (caratteristiche di qualità) 5 Intro Misurazione Rendere le cose Misurabili … “What is not measurable make measurable” Galileo Galilei ðLa misurazione rende i concetti più visibili e dunque più comprensibili e controllabili ðNelle scienze fisiche, mediche, economiche, ingegnerie materiali, la misurazione è una procedura radicata in tutti i processi q la misurazione di attributi quale la intelligenza umana, la qualità dell’aria, l’inflazione, influenzano le decisioni di tutti i giorni ðAttributi (caratteristiche di qualità) del software: affidabilità, usabilità, manutenibilità, vengono quantificati mediante specifici indicatori/metriche che consentono di misurarli 6 Intro Misurazione … Rendere le cose Misurabili … ð Due tipi di quantificazioni: q Misurazione: quantificazione diretta § Height of a tree, weight of a person, dimension of a software program in LOC q Calcolo: quantificazione indiretta. Si considerano le misure e le loro combinazioni in un elemento quantificato che riflette l’attributo il cui valore stiamo cercando di capire. La valutazione è una quantificazione, non una misurazione. § Average grade of a third year graduate student (formula) § Evaluation of a house from which to decide amount of tax owed (formula: nr of rooms, type of heating/cooling, floor space ….) 7 Intro Misurazione … Rendere le cose Misurabili … ð Calcolo e misurazione in software engineering -> punteggio complessivo basato su una serie di misure ciascuna delle quali cattura un aspetto di ciò che vogliamo misurare. q Cosa sta succedendo nel progetto software? Durante lo sviluppo? Durante la manutenzione? q Il prodotto del software è buono? inaccettabile? q In che misura una società di software è in grado di produrre un buon software? q In che misura un manager/modello è in grado di fare buone previsioni sul processo di sviluppo del software? Costi? Sforzo? ð Ingegneria del software è una disciplina uomocentrica, a differenza di altre discipline ingegneristiche che usano “sistematicamente” metodi basati su modelli e teorie q Eg. Ohms law for designing an electrical circuit 8 Intro Misurazione Misurazione in software engineering … ð Ingegneria del software descrive l’insieme delle tecniche che adottano un approccio ingegneristico per la costruzione e il supporto del software q Approccio Ingegneristico -> ogni attività è compresa e controllata così da ridurre sorprese man mano che il software è specificato, progettato, sviluppato e manutenuto ð Attività di Software Engineering includono q gestione, costi, pianificazione, modellazione, analisi, specifica, progettazione, implementazione, verifica e manutenzione. 9 Intro Misurazione … Misurazione in software engineering … “Projects without clear goals will not achieve their goals clearly” Tom Gilb 1988 ðLa misuraizone è spesso considerato un “lusso” nella software engineering. Non è applicato sistematicamente!!! ð Spesso falliamo ad impostare obiettivi/traguardi misurabili per i nostri prodotti software q Promettiamo che il prodotto avrà alcune caratteristiche come essere: facile da usare, affidabile, manutibile ma non specifichiamo chiaramente e oggettivamente COSA significano questi termini e COME vengono misurati. q Abbiamo raggiunto i nostri obiettivi? Non lo sappiamo !! ðSpesso fallaimo a comprendere e quantificare i costi che compongono un progetto software q Molti progetti non fanno distinzione tra tra costi di progettazione e costi di codifica o di test. Non possiamo controllare i costi se non conosciamo i costi relativi ai componenti del costo. q Stiamo spendendo troppo per una fase? Non lo sappiamo !! 10 Intro Misurazione … Misurazione in software engineering … ð Non quantifichiamo o prediciamo la qualità dei prodotti che produciamo q Impossibile dire a un potenziale utente quanto un prodotto sarà affidabile in termini di “probabilità che si verifichi un failure” in un dato periodo di utilizzo. § Quanto è buono il software in termini di caratteristica di qualità? Non lo sappiamo! ð Ci affidiamo ad evidenze aneodottiche per convincerci a provare nuove rivoluzionarie tecnologie di sviluppo, senza fare uno studio preliminare, accuratamente controllato, per determinare se la tecnologia è efficiente ed efficace q Materiali promozionali non supportati da EVIDENZE EMPIRICHE § stiamo facendo un buon investimento? Non lo sappiamo!! 11 Intro Misurazione … Misurazione in software engineering ð Nella maggior parte del casi, le misurazioni finiscono per essere: infrequenti, incoerenti, incomplete q Come possiamo utilizzare i risultati se non sappiamo come sono stati ottenuti? q Come possiamo applicare le misure se non conosciamo i loro dettagli § quali entità sono state misurate? quali sono i valori baseline? q Come possiamo fare uno studio oggettivo per ripetere le misurazioni in un altro ambiente? ð La mancanza di misurazione nella ingegneria del software è aggravato dalla mancanza di un approccio rigoroso 12 Intro Misurazione Obiettivi della misurazione del software “you can neither predict nor control what you cannot measure” Tom DeMarco 1982 ð La misurazione serve per valutare lo stato dei progetti, dei prodotti, dei processi e delle risorse. ð È importante misurare e registrare le caratteristiche di progetti buoni e cattivi al fine di interpretare i risultati, individuare i problemi, individuare e applicare azioni correttive e ottenere evidenze sui cambiamenti ð Dobbiamo controllare i nostri progetti non solo li eseguirli! 13 Intro Misurazione … Obiettivi della misurazione del software … ð Le iniziative di misurazione devono essere motivate da un determinato scopo o da una esigenza specifica ð Un obiettivo (measurement goal) deve essere specifico, legato a quello che gli stakeholder (manager, sviluppatori, utenti) devono sapere. ð Gli obiettivi possono differire in base agli stakeholders coinvolti, al livello di sviluppo e di utilizzo del software 14 Intro Misurazione Misurazione: prospettiva del Manager: ð Managers -> interesse su aspetti di costo/produttivitià q Quanto costa il processo di sviluppo? § misurare il tempo e l’effort coinvolti nei processi che comprendono la produzione di software (costo di elicitazione dei requisiti, progettazione del sistema, test...) – Comprendere (visione complessiva) l'intero progetto E come ciascuna attività contribuisce al progetto complessivo q Quanto è produttivo il personale? § misurare il tempo impiegato dal personale per specificare il sistema, progettare, codificarlo e testarlo § raccogliere misure di dimensioni delle specifiche, del progetto, del codice, dei piani di test – Quanto sia produttivo il personale per ogni attività? – Utilizzare i grafici (dati raccolti) sulla produttività per stimare il costo e la durata delle attività o delle modifiche da pianificare 15 Intro Misurazione … Misurazione: prospettiva del Manager :… q Qual è la qualità del codice sviluppato? § Registrare i dati di misura quali i faults, failures e modifiche nel momento in cui si verificano. § Utilizzare i dati per confrontare i diversi prodotti, prevedere gli effetti della modifica, valutare gli effetti delle nuove pratiche, impostare gli obiettivi per il miglioramento di processo e dei prodotti. q L'utente sarà soddisfatto del prodotto? § Misurare la funzionalità determinando se tutti i requisiti richiesti sono stati implementati correttamente § Misurare l'usabilità, l'affidabilità, il tempo di risposta – Utilizza i dati per valutare se i clienti sono soddisfatti delle funzionalità e delle prestazioni q Come possono essere apportati miglioramenti? § Effettuare misure, interpretare i dati, confrontare i valori target, individuare i miglioramenti, effettuare miglioramenti, valutare la qualità del processo o del prodotto risultante. – Utilizzare i dati come riferimento per valutazioni future 16 Intro Misurazione Misurazione: prospettiva dell’Ingegnere… ð Ingegnere -> interesse su aspetti legati ai prodotti software sviluppati q I requisiti sono verificabili? § Analizzare i requisiti per determinare se la loro soddisfazione è espressa in modo misurabile – Le misure possono essere ripetute da altri in altri contesti q Sono stati trovati tutti i difetti? § Misurare il numero di difetti nei manufatti (specifica... test) e tracciarli rispetto alle loro cause – Utilizzare i modelli dei tassi di rilevazione previsti per decidere se l'ispezione e il test sono stati efficaci e se un prodotto può essere rilasciato alla prossima fase di sviluppo 17 Intro Misurazione Misurazione: prospettiva dell’Ingegnere … q Sono stati raggiunti gli obiettivi di prodotto e di processo? § Misurare le caratteristiche di processo e di prodotto per verificare se le aspettative sono state raggiunte – La qualità è monitorata e controllata continuamente q Qual’è il prossimo passo? § Misurare gli attributi dei prodotti esistenti o dei processi in atto per fare previsioni sui quelli futuri. – Utilizzare dati raccolti storicamente, memorizzati in database aziendali per tenere sotto controllo i processi e assicurare che il livello di qualità sia costantemente mantenuto 18 Intro Misurazione Scopi della Misurazione ð La misurazione del software, e l’interpretazione dei dati raccolti vengono svolti essenzialmente per tre scopi: q Comprendere q Controllare q Migliorare 19 Intro Misurazione Misurazione per Comprendere (Understand) ðLe misure aiutano a comprendere cosa accade durante le attività di sviluppo e manutenzione q La situazione attuale viene valutata q Le baselines (valori soglia) sono stabilite per aiutare a fissare obiettivi per strategie future ðLe misurazioni rendono più visibili gli aspetti del processo e del prodotto q Fornire una migliore comprensione delle relazioni tra le attività e le entità che impattano 20 Intro Misurazione Misurazione per Controllare (Control) ðLe misure aiutano a controllare cosa accade nei progetti q Devono essere determinate le relazioni tra le variabili di processo q Sulla base delle baselines (valori soglia), degli obiettivi e della relazione tra valori rilevati e valori obiettivo, è possibile fare previsioni, e apportare cambiamenti ai processi e ai prodotti in modo da soddisfare gli obiettivi di qualità § Es. monitorare la complessità dei moduli e focalizzare l’attenzione su quelli che non soddisfano i valori soglia 21 Intro Misurazione Misurazione per Migliorare (Improve) ð La misurazione ci incoraggia a migliorare processi e prodotti basati sui risultati ottenuti e sui trend nel tempo q Incrementare la produttività dopo aver introdotto un nuovo tool nelle linee di produzione; q Incrementare le aspettative di qualità (thresholds) in base alle esigenze di mercato ð In base alle analisi, le misure raccolte (dati) sono utilizzate non solo per valutare il processo ma anche quale indicatore delle aree problematiche da cui individuare eventuali azioni di miglioramento 22 Intro Misurazione Sfaccettature della misurazione: una panoramica ð Stima di Costo ed Effort q Modelli per la stima dei costi e dell’effort sono stati proposti nell’ambito del software (COCOMO, SLIM, Albrecht FP) come strumento utilizzato dai manager per prevedere i costi di progetto durante le fasi iniziali del ciclo di vita del software q Nei modelli di stima: § L’effort è espresso quale funzione di una o più variabili (es. Dimensione del prodotto, capacità degli sviluppatori) § Dimensione definito come linee di codice o numero di function points 23 Intro Misurazione Sfaccettature della misurazione: una panoramica ðModelli e misure di Produttività q Sono state proposte misure e modelli per valutare la produttività del personale durante diversi processi software e in diversi ambienti q Componenti possibili che contribuiscono alla produttività complessiva (funzione di valore e costo scomposto in termini MISURABLI) 24 Intro Misurazione Sfaccettature della misurazione: una panoramica ð Raccolta dei Dati q La raccolta dei dati implica che le misure siano definite in modo inequivocabile, la raccolta sia consistente e completa in modo che l'integrità dei dati non sia a rischio q La raccolta dei dati di misura deve essere attentamente pianificata ed eseguita q I dati raccolti possono essere rappresentati in grafici per mostrare progressi e evidenziare i problemi nei processi produttivi e nei prodotti sviluppati/manutenuti q La raccolta dei dati è essenziale per l'indagine scientifica sui rapporti causali e sulle tendenze § Esperimenti, survey, casi di studio 25 Intro Misurazione Sfaccettature della misurazione: una panoramica ðModelli e misure di qualità q Produttività è strettamente legata alla qualità del prodotto -> la velocità di produzione non ha significatività se non è legato alla valutazione di qualità del prodotto q I modelli di qualità sono strutturati in maniera gerarchica (albero) § rami superiori hanno fattori di qualità di alto livello dei prodotti software; § ogni fattore è suddiviso in fattori di livello più basso § Sono proposte metriche/indicatori per i criteri q L'albero descrive le e le loro misure operative da cui dipendono 26 Intro Misurazione DIB 27 Intro Misurazione Sfaccettature della misurazione: una panoramica ð Management attraverso metriche q La misurazione sta diventando una parte fondamentale del project management q Manager e sviluppatori si affidano a tabelle e graphici measurement-based per tracciare il progresso di un progetto e verificare se il progetto rispetta la tabella di marcia (on track) q Le aziende e le organizzazioni definiscono standard di misura e metodi di reporting per controllare e confrontare i progetti § Work Breakdown structure charts § Gantt charts § Pert diagrams § Earned values 28 Intro Misurazione Riepilogando: ðAltre discipline (scienze fisiche, ingegnerie materiali) sottolineano che la misurazione deve avere un ruolo più significativo nell'ingegneria del software ðÈ necessario avere obiettivi chiaramente definiti per la misurazione che tengano conto delle diverse prospettive degli stakeholders 29 Intro Misurazione Aspetti di qualità: ð1. Fondamenti di qualità del software 30 Intro Misurazione … Aspetti di qualità... ð2. Qualità di Prodotto 31 Intro Misurazione … Aspetti di qualità... ð3. Qualità di Processo 32 Intro Misurazione … Aspetti di qualità... ð4. Qualità dei Servizi 33 Intro Misurazione … Aspetti di qualità... ð5. Qualità delle Persone 34 Intro Misurazione … Aspetti di qualità... ð6. Elementi di Project Management 35 Intro Misurazione 36 La Misurazione nel Software Approfondimenti: Fenton, “Software Metrics a rigorous and practical approach” Capitolo 1,2,3. Concetti Generali Perchè misurare? … ð Quattro motivi principali per misurare processi, prodotti o risorse software: ð Caratterizzare. Comprendere i processi, i prodotti, le risorse, gli ambienti e stabilire baselines (valori soglia) di confronto per le valutazioni future. ð Valutare. Determinare lo stato di avanzamento rispetto ai piani di progetto; stabilire il raggiungimento degli obiettivi di qualità e valutare l’impatto dei miglioramenti di processo e delle tecnologie sui prodotti e sui processi stessi 2 Concetti Generali … Perchè misurare? q Fare previsioni. In modo da poter pianificare opportunamente. Comprendere le relazioni/interdipendenze tra processi e prodotti; e costruire modelli basate su tali relazioni in modo che i valori che osserviamo per alcuni attributi possano essere utilizzati per predire gli altri. È il punto di partenza per estrapolare e identificare tendenze, stime di costo, tempo e qualità; diagnosticare i trade-off basati su dati storici q Migliorare. raccogliere informazioni quantitative per identificare le inefficienze e altre opportunità per migliorare la qualità dei prodotti e le prestazioni di processo. Le misure aiutano a pianificare e monitorare gli sforzi di miglioramento 3 Concetti Generali Elementi della misurazione ð Misurazione: processo attraverso cui numeri e simboli sono assegnati agli attributi di entità del mondo reale in modo da caratterizzare gli attributi attraverso regole chiaramente specificate. ð Abbiamo bisogno di: q Entità (oggetto di interesse) q Attributi (caratteristiche delle entità) q Regole/Metriche (e scale) per assegnare i valori agli attributi ð Perchè si possa misurare è necessario: q Chiaramente identificare le entità e gli attributi che saranno presi in considerazione e le regole usate per assegnare valori a ciascun attributo 4 Concetti Generali Elementi della misurazione: Entità ð Elementi del mondo reale che desideriamo misurare q Products; processes, resources q Artifacts, activities, agents q Organizations, environments, constraints ð Entità possono anche essere gruppi o insiemi di altre entità q subprocesses, flowpaths, by-products 5 Concetti Generali Elementi della misurazione: Attributi ð Caratteristiche o proprietà delle entità q Person (entity) § Characteristics: height, color of eyes, IQ, age, years of experience … q Software (entity) § Characteristics: size, cost, elapsed time, effort, response time, transaction rates, number of defects … ð L’arte della misurazione consiste nel decidere quali attributi usare in modo da fornire una chiara idea delle entità considerate 6 Concetti Generali Ciascuna entità è legata agli attributi che caratterizzano l’entità e alle misure che possono esser usate per quantificare gli attributi stessi 7 Concetti Generali 8 Concetti Generali DIB 9 Scale di Misurazione Concetti Generali Scale di Misurazione… ð La scala di misurazione fornisce i valori e le unità per descrivere gli attributi q Person § height: 68 inches § weight: 163 pounds § Eyes: brown § Disposition: aggressive q Software Project: § Produce 30 000 LOC § Planned completion date: August 30 § Use: 11 345 staff hrs of effort § Application type: real time command and control ð Ovunque si effettui una misurazione e qualunque sia la sua forma, richiede sempre che vi siano delle scale ben definite per rilevare e registrare i valori misurati 11 Concetti Generali … Scale di Misurazione … ð Nominale: ogni valore della scala rappresenta una classe o una categoria di appartenenza q Non c’è ordinamento tra i valori q Non c’è significato di grandezza associato ad ogni classe ð Le scale nominali pongono gli elementi in uno schema di classificazione (categorie di appartenenza). Le classi non sono ordinate anche se sono numerate (solo per scopi di identificazione) da 1-n. Phase in which a fault is injected m1 m2 1 if specification fault A if specification fault 2 if design fault D if design fault 3 if code fault C if code fault 12 Concetti Generali … Scale di Misurazione … ð Ordinale: Oltre ad essere nominale esprime un ordine (ascendente o discendente) tra tutti i possibili valori dell’osservabile. La distanza tra un elemento e l’altro della scala non ha significato. q Le classi di appartenenza dei valori sono ordinate rispetto all’attributo q I valori esprimono solo un punteggio (rank), pertanto non ha senso applicare su essi gli operatori aritmetici Complexity of a Software Module m1 m2 M3 not a valid measure! 1 if simple 1 simple 1 simple 2 if moderate 100 moderate 3 moderate 3 if high 1000 high 2 high 4 if incomprehensible 11000 incomprehensible 4 incomprehensible 13 Concetti Generali … Scale di Misurazione … ð Intervallo: L’intervallo esprime sia l’ordinamento, sia la misura dell’intervallo che separa le classi della scala q Preserva l’ordine come per una scala ordinale q Preserva differenze ma non i rapporti (divisioni). Pertanto, Ai valori di questa scala sono applicabili somma e sottrazione; non hanno senso la moltiplicazioni e la divisione q Non c’è un origine nella scala (valore di zero assoluto) § If the temperature reaches 40°C today and 20°C yesterday, we cannot say that it was twice as warm today as it was yesterday. § The interval from moving from one degree to another is the same, and each degree is considered a class related to heat: Moving from 20-> 21 °C increases the heat the same way that moving from 40 ->41°C. § Since there is no true-zero value on the scale, however we cannot say that it is 50% hotter today than yesterday ð Eg.: clock times, calendar dates, temperature in °C or °F 14 Concetti Generali … Scale di Misurazione … ð Ratio: aggiunge un origine alla scala (un elemento zero - null) q Preserva l’ordinamento, la dimensione degli intervalli, il rapporto tra entità (come nelle scale precedenti) q (in piu) Esiste un elemento zero significativo, che indica l’assenza di quell’attributo q Il valore della misura, a partire da zero, deve aumentare di intervalli uguali, detti unità della misura q Tutte le operazioni aritmetiche sono significative q Due scale ratio M ed M’ sullo stesso attributo (es.dimensione) sono convertibili con la relazione M=a*M’ essendo “a” una costante § From Feet to Inches: I=12*F § From KLOC to LOC: KLOC=1000*LOC § M= LOC; M’=length as number of characters -> M’=a*M where a=average number of characters per LOC ð Eg. Productivity, defect density, integration cost, development cost, effort, etc. ð Esempio: la dimensione di un programma misurata in LOC è una scala Ratio (m1); la dimensione in KLOC è un’altra scala ratio (m2); m2=1000*m1 15 Concetti Generali … Scale di Misurazione … ð Assoluta: caso particolare della scala ratio dove l’unico moltiplicatore ammissibile è 1. q La misurazione nella scala assoluta è fatta semplicemente “conteggiando” gli elementi di una entità (es. Nr. Persone in un aula) q L’attributo ha sempre forma del tipo “numero di occorrenze di x in una entità” q Esiste solo un modo per mappare la misurazione: contando q Tutte le operazioni aritmetiche sono significative ð Eg. Number of failures observed during integration testing; number of people working on a software project; number of design defects; … 16 Concetti Generali … Scale di Misurazione 17 Scale delle Misure e Significatività delle Misurazioni DIB 18 Concetti Generali Significatività delle Funzioni Statistiche ð Ha significato applicare una funzione statistica ad un tipo di scala se le affermazioni dedotte dall’applicazioni delle funzioni sono invarianti rispetto alla scala utilizzata. Tipo scala Funzione statistica significativa Nominale Moda Ordinale Moda Mediana Intervallo Moda Mediana Media Ratio Tutte le funzioni DIB 19 Concetti Generali Funzioni Statistiche ðData una lista di valori: q Media : la somma dei valori diviso per il numero di valori nella lista q Mediana : il valore centrale nella lista ordinata q Moda : il valore che si presenta più frequentemente nella lista ðEsempio: 2,2,4,5,5,8,8,10,11,11,11,15,16 q Media : 9.1 q Mediana : 8 q Moda : 11 Concetti Generali Esempio : Classificazione dei problemi ð La moda è sempre valida; sia che le due scale fossero nominali sia che fossero ordinali Osservabile Classe (lettera) Classe (numeri) X1 A 1 X2 B 5 X3 B 5 X4 C 3 X5 B 5 Moda B(X2, X3, X5) 5(X2, X3, X5) DIB 21 Concetti Generali Esempio: Comprensibilità dei programmi ð La mediana sarebbe valida se le due scale fossero ordinali, non lo sarebbe se fossero nominali Osservazione Comprensibilità Comprensibilità X1 Banale 1 X2 Moderato 4 X3 Semplice 3 X4 Moderato 4 X5 Incomprensibile 10 Moda Moderato(X2,X4) 4(X2,X4) Mediana Semplice(X3)/Indeterm. 3(X3)/Indeterminata DIB 22 Concetti Generali Le scale di misurazione possono cambiare man mano che si matura esperienza ð Measurements can progress from lower to higher scales as societies, organizations and practices mature ð Look for opportunities that allow to evolve measurement practices toward scales that provide greater information 23 Concetti Generali Misure Soggettive e Oggettive … ð Quando si misurano gli attributi di entità ci sforziamo di manterere le misurazioni il piu possibile oggettive q Durante il processo di misurazione, assicuriamo che persone diverse producano le stesse misure, indipendentemente dal fatto che stanno misurando prodotti, processi o risorse. q Alcune misure sono più soggettive di altre ð Misure Soggettive: dipendono dal misuratore, sono strettamente legate al contesto in cui sono rilevate q Possono variare al variare del misuratore e dipendere dalla sua opinione § Programmer experience (high, medium, low) § Quality of requirements (1-5 scale) ð Misure Oggettive: q Sono indipendenti dal misuratore. Rilevate oggettivamente, indipendentement sulla entità, e dunque il valore non è influenzato § Development time § Number of LOC of a program / module § Number of defects § Productivity 24 Concetti Generali … Misure Soggettive e Oggettive … ð Al fine di “limitare e contenere” la soggettività delle misure soggettive si definisce e associa un Modello Descrittivo, alla metrica. q Ogni valore della scala è definito con una descrizione testuale per meglio chiarire e spiegare i range dei valori e ridurre la interpretazione soggettiva delle informazioni. q Criticality of requirements (1-5 point scale) § 1. not important (it does not impact on any user) § 2. low importance (impacts on few users) § 3. average importance (impacts on several users but does not determine consequences if it is not respected) § 4. important (impacts on several users and determines consequences if it is not respected) § 5. critical (if it is not respected, the system cannot be used) 25 Concetti Generali … Misure Soggettive e Oggettive ð In caso di misure Oggettive è necessario fornire un Modello Quantitativo (equazioni, modello di calcolo, formula) associato alla metrica q Non conformance = (nr of violations / nr of times the techniques have been applied) * 100 q Temperature Range § Low: in summer between 8-12 °C; in winter from -X to 11°C § High: in summer above 13°C; in winter from 12°C and above 26 Concetti Generali Misure Dirette (osservate) e Indirette (calcolate) ð Una volta ottenuto il modello delle entità e degli attributi implicati (i.e. come gli attributi sono mappati e usati per misurare una specifica entità) è possibile definire le misure sulla base del modello q Measure height in cm q Measure dimension of a room in square metres q Measure dimension of a program in LOC ð Misurazione diretta di un attributo di una entità non implica altri attributi o caratteristiche in quanto è rilevato/osservato direttamente q Length of source code (measured by lines of code) q Duration of testing phase (measured by elapsed time in hrs) q Number of defects discovered during the testing process (measured by counting the defects) q Time a programmer spends on a project (measured by months worked) ð Misurazione indiretta implica che un attributo sia misurato combinando misure in relazione tra loro. Necessità di un modello di calcolo (Modello Quantitativo) q Programmer productivity: LOC produced / person months of effort q Module defect density: number of defects / module size q System spoilage: effort spent for fixing defects / total project effort 27 Concetti Generali Riepilogando: Modelli Descrittivi ð Ogni valore del Range della misura è definito con una descrizione testuale. ð Esempi q Tipo di Test può assumere i seguenti valori: § Test strutturale, in caso di componente ad alta complessità procedurale, usa la struttura interna del codice § Test per valori limite, in caso di componenti che hanno bassa complessità procedurale, usa le specifiche della componente che tratta come una black - box q Criticità della Richiesta può assumere uno dei valori del seguente punteggio(soggettivo) 1. Non Importante, anche se non è rispettata non danneggia alcun utente 2. Scarsamente Importante,impatta su pochi utenti 3. Mediamente Importante, impatta su molti utenti, ma non è dannosa se non è rispettata. 4. Importante, impatta su molti utenti ed è dannosa se non è rispettata. 5. Critica, se non è rispettata il sistema non si può utilizzare DIB 28 Concetti Generali Modelli Quantitativi ð Il valore di una misura è calcolato da altre attraverso uno dei seguenti modelli quantitativi q Calcolo con equazione q Trasformazione con corrispondenze tabulari q Calcolo Statistico ð Esempi: q Non Conformità = (Numero di violazioni/numero di applicazioni delle tecniche)*100 q Media dei voti degli studenti di ITPS iscritti al terzo anno DIB 29 La Qualità è Relativa DIB 30 Concetti Generali Modello per la Valutazione secondo la ISO IEC 14598 Supera i requisiti Livello previsto Valore misurato Soddisfacente Area di accettazione Livello peggiore Area di rigetto Inaccettabile Scale della metrica DIB 31 Concetti Generali Soglie dei Valori ð Per soddisfare gli obiettivi di qualità richiesti le misure rilevate sui prodotti e sui processi devono raggiungere predefinite soglie ð Le soglie da raggiungere sono dipendenti dal contesto di esecuzione del processo e dal committente del prodotto ð Normalmente si definisce q un intervallo di successo entro i quali il processo od il prodotto si considera abbia raggiunto l’obiettivo: Smin; Smax q Una soglia di insuccesso al di sotto della quale il processo od il prodotto è rigettato: Srigetto DIB 32 Concetti Generali Miglioramento dei Processi e dei Prodotti ð Se si è raggiunti la soglia di insuccesso è indispensabile individuare ed eseguire iniziative di miglioramento ð Se si è nell’intervallo di successo il management può decidere: q di migliorare il processo per far salire le soglie verso Smax q di stringere l’intervallo di successo per aumentare la capacità del processo ð Se si sono raggiunte per tutte le misure le soglie massime ed i processi sono stabili il management può decidere di far salire il loro valore per indurre maggiore maturità del contesto di esecuzione DIB 33