Slide da Serlab Software Engineering Research sulla qualità del software (ITPS). Il Pdf esplora il concetto di qualità del software, definendolo da prospettive popolari e professionali, introducendo gli standard ISO/IEC 25000 e 25010, oltre agli elementi di project management e pianificazione per universitari di Informatica.
Mostra di più66 pagine
Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Modelli e Metodi per la Qualità del Software (ITPS) A.A. 2022 - 2023 Prof.ssa Baldassarre mariateresa.baldassarre @ uniba,it
Dipartimento di Informatica - Università degli Studi di Bari Via Orabona, 4 - 70125 - Bari Tel: +39.080.5443270 | Fax: +39.080.5442536 serlab.di.uniba.it
1
La qualità è un termine ambiguo, con molte interpretazioni. Ciò è dovuto alle seguenti ragioni
A volte si usa il concetto di qualità nel senso più ampio del termine. " In altri, viene usato per indicare un aspetto molto specifico di un prodotto
> Popolarmente, si intende che la qualità sia una caratteristica immateriale / non tangibile. Si possono esprimere opinioni, commenti, giudizi, ma non è possibile misurarla concretamente. › Diciamo che qualcosa è di "buona qualità"," cattiva qualità" o si parla di "qualità della vita" > In questo senso, la qualità non può essere quantificata o gestita. › A volte la qualità esprime anche un senso di "lusso", "classe" o "buon gusto" ed è riservata ai prodotti generalmente costosi, con funzionalità sofisticate. Prodotti semplici, che non sono costosi, raramente vengono definiti come prodotti di qualità
Autori rilevanti nel campo della qualità professionale definiscono qualità rispetto a:
Il significato più comune è che un software è di qualità quando non ha difetti (bug) di tipo generalmente funzionali A Per esprimere questa definizione di qualità, generalmente si adottano due misure/metriche:
2
> (ISO) Insieme di proprietà e di caratteristiche desiderate per un processo, un prodotto, un servizio software allo scopo di:
La misurazione cattura informazioni sugli attributi delle entità. Un'entità è un oggetto o un evento del mondo reale (processo, prodotto, risorsa).
Progetti | Con misurazioni | Senza misurazioni |
puntuali | 75% | 45% |
In ritardo | 20% | 40% |
cancellati | 5% | 15% |
Rimozione difetti | 95% | <85% |
Stima risorse necessarie | Accurata | Ottimistica |
Soddisfazione del cliente | Alta | Bassa |
Morale del team | Alto | Basso |
3
> In un qualsiasi ciclo di vita del software le entità visibili e misurabili sono i processi (le attività), le risorse impiegate e alcuni attributi dei prodotti
Entità | Attributo | Metrica |
codice | lunghezza | LOC |
funzionalità | Function Points | |
complessità | Indice McCabe | |
specifiche | lunghezza | #pagine |
riuso | #pagine | |
codifica | sforzo | Mesi/persona |
testing | Fase rilevazione | % difetti trovati |
volume | #test schedulati | |
manutenzione | costo | € |
Da IEEE Standard Glossary of SE Terminology
> Gli esseri umani commettono errori, specie quando eseguono compiti complessi; ciò è inevitabile > I programmatori esperti commettono in media un errore ogni 10 righe > Circa il 50% degli errori di codifica vengono catturati a tempo di compilazione > Altri errori vengono catturati col testing > Circa il 15% degli errori sono ancora nel sistema quando viene consegnato al cliente
4
defect insertion rate (per thousand lines of code) 46 2 5 25 2 residual defects after testing reqs design coding testing 4 20 26 24 defect removal rate (per thousand lines of code) Propagation of residual defects Figure 11. Defects are inserted and removed at different rates in each part of the development lifecycle. The difference between insertion and removal rates determines defect propagation rate. This example shows that 2 defects per thousand lines of code remain after testing. (S.G. Eick, C.R. Loader et al., Estimating software fault content before coding, Proc. 15th Int. Conf. on Software Eng., Melbourne, Australia, 1992, pp. 59-65)
Assicurare la qualità di un prodotto o servizio è difficile. Nel caso del software valutarla o garantirla è particolarmente complesso Esistono:
Qualsiasi valutazione di qualità inizia dallo scopo (goal) che ha chi la vuole valutare Chi valuta la qualità di una entità (processo, prodotto, servizio, risorsa ... ) dovrebbe:
Le metriche che vengono definite debbono correlarsi agli obiettivi (goals) dell'organizzazione o Le misurazioni dovrebbero essere utili e costruttive, perché l'organizzazione deve imparare analizzandoli o Le metriche e le loro definizioni dovrebbero riflettere il punto di vista di diverse parti interessate (es. sviluppatori, utenti, progettisti etc).
5
Raccolta dei requisiti Analisi dei requisiti System Design Object design Implemen- tazione Testing oki OK! ok! espressi mediante mappati su realizzati con definiti da verificati con Dirder Systom uses Inventory System Class A ... Class B ... Class C ... Modello dei casi d'uso Oggetti del dominio Sotto- sistemi Oggetti del sistema Sorgente Casi di test
Verifica: confronto di un prodotto con la sua specifica (ovvero, confronto di un prodotto con i suoi requisiti) Validazione: accettazione del prodotto da parte del committente
> L'attività di verifica, così come quella di documentazione, non è una fase separata del processo > Tuttavia, è opportuno che sia effettuata da persone diverse da quelle coinvolte nel design o nella codifica Ogni documento prodotto dovrebbe essere controllato (possibilmente da persone diverse dagli autori del documento) e sistematicamente documentato esso stesso A Esistono due tipi di verifica:
6
Test Run
Due costi principali:
> I costi della qualità nel processo produttivo sono i costi che si sostengono per adeguare la qualità del prodotto alla qualità richiesta
Diversi enti di standardizzazione (eg ISO) hanno cercato di integrare vari approcci alla definizione della qualità, partendo dalla consapevolezza che la qualità è un attributo che varia in funzione del:
Settore elettronico | ||
A livello internazionale | ISO | IEC |
A livello europeo | CEN | CENELEC |
A livello nazionale | UNI | CEI |
7