PRIMA PARTE
PRIMA PARTE
Il processo di produzione del software
I.
II.
III.
IV.
Standard
PRODOTTO
PROCESSO
CMM (SEI 87)
IS0
14598
ISO 12207
prodotto da una organizzazione internazionale
razionalizza le attivit coinvolte
piuttosto obsoleto
ISO 9000
pensato per un qualunque processo produttivo
aggiornato recentemente (Vision 2000)
Modelli di maturit
Sono collezioni strutturate di elementi che descrivono
le caratteristiche dei processi efficaci
Forniscono un punto di partenza basato sullesperienza
pregressa di una comunit, ed uno schema per dare una
priorit alle azioni correttive
Possono essere usati per la valutazione (assessment,
appraisal) di organizzazioni differenti
I modelli di capacit e maturit forniscono un
riferimento per le pratiche mature di una specifica
disciplina, per il miglioramento e la valutazione
10
11
STANDARDIZZAZIONE
DEI
PROCESSI
12
13
14
Characteristic
Optimizing
Managed
Continuous
Improvement
Predictable
Defined
Repeatable
Initial
Standard and
Consistent
Intuitive
Ad hoc and
Chaotic
15
16
17
18
Difetti latenti
(Customer
Reported
Unique
Defects) per
1000 linee di
codice
sorgente
% dei difetti
scoperti nella
fase in cui
sono creati
Lavoro per
unit di
tempo
(ad es.,
LOC/giorno)
19
20
Standardizzazioni
Le idee del SEI hanno influenzato lo sviluppo di
alcuni standard ISO (proposti e/o ancora in
analisi) allinterno del progetto SPICE (Software
Process Improvement and Capability
dEtermination).
Framework ISO/IEC 12207 (1991)
definisce e sistematizza tutte le attivit convolte nel
processo di produzione del sw
approccio funzionale ai processi produttivi : insieme
di attivit coordinate che trasformano un ingresso in
una uscita
21
22
23
24
Processi di supporto
1 Documentazione
1 Acquisizione
3 Assicurazione di qualit
4 Verifiche
4
Esercizio
3 Sviluppo
5
Manutenzione
5 Validazioni
6 Riesami congiunti
7 Ispezioni
8 Risoluzione dei problemi
2 Infrastrutture
3 Miglioramenti
4 Addestramento
25
3 Sviluppo
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
26
2.
3.
4.
27
28
2.
3.
4.
29
Motivazioni
Obiettivi
Confronto con CMM
Vision 2000
30
31
32
33
34
ISO 9003
ISO 9002
ISO 9001
Ing. del SW: Prima parte Sez II
35
36
37
5.Ottimizzante
4.Gestito
3.Definito
2.Ripetibile
4 . 20 (Statistiche)
4 . 14 (Azioni Preventive)
4 . 18 (Addestramento)
4 . 17 (Verifiche ispettive interne qualit)
4 . 4 (Controllo Progetto)
4 . 5 / 4 . 8 (Controllo Document./Ident. rintr. prod.)
4 . 2 (Sistema Qualit)
1.Iniziale
38
http://www.sei.cmu.edu/pub/documents/94.reports/pdf/tr12.94.pdf
39
40
41
42
43
2.
3.
44
45
46
47
8.
9.
48
I 4 processi base
1. Responsabilit della direzione, in 6 punti, tra cui
rilevante il secondo, attenzione focalizzata al cliente,
che introduce specifici elementi per guidare nella corretta
analisi delle necessit dei clienti.
2. Gestione delle risorse. Tra le novit, va segnalata la voce
relativa alla Formazione e Qualificazione.
3. Realizzazione del prodotto e/o del servizio, dove si
addensano probabilmente le novit pi importanti,
introducendo una particolare attenzione alla qualit dei
processi
4. Misure, analisi, miglioramenti. Anche qui una novit
rilevante la misura della soddisfazione utente
Ing. del SW: Prima parte Sez II
49
50
51
52
53
54
55
Risorse
ISO 9000
MdQ
ISO 10005
PdQ
ISO 10013
Cliente
Obiettivi
progetto
56
57
58
59
CNC+COC
COC
Costo della
conformit
costo
Basso
Alto
60
61
Settore
elettrotecnico
A livello internazionale
ISO
IEC
A livello europeo
CEN
CENELEC
A livello nazionale
UNI
CEI
62
Sigle
lSO
IEC
CEN
CENELEC
UNI
CEI
63
Definizioni di Software
Definizioni ISO 12207 e IEEE:
Prodotto sw: insieme di programmi, procedure, e
della documentazione e dei dati associati
Elemento sw: parte identificabile di un prodotto
sw, ad uno stadio intermedio o allo stadio finale di
sviluppo
64
I quattro componenti
1. Codice
2. Procedure: tutte le informazioni necessarie alla corretta
esecuzione del codice (sequenza di esecuzione, persone, ecc.)
3. Documentazione
65
i > 0
invece di
i >= 0
66
67
68
69
70
9 - Errori di documentazione
Omissioni, descrizione di funzionalit inesistenti, mancato
allineamento con la versione corrente
Errori nei documenti di progetto e documentazione del sw
Errori nella documentazione utente
71
PRESSMAN:
Conformit con requisiti funzionali e non funzionali,
con espliciti standard di sviluppo e caratteristiche
implicite di un software sviluppato professionalmente
72
73
Fattori di qualit
Alla base di un qualunque tentativo di produrre sw
di qualit c la necessit di avere unottima
documentazione dei requisiti (se non noto cosa
occorre fare difficile farlo bene...)
In particolare, oltre alla definizione corretta di
specifiche funzionali e non, occorre includere tutti
gli aspetti di qualit ritenuti essenziali per
lapplicazione, quali, ad esempio:
usabilit
manutenibilit
affidabilit
...
74
75
76
77
Scoprire errori
Verificare il soddisfacimento dei requisiti
Verificare se si stanno rispettando gli standard
Verificare il grado di uniformit del prodotto
Rendere pi governabili i progetti
78
79
80
81
82
83
Misure di affidabilit
Sulla base di dati storici, possibile valutare
laffidabilit di un prodotto sw.
Vengono prese in considerazione due grandezze:
MTTF (mean time to failure, tempo medio prima di
un guasto quando il programma in esercizio)
MTTR (mean time to repair, tempo medio di
riparazione quando il programma non in
esercizio)
84
Affidabilit e disponibilit
Esempio:
MTTF = 90 giorni
MTTR = 3 giorni
MTBF = 93 giorni
Disponibilit = 100 * 90/93 % = 96,8 %
Ing. del SW: Prima parte Sez II
85
Definizioni
La revisione del 2001
Qualit interna, esterna, in uso
Caratteristiche e sottocaratteristiche
Metriche
Punti di vista
86
87
88
89
90
91
92
Utenti
Sviluppatori/manutentori
Gestori del sistema
Committenti
93
identificare i requisiti
validare la completezza dei requisiti
identificare gli obiettivi della fase di progetto
identificare i criteri di assicurazione della qualit
identificare i criteri di accettazione dei prodotti
fornire un quadro di riferimento per la definizione della
qualit del software in un documento contrattuale
fornire un supporto per le revisioni, verifiche,
validazioni, valutazioni
94
95
96
97
La qualit interna
La qualit interna rappresenta le propriet
intrinseche del prodotto (misurabili direttamente sul
codice sorgente). Si realizza a partire da:
i requisiti dellutente, che rappresentano le specifiche di
qualit cos come date dallutente, fornendo il primo
input alla progettazione
le specifiche tecniche, che rappresentano la qualit
richiesta dallutente tradotta dallo sviluppatore
nellarchitettura del software, nella struttura del
programma, nella interfaccia verso lutente
98
99
functionality
reliability
usability
efficiency
maintainability
portability
suitability
accuracy
interoperability
security
maturity
fault tolerance
recoverability
understandability
learnability
operability
attractiveness
time behaviour
resource
utilisation
analysability
changeability
stability
testability
adaptability
installability
co-existence
replaceability
usability
compliance
efficiency
compliance
maintainability
compliance
portability
compliance
functionality
compliance
reliability
compliance
100
Le caratteristiche 9126-1:
Funzionalit...
101
...Funzionalit: metriche
Adeguatezza: presenza di funzioni appropriate per compiti
specifici
numero di funzionalit implementate/numero di funzionalit richieste
102
Le caratteristiche 9126-1:
Affidabilit...
Affidabilit: capacit di mantenere le prestazioni
stabilite nelle condizioni e nei tempi fissati (il
software reagisce bene a variazioni esterne); le
sottocaratteristiche sono:
Maturit (robustezza): capacit di evitare fermi della
applicazione a seguito di errori nel software
Tolleranza errori: capacit di mantenere determinati
livelli di prestazione in caso di errori
Recuperabilit: capacit di ripristinare livelli di
prestazione predeterminati e di recuperare i dati a
seguito di errori
Ing. del SW: Prima parte Sez II
103
...Affidabilit: metriche
Maturit (robustezza): capacit di evitare fermi della
applicazione a seguito di errori nel software
mtbf (mean time between failures)
tempo di funzionamento corretto/tempo di utilizzo
104
Le caratteristiche 9126-1:Usabilit...
Usabilit: capacit del sw di essere compreso, appreso,
usato con soddisfazione dallutente in determinate
condizioni duso (il software gestisce bene linterazione con
gli utenti); le sottocaratteristiche sono:
Comprensibilit: impegno richiesto agli utenti per
capire il funzionamento del software e la sua
applicabilit,
Apprendibilit: impegno richiesto agli utenti per
imparare a usare il software.
Operabilit: disponibilit delle funzioni essenziali per
utilizzare correttamente il SW.
Attrattivit/Piacevolezza: capacit del software di
essere piacevole per lutente che ne fa uso
Ing. del SW: Prima parte Sez II
105
Usabilit: metriche
Comprensibilit: impegno richiesto agli utenti per capire il
funzionamento del software e la sua applicabilit
tempo medio di comprensione della finalit del software
scala di Likert + questionari
106
107
...Efficienza: metriche
Comportamento rispetto al tempo: tempi di
risposta e di elaborazione richiesti per eseguire le
funzioni richieste in determinate condizioni
tempo medio di risposta (varianza)
su singole funzioni (pi significative)
su tutte le funzioni (eventualmente pesate)
108
Le caratteristiche 9126-1:
Manutenibilit...
Manutenibilit: capacit del software di essere
modificato con un impegno contenuto (il software
segue levoluzione dellorganizzazione); le
sottocaratteristiche sono:
Analizzabilit: impegno richiesto per diagnosticare
carenze o cause di fallimento, o per identificare parti da
modificare
Modificabilit: impegno richiesto per modificare,
rimuovere errori o sostituire componenti
Stabilit: capacit di ridurre il rischio di
comportamenti inaspettati a seguito di modifiche
Provabilit: impegno richiesto per validare le
modifiche apportate al software
Ing. del SW: Prima parte Sez II
109
...Manutenibilit: metriche
Analizzabilit: impegno richiesto per diagnosticare carenze o
cause di fallimento, o per identificare parti da modificare
numero di errori diagnosticati durante il test/impegno in giorni uomo
110
111
...Portabilit: metriche
Adattabilit: capacit da parte del software di adattarsi a nuovi
ambienti operativi applicando le sole azioni previste per questo
motivo da parte del software stesso
numero di cambiamenti effettuati cambiando l'ambiente operativo
giorni uomo necessari
112
Stock management
software
management
of the cash registers
stocking of articles
to orders to the
suppliers
to elaborate a
customers data
Embedded software
in a satellite
data acquisition
transmission of data
to the
real time constraints
SELECTED
SELECTED CHARACTERISTICS
CHARACTERISTICS
Functionnality
Reliability
Usability
Efficiency
Maintainability
Portability
Relevant Characteristic
113
effectiveness
productivity
safety
satisfaction
114
115
116
117
118
Utente
Sviluppatore
Gestore
Committente
Alta
Bassa
Bassa
Media
Media
Media
Alta
Media
Alta
Bassa
Media
Media
Media
Media
Alta
Media
Bassa
Alta
Media
Media
Bassa
Alta
Alta
Media
119
effectiveness
Qualit
esterna
Qualit
interna
Dipende da
La qualit in uso
quella cui deve tendere
un prodotto software
Influenza
Influenza
Influenza
Qualit
dei processi
Risultati
Prodotto
Processo
Dipende da
Qualit
in uso
Dipende da
quality in
use
productivity
safety
satisfaction
120
Sintetizzando
Required Product Quality (RPQ), che rappresenta le
specifiche di qualit cos come date dallutente, e fornisce
linput da utilizzare per iniziare la progettazione
Design Quality (DQ), la qualit RPQ tradotta
nellarchitettura del sw, nella struttura del programma,
nella interfaccia verso lutente, che riflette il confronto tra
la filosofia e la competenza del disegnatore del sistema
applicativo ed il punto di vista dellutente
Delivered Product Quality (DPQ), la qualit del prodotto
effettivamente consegnato
121
3) indicatori Alcune misure possono essere stimate da altre misure (utile nel
caso di misure che non possono essere rilevate direttamente)
Ad es., il tempo di risposta del software non misurabile quando il sw stesso
ancora allo stato di non eseguibile. Cos, pu essere utilizzata la misura della
semplice lunghezza del codice stesso come indicatore di quello che sar il tempo
di risposta del prodotto nellambiente duso
Ing. del SW: Prima parte Sez II
122
Eccellente
Ottimo
Buono
Discreto
Intervallo di
accettabilit
Sufficiente
Soglia accettabilit
Non accettabile
123
124
125