-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path10_qualsoftware.html
97 lines (87 loc) · 7.53 KB
/
10_qualsoftware.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<title>Processi software - sweki</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="author" content="Giorgio Giuffrè" />
<meta name="keywords" content="sweki, ingegneria, software, qualità" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="main.css" />
<link rel="prev" href="09_projdidattico.html" />
<link rel="next" href="11_qualprocesso.html" />
</head>
<body>
<div id="header">
<h1>
<a class="prev" title="prev" href="09_projdidattico.html"><</a>
<a href="index.html"><acronym title="SoftWare Engineering wiKI">sweki</acronym></a>
<a class="next" title="next" href="11_qualprocesso.html">></a>
</h1>
<h2>la <span xml:lang="en">wiki</span> di Ingegneria del <span xml:lang="en">Software</span></h2>
</div>
<div id="content">
<h1>Qualità del <span xml:lang="en">software</span></h1>
<h2>Definizione di qualità</h2>
<p>Secondo <abbr title="International Organitazion for Standardization">ISO</abbr>, la qualità è l'insieme delle caratteristiche di un'entità che ne determinano la capacità di soddisfare esigenze espresse e implicite. Valutare la qualità del <span xml:lang="en">software</span> serve sia a chi lo ha realizzato (per migliorarlo), sia a chi lo usa (per avere garanzie), sia a chi valuta (per imparare). Tuttavia, quello di qualità è un concetto ambivalente: può riguardare la conformità ai requisiti (visione intrinseca della qualità), la soddisfazione del cliente (visione relativa) o la misura del livello di qualità (visione quantitativa); ad ogni modo, tutte queste sono aree in cui interviene il "sistema qualità".</p>
<h2>Il sistema qualità</h2>
<p><abbr title="International Organitazion for Standardization">ISO</abbr> definisce il "sistema qualità" come la struttura organizzativa, le responsabilità, le procedure, i procedimenti e le risorse messe in atto per il perseguimento della qualità. Questo sistema gestisce la qualità in tre ambiti:</p>
<ul>
<li>La <strong>pianificazione</strong>, cioè le attività del sistema qualità mirate a fissare gli obiettivi di qualità, con i processi e le risorse necessari per conseguire tali obiettivi; è una premessa al controllo della qualità.</li>
<li>Il <strong>controllo</strong>, cioè le attività del sistema qualità pianificate e attuate affinché il prodotto soddisfi i requisiti attesi.</li>
<li>Il <strong>miglioramento continuo</strong>, secondo lo schema <abbr title="Plan, Do, Check, Act">PDCA</abbr>.</li>
</ul>
<p>Il sistema qualità è fissato nelle Norme di Progetto (il Piano di Qualifica fissa invece gli <em>obiettivi</em> di qualità: i piani fissano solo obiettivi e strategie per raggiungerli).</p><!-- ... boh?! -->
<h2>Modelli della qualità</h2>
<p>Per uniformare la percezione e la valutazione della qualità, è bene che committenti e fornitori si accordino su un <strong>modello</strong> da seguire per la qualità. Esistono vari modelli della qualità; ognuno di essi definisce le caratteristiche rilevanti che deve avere un prodotto "di qualità" e organizza tali caratteristiche in una struttura logica.</p>
<p>Ad esempio, <abbr title="International Organitazion for Standardization">ISO</abbr>/<abbr title="International Electrotechnical Commission">IEC</abbr> 9126 definisce 7 caratteristiche principali (suddivise poi in 31 sotto-caratteristiche):</p>
<ul>
<li>funzionalità;</li>
<li>affidabilità;</li>
<li>efficienza;</li>
<li>usabilità;</li>
<li>manutenibilità;</li>
<li>portabilità;</li>
<li>qualità in uso.</li>
</ul>
<p>Oltre a descriverle, il modello specifica anche come <em>misurarle</em>, cioè assegna ad ogni caratteristica una metrica (che è un modo per dare un significato a dei valori). Un modello è quindi uno strumento di definizione e di valutazione:</p>
<ul>
<li><strong>definizione</strong> perché cataloga in modo sistematico delle caratteristiche rilevanti;</li>
<li><strong>valutazione</strong> perché definisce delle metriche per la misurazione di tali caratteristiche.</li>
</ul>
<p>Sempre in <abbr title="International Organitazion for Standardization">ISO</abbr>/<abbr title="International Electrotechnical Commission">IEC</abbr> 9126, vengono proposte tre visioni della qualità:</p>
<ul>
<li>Visione esterna, relativa all'esecuzione del prodotto; è ciò che si osserva, quindi solo la punta dell'iceberg.</li>
<li>Visione interna, relativa al prodotto <em>non</em> in esecuzione; è ciò che deriva dalle scelte di progettazione, codifica e verifica, quindi si può vedere solo attraverso una revisione critica del prodotto.</li>
<li>Visione in uso, relativa alla percezione dell'utente finale.</li>
</ul>
<p>Mentre le visioni interna ed esterna si riferiscono al prodotto <span xml:lang="en">software</span>, la visione in uso si riferisce agli <em>effetti</em> di tale prodotto.</p>
<h2>Qualità nel ciclo di vita</h2>
<p>Possiamo individuare una catena di dipendenze tra le varie visioni della qualità: la <strong>qualità di un processo</strong> influenza gli attributi della <strong>qualità interna</strong>, che influenza gli attributi della <strong>qualità esterna</strong>, che influenza gli attributi della <strong>qualità in uso</strong>.</p>
<p>È bene che i seguenti aspetti siano il meno distante possibile tra loro:</p>
<ol>
<li>qualità obiettivo;</li>
<li>qualità richiesta;</li>
<li>qualità progettata;</li>
<li>qualità stimata;</li>
<li>qualità consegnata.</li>
</ol>
<p>Il committente ha responsabilità sulle prime due; il fornitore su tutte quante tranne la prima.</p>
<h2>Metriche e misurazioni</h2>
<p>Una <strong>metrica</strong> è un modo per dare un significato a dei valori, quindi è l'interpretazione di un sistema di unità di misura. Una <strong>misurazione quantitativa</strong> è l'uso di una metrica per assegnare un valore su una scala predefinita.</p>
<p>Le metriche <span xml:lang="en">software</span> permettono di quantificare sia un prodotto (e quindi predire i suoi attributi) sia un processo (al fine di monitorarlo e migliorarlo).</p>
<p>L'uso di una metrica assume che:</p>
<ul>
<li>Si può misurare un certo attributo (o proprietà) del <span xml:lang="en">software</span>.</li>
<li>Esiste una relazione tra ciò che possiamo misurare e ciò che vogliamo sapere. Ad esempio, generalmente è possibile misurare solo attributi <em>interni</em> del <span xml:lang="en">software</span>, mentre ciò che più spesso ci interessa sono i suoi attributi <em>esterni</em>: per capire il grado di manutenibilità di un <span xml:lang="en">software</span> (attributo esterno), dobbiamo conoscere il numero di righe di codice, il numero di parametri per procedura, l'ampiezza del manuale utente... (attributi interni).</li>
<li>La suddetta relazione è stata formalizzata e validata.</li>
</ul>
<p>La selezione delle metriche (e la scelta dei criteri di accettazione) parte dall'analisi dei requisiti di qualità e dei vincoli di costo. Dopodiché:</p>
<ol>
<li>una volta selezionate le metriche, si può procedere alla misurazione;</li>
<li>poi si passa alla valutazione (che è una verifica quantificata);</li>
<li>e infine viene l'accettazione — basandosi, appunto, sui criteri di accettazione scelti.</li>
</ol>
</div>
</body>
</html>