Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

34
Sviluppo del Software in Regime di Qualita’ Una Introduzione Mario Capurso http://info.bazarinfo.info

Transcript of Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Page 1: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Sviluppo del Software in Regime di Qualita’

Una IntroduzioneMario Capurso

http://info.bazarinfo.info

Page 2: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Distribuzione dei costi del Software - 1

50%

50%

Produzione

Manutenzione

Page 3: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Distribuzione dei costi del Software - 2

15%20%

40%

25% Analisi eProgettazione

Programmazione

Documentazione

Testing

Page 4: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 5: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 6: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

L’aumento della complessita’ del software

1982 - MS DOS 1.1 - 180 Kbytes1987 - MS DOS 3.31 - 798 Kbytes 1991 - MS DOS 5.0 - 2 Mbytes1994 - MS DOS 6.2 - 5.8 Mbytes1993 - MS Windows 3.11 - 16.4 Mbytes non compressi1995 - MS Windows 95 - 32.8 Mbytes compressi1999 - MS Windows 98 SE - 109 Mbytes compressi2000 - MS Windows 2000 - 412 Mbytes compressi

Page 7: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Il peso della complessità – Troppi fattori da considerare

Page 8: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Il peso della complessità – Troppi livelli informatici da padroneggiare

Page 9: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

L’evoluzione del numero di transistor nei processori - La

Legge di Moore - 1

Page 10: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

La legge di Moore - 2

• La potenza di un processore raddoppia ogni 18 mesi a parita’ di costo

Page 11: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 12: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Rapporto fra i costi di hardware e software

Page 13: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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)

Page 14: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 15: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Esempio: Il Ciclo di Vita del Software usato da Microsoft

Page 16: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 17: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

I Livelli e le caratteristiche del CMM

Page 18: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Livelli CMM e Aree chiave

Page 19: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 20: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

il Sistema della Qualita’ in Italia e l’ISO 9001

Page 21: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

La famiglia di norme ISO 9001

Page 22: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

La famiglia di norme - 2

Page 23: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Le norme da usare

Page 24: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Le ISO 9000 sono basate sul concetto che ogni attività è realizzata mediante un

processo

Page 25: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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”,

Page 26: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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”

Page 27: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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).

Page 28: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

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

Page 29: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Progettazione di un processo ISO 9001 - 1

1. Elenco delle principali attività dell’organizzazione, dei dati, informazioni e documenti esistenti sugli stessi.

2. Analisi di tali attività e scelta tra i sistemi qualità ISO 9000 quello più appropriato

3. Identificazione dei collegamenti tra il sistema qualità di riferimento scelto e attività principali svolte.

4. Enunciazione della politica e degli obiettivi per la qualità.5. Definizione attività, tappe e tempi per raggiungere tali obiettivi.6. Identificazione e comunicazione al personale coinvolto dei loro ruoli

e compiti per lo sviluppo, attuazione, gestione e controllo del sistema qualità.

7. Definizione di struttura e configurazione dei documenti per la qualità.

Page 30: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Progettazione di un processo ISO 9001 - 2

8. Definizione del processo per la preparazione delle procedure e del manuale per soddisfare i requisiti del sistema qualità ISO 9000

9. prescelto.

10. Addestramento del personale e sperimentazione di tali procedure.

11. Utilizzazione delle informazioni di ritorno, anche attraverso delle verifiche ispettive, per migliorare le attività e le procedure e consolidare la documentazione.

12. Attuazione del sistema qualità, misurazione periodica dei risultati per verificarne l’efficacia e l’efficienza del sistema stesso rispetto alla politica ed obiettivi.

Page 31: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Clausola Iso 9001 e attivita’

Page 32: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Clausola Iso 9001 e attivita’ - 2

Page 33: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Clausola Iso 9001 e attivita’ - 3

Page 34: Sviluppo del Software in Regime di Qualita Una Introduzione Mario Capurso .

Clausola Iso 9001 e attivita’ - 4