QUALITA
Cos è Insieme di: struttura organizzativa (equipe di qualità + capo progetto) responsabilità procedure procedimenti risorse Messi in atto per la conduzione aziendale per la qualità.
Obiettivo La qualità costa ma vale la pena
Obiettivo Limitare i rischi rischi di gestione rischi tecnici Attraverso regole e criteri comuni, e attraverso un processo di controllo che ne verifichi l'applicazione.
Definizione La Qualità è: Il rispetto dei requisiti e prestazioni enunciati esplicitamente, la conformità agli standard di sviluppo esplicitamente documentati e le caratteristiche implicite che si aspetta di un prodotto SW realizzato professionalmente
Processi nella produzione SW Analisi dei processi aziendali processi primari (generazione dei prodotti) approvvigionamento di prodotti software o hardware, gestione della fornitura al cliente, sviluppo dei prodotti software, avviamento e utilizzo del prodotto sviluppato, gestione della manutenzione del prodotto sviluppato
Processi nella produzione SW processi di sopporto (servizi alle attività principali) documentazione di tutti i processi sviluppati gestione della configurazione, verifica del software, confrontando quanto sviluppato in ogni fase con le indicazioni tecniche fornite validazione del software assicurazione di qualità risoluzione dei problemi
Processi nella produzione SW processi organizzativi pianificazione e controllo della fornitura formazione del personale gestione delle risorse hardware e software revisione delle procedure e dei processi in funzione del miglioramento continuo.
Attività Garanzia Piano Controllo
Attività: la garanzia Garanzia / Assicurazione della qualità (QA) consiste in stabilire le procedure organizzative e gli standard che gestiscono un SW di alta qualità, cioè definire come un organizzazione intende applicare la qualità. S intende definire o selezionare gli standard che saranno applicati al processo di sviluppo o al prodotto stesso. Questi standard possono essere sopportati da strumenti comprati appositamente o sviluppati. L assicurazione di qualità serve a migliorare la qualità dei processi di sviluppo e del prodotto finale. L assicurazione di qualità è quell insieme di attività pianificate e sistematiche che assicurano che i processi ed i prodotti software sviluppati siano conformi ai requisiti, agli standard ed alle procedure. I processi da controllare comprendono tutte le attività collegate alla progettazione, sviluppo e manutenzione del software. I prodotti da controllare comprendono il software, i dati collegati, la documentazione ed ogni altro elemento di supporto. La QA deve essere indipendente dalla struttura produttiva, per garantire un controllo preciso ed imparziale.
Attività: il piano di qualità di un progetto Piano di qualità di un progetto consiste a selezionare procedure e standard appropriati al progetto sviluppato. Il piano di qualità analizza un progetto in termini di rischi potenziali da evitare e obiettivi di qualità da raggiungere, relativamente sia ai processi che ai prodotti. Individua i criteri obiettivi di misurazione (metriche) e gli obiettivi (riesami, controlli, attività di verifica e validazione, utilizzo di tecniche statistiche). Infine si occupa della gestione delle risorse dedicate alla assicurazione di qualità, definendone anche i ruoli e le responsabilità. Il piano della qualità può essere un documento pubblico, e viene in genere approvato dal cliente. L importanza del piano della qualità è tanto maggiore quanto più alto è il livello di associato al progetto.
Attività: il controllo Controllo consiste ad assicurare che procedure e standard sono applicati dall'équipe di sviluppo. Ispezione del design o programma Revisione dei progressi Revisione di qualità
I fattori di qualità (Mc Call)
Le Norme ISO 9000 ISO 9000 ISO è una organizzazione internazionale (International Organisation for Standardsation) che si occupa di definire e diffondere standard in tutti i processi produttivi. Sicuramente le norme più conosciute e più applicate nel settore della qualità sono le norme ISO 9000, interpretate in modo più specifico per le aziende di software dalla guida ISO 9000-3. Sono norme per la certificazione dei sistemi di qualità e si applicano in generale ad ogni organizzazione di progettazione, produzione e distribuzione.
Le Norme ISO 9000 Famiglia delle Norme " ISO 9000: descrive le terminologia e i principi essenziali dei sistemi di gestione qualità e della loro organizzazione " ISO 9001: definizione dei requisiti dei sistemi qualità; " ISO 9004: guida per il miglioramento delle prestazioni delle organizzazioni.
Le Norme ISO 9001 Poiché la norma ISO 9001 si applica a qualsiasi disciplina ingegneristica, è stato pubblicato un documento (ISO 9000-3) che guida la sua interpretazione nel contesto del processo software. Il modello può essere diviso in 3 categorie: gestione dell'organizzazione gestione del prodotto, gestione dello sviluppo. Ciascuno paese a la propria istanziazione di questa norma.
Le Norme ISO 9001 4.1 Responsabilità della direzione 4.2 Sistema Qualità 4.3 Riesame del contratto 4.4 Controllo della progettazione 4.5 Controllo dei documenti e dei dati 4.6 Approvvigionamento 4.7 Controllo del prodotto fornito dal committente 4.8 Identificazione e rintracciabilità 4.9 Controllo del processo 4.10 Prove, controlli e collaudi 4.11 Controllo delle apparecchiature di prova, misurazione e collaudo 4.12 Stato delle prove, controlli e collaudi 4.13 Controlli dei prodotti non conformi 4.14 Azioni correttive e preventive 4.15 Movimentazione, immagazzinamento, imballaggio, conservazione e consegna 4.16 Controllo della registrazione della qualità 4.17 Verifiche ispettive interne della qualità 4.18 Addestramento 4.19 Assistenza 4.20 Tecniche statistiche.
Le Norme ISO 12207 Obiettivo principale della Norma ISO 12207 è quello di definire in modo preciso i processi del Ciclo di Vita del Software, dalla formulazione dei requisiti, allo sviluppo, all'esercizio ed alla manutenzione. primari, attività direttamente legate allo sviluppo del software: acquisizione fornitura sviluppo esercizio manutenzione di supporto, che includono la gestione dei documenti e dei processi di controllo della qualità: documentazione gestione della configurazione assicurazione della qualità verifica validazione review congiunte audit risoluzione dei problemi
Le Norme ISO 12207 organizzativi, che coprono gli aspetti manageriali e di gestione delle risorse: gestione dello sviluppo, gestione delle infrastrutture, gestione del miglioramento, formazione.
Come misurare la qualità? Le metriche
Le Metriche Le metriche software possono essere utilizzate per: stimare il budget di un progetto conoscere l avanzamento del progetto stimare la qualità del software Come metriche si possono utilizzare: 1 Le linee di codice (LOC) 2 I punti funzionali (misurare le funzionalità che l'utente riceve e richiede) 3 Gli errori per linee di codice
Le Metriche 4 La complessità ciclomatica (Mc Cabe) Complessità Ciclomatica (CC) = num(edges) num.(nodes) + 1 Esercizio: Quale è la CC di questo grafo?
Le Metriche Per la qualità della progettazione Metriche per la qualità della progettazione I criteri di qualità per la progettazione sono: (a) la coesione interrazione tra componenti. Un componente coeso fa (idealmente) una sola cosa. (b) il coupling (accopiamento) independenza di un componente (c) la comprensione: facilità di capire la funzione di un componente. (d) l'adattabilità: facilità di modificare il componente. Le metriche sono: (a) conoscenza del contesto del componente
Le Metriche Per la qualità della progettazione (b) il coupling indica il num. di referenze inter-componenti. Può essere misurato con la tecnica del fan-in, fan-out. Un alto fan-in traduce una qualità di accopiamento alta; un alto fan-out traduce un alta complessità del componente. (c) e (d) difficile da misurare. Esiste però una relazione con la complessità di un componente.
Le Metriche Per la qualità del programma Metriche per la qualità del programma Possibili relazioni tra attributi interni e esterni
COCOMO 2.0 COCOMO 2.0 La filosofia di base di COCOMO è quella di calcolare lo sforzo (S) di sviluppo (mesi/persona) in funzione del numero di istruzioni (I) consegnate del prodotto software. Il calcolo dello sforzo può essere perfezionato attraverso un set di parametri correttivi chiamati cost driver (Ci). I espresso in KDSI:Kilo Delivered Source Instructions