340 likes | 450 Views
Sviluppo del Software in Regime di Qualita’. Una Introduzione Mario Capurso http://info.bazarinfo.info. Distribuzione dei costi del Software - 1. Distribuzione dei costi del Software - 2. Gli Errori del Software. Il Millennium Bug: milioni di dollari di costo
E N D
Sviluppo del Software in Regime di Qualita’ Una Introduzione Mario Capurso http://info.bazarinfo.info
Gli Errori del Software • Il Millennium Bug: milioni di dollari di costo • L’abbattimento dell’Airbus Iraniano nel 1989 • Il crollo della rete telefonica americana nel 1989 • Il Therac 25 e le overdosi di radiazioni-1985/87 • I problemi con gli Space Shuttle -1980/95 • Il sistema SAGE ed il lancio di missili nucleari: 1956/60
I Costi degli Errori • Bank of America MasterNET: da 23 a 83 M$ • AllState Insurance: da 8 a 100 M$ • Airborne Self-Protection Jammer: 1B$ oltre il budget, • 4 anni di ritardo e operativo marginalmente • Los Angeles County: 18M$ di sistema, successivamente • riscritto, produce danni per 10M$ • Blue Cross Blue Shield: sistema da 200M$ fa danni per 60M$ e fa fuggire 35 000 assicurati
L’aumento della complessita’ del software 1982 - MS DOS 1.1 - 180 Kbytes 1987 - MS DOS 3.31 - 798 Kbytes 1991 - MS DOS 5.0 - 2 Mbytes 1994 - MS DOS 6.2 - 5.8 Mbytes 1993 - MS Windows 3.11 - 16.4 Mbytes non compressi 1995 - MS Windows 95 - 32.8 Mbytes compressi 1999 - MS Windows 98 SE - 109 Mbytes compressi 2000 - MS Windows 2000 - 412 Mbytes compressi
Il peso della complessità – Troppi livelli informatici da padroneggiare
L’evoluzione del numero di transistor nei processori - La Legge di Moore - 1
La legge di Moore - 2 • La potenza di un processore raddoppia ogni 18 mesi a parita’ di costo
Crisi del Software ed Ingegneria del Software • Difficolta’ di reggere il confronto con l’hardware: • Nella diminuzione dei prezzi • Nella maturita’ come prodotto industriale • Nella qualita’ • Necessita’ di metodi ingegneristici paragonabili a quelli usati nello sviluppo dell’hardware
Ingegneria • “Studio e realizzazione delle tecniche con cui si applicano le enunciazioni teoriche e le norme di funzionamento di una disciplina, allo scopo di evitare uno sviluppo casuale e frammentario” (Vocabolario Zingarelli)
Ingegneria e Qualita’ del Software • Qualita’ del Prodotto • Qualita’ del Processo • Qualita’ del Progetto Ingegneria e Qualita’ sono i segni di una Disciplina che matura
Qualita’ del Processo - Capability Maturity Model • Modello di Riferimento • Per migliorare il processo di sviluppo del software • Definisce cinque livelli di maturita’ • Usato negli Stati Uniti • Obbligatorio per chi sviluppa per il Dipartimento della Difesa • In Europa, SPICE usa un approccio simile
Qualita’ del Processo - ISO 9001 • Standard ISO (Internazionale) • In grado di certificare la qualita’ di un processo • Definisce due stati (Certificato/Non Certificato) • Usato a livello internazionale • Obbligatorio per chi lavora per l’E.S.A. e per enti che richiedono qualita’ certificata
Le ISO 9000 sono basate sul concetto che ogni attività è realizzata mediante un processo
CATEGORIE GENERALI DI PRODOTTO (ISO 9000-1 par. 4.4) Si identificano 4 categorie generali di prodotto: • Hardware; • Software; • Materiali da processo continuo; • Servizi. SITUAZIONI DEL SISTEMA QUALITÀ (ISO 9000-1 par. 6) Un fornitore può scegliere di utilizzare le ISO 9000 secondo due approcci: • “stimolato dalla direzione”, • “stimolato dalle parti interessate”,
ISO 9001 e Qualita’del Processo • Riferimento primario per la qualità: la soddisfazione del cliente • Il processo è il modo con cui un’organizzazione soddisfa i suoi clienti • La qualità dei processi è componente essenziale • Obiettivo fondamentale per la qualità: non solo conformità, ma anche miglioramento continuo • La valutazione della qualità del processo non si limita a chiedere se i processi sono definiti, documentati ed attuati in conformità a quanto prescritto, ma chiede se “i processi sono efficaci nel fornire i risultati attesi”
ASPETTI DELLA QUALITÀ (ISO 9000-1 par. 4.5) La qualità del processo contribuisce alla qualità di un prodotto attraverso la: • Qualità nella definizione delle esigenze relative al prodotto. • Qualità nella progettazione del prodotto. • Qualità nella conformità del prodotto al progetto. • Qualità nel supporto al prodotto (lungo l’intero ciclo di vita).
SITUAZIONI DEL SISTEMA QUALITÀ (ISO 9000-1 par. 6) Nel valutare l’offerta di un prodotto il cliente considera dei fattori aggiuntivi: • Qualità nello stato e strategia di mercato del fornitore • Qualità nello stato e strategia finanziaria del fornitore • Qualità nello stato e strategia di gestione delle risorse umane
Progettazione di un processo ISO 9001 - 1 • Elenco delle principali attività dell’organizzazione, dei dati, informazioni e documenti esistenti sugli stessi. • Analisi di tali attività e scelta tra i sistemi qualità ISO 9000 quello più appropriato • Identificazione dei collegamenti tra il sistema qualità di riferimento scelto e attività principali svolte. • Enunciazione della politica e degli obiettivi per la qualità. • Definizione attività, tappe e tempi per raggiungere tali obiettivi. • Identificazione e comunicazione al personale coinvolto dei loro ruoli e compiti per lo sviluppo, attuazione, gestione e controllo del sistema qualità. • Definizione di struttura e configurazione dei documenti per la qualità.
Progettazione di un processo ISO 9001 - 2 • Definizione del processo per la preparazione delle procedure e del manuale per soddisfare i requisiti del sistema qualità ISO 9000 • prescelto. • Addestramento del personale e sperimentazione di tali procedure. • Utilizzazione delle informazioni di ritorno, anche attraverso delle verifiche ispettive, per migliorare le attività e le procedure e consolidare la documentazione. • Attuazione del sistema qualità, misurazione periodica dei risultati per verificarne l’efficacia e l’efficienza del sistema stesso rispetto alla politica ed obiettivi.