ISO 9000 definisce la qualità come il grado in cui un insieme di caratteristiche inerenti un prodotto o servizio soddisfa i requisiti.
Tre tipi di qualità:
- Qualità esterna: che dipende dall'interazione del sistema con l'ambiente esterno. Altro esempio: la sicurezza di un dato dipende dall'hardware che lo custodisce.
- Qualità interna: rappresente la qualità intrinseca di un prodotto, intesa come aspetto statico del prodotto.
- Qualità percepita: che è correlata alla percezione diretta dell'utente e dipende da come il prodotto riesce a soddisfare le esigenze dell'utente.
Il concetto di qualità è multi-dimensionale, cioè può essere espresso come una serie di attributi che un prodotto deve avere.
Qualità interna/esterna:
- Funzionalità (es: precisione, accuratezza, grado di conformità, sicurezza, ... )
- Affidabilità
- Usabilità (es: attrattività, gestibilità, ... )
- Efficienza (es: tempo di risposta, utilizzo di risorse, ... )
- Manutenibilità
- Portabilità
Qualità d'uso:
- Efficacia
- Produttività
- Safety (il sistema opera limitando il rischio per le persone ? )
- Soddisfazione
La Qualità è un processo gestibile che porta a un continuo miglioramento. Deve essere un obietivo condiviso da tutta l'organizzazione e durante tutto il ciclo di vita del prodotto.
si basa su 8 pilastri:
- Focus sul cliente
- Leadership (l'organizzazione deve essere guidata verso gli obiettivi che si è posta)
- Coinvolgimento delle persone
- Approccio a "processi"
- Approccio a "sistema" nella gestione
- Miglioramento continuo
- Approccio decisionale fondato sui fatti (le decisioni dovrebbero essere basate sull'analisi dei dati e informazioni)
- Relazione con il fornitore di mutuo beneficio
Il sistema deve quindi comprendere questi tre fattori:
- la documentazione
- Manuale di qualità
- Piano di qualità (come il sistema di gestione della qualità è applicato a uno specifico prodotto)
- Specifiche (contengono i requisiti)
- Linee guida
- l'implementazione
- la dimostrazione di efficacia
è un termine che descrive il complesso dei concetti e delle pratiche raccomandate che sono contenuti nella disciplina dell'ingegneria del software.
Le aree raccomandate:
- Analisi dei requisiti
- fondamenti dei requisiti
- processo di analisi dei requisiti (miglioramento, cernita)
- raccolta dei requisiti
- analisi dei requisiti (qualche conflitto?)
- specifica dei requisiti
- validazione dei requisiti
- considerazioni pratiche
- Disegno del software (definizione dell'architettura, componenti e interfacce)
- fondamenti di disegno del software
- problemi chiave nel disegno del software (gestione errori e eccezioni, tolleranza ai guasti, concorrenza)
- struttura del software
- Implementazione del software (codifica, verifica, testing e debugging)
- Test del software
- Mantenimento del software
- Gestione della configurazione del software
- Gestione dell'ingegneria del software (negoziazione dei requisiti, studio di fattibilità, revisione requisiti)
- Qualità del software