Software Quality Management - Introduzione
Per software di qualità si intende un software che è ragionevolmente privo di bug o difetti, viene consegnato in tempo ed entro il budget specificato, soddisfa i requisiti e / o le aspettative ed è mantenibile. Nel contesto dell'ingegneria del software, la qualità del software riflette entrambifunctional quality così come structural quality.
Software Functional Quality - Riflette quanto bene soddisfa un determinato progetto, in base ai requisiti o alle specifiche funzionali.
Software Structural Quality - Si occupa della gestione dei requisiti non funzionali che supportano la consegna dei requisiti funzionali, come la robustezza o la manutenibilità, e il grado in cui il software è stato prodotto correttamente.
Software Quality Assurance- Software Quality Assurance (SQA) è un insieme di attività per garantire la qualità nei processi di ingegneria del software che alla fine si traducono in prodotti software di qualità. Le attività stabiliscono e valutano i processi che producono i prodotti. Implica un'azione incentrata sul processo.
Software Quality Control- Software Quality Control (SQC) è un insieme di attività volte a garantire la qualità dei prodotti software. Queste attività si concentrano sulla determinazione dei difetti nei prodotti effettivamente prodotti. Implica un'azione incentrata sul prodotto.
La sfida della qualità del software
Nell'industria del software, gli sviluppatori non dichiareranno mai che il software è privo di difetti, a differenza di quanto fanno di solito altri produttori di prodotti industriali. Questa differenza è dovuta ai seguenti motivi.
Complessità del prodotto
È il numero di modalità operative consentite dal prodotto. Normalmente, un prodotto industriale consente solo meno di poche migliaia di modalità di funzionamento con diverse combinazioni delle impostazioni della macchina. Tuttavia, i pacchetti software consentono milioni di possibilità operative. Pertanto, garantire correttamente tutte queste possibilità operative è una grande sfida per l'industria del software.
Visibilità del prodotto
Poiché i prodotti industriali sono visibili, la maggior parte dei suoi difetti possono essere rilevati durante il processo di produzione. Anche l'assenza di una parte in un prodotto industriale può essere facilmente rilevata nel prodotto. Tuttavia, i difetti nei prodotti software che sono memorizzati su dischetti o CD sono invisibili.
Sviluppo del prodotto e processo di produzione
In un prodotto industriale, i difetti possono essere rilevati durante le seguenti fasi:
Product development - In questa fase, i progettisti e il personale addetto all'assicurazione della qualità (QA) verificano e testano il prototipo del prodotto per rilevarne i difetti.
Product production planning- In questa fase vengono progettati e preparati il processo di produzione e gli strumenti. Questa fase offre anche l'opportunità di ispezionare il prodotto per rilevare i difetti che sono passati inosservati durante la fase di sviluppo.
Manufacturing- In questa fase vengono applicate procedure di QA per rilevare i guasti dei prodotti stessi. I difetti del prodotto rilevati nel primo periodo di fabbricazione possono essere solitamente corretti da un cambiamento nel design o nei materiali del prodotto o negli strumenti di produzione, in modo da eliminare tali difetti nei prodotti fabbricati in futuro.
Tuttavia, nel caso del software, l'unica fase in cui è possibile rilevare i difetti è la fase di sviluppo. Nel caso del software, la pianificazione della produzione del prodotto e le fasi di fabbricazione non sono richieste in quanto la produzione delle copie del software e la stampa dei manuali del software sono eseguite automaticamente.
I fattori che influenzano il rilevamento dei difetti nei prodotti software rispetto ad altri prodotti industriali sono mostrati nella tabella seguente.
Caratteristica | Prodotti software | Altri prodotti industriali |
---|---|---|
Complessità | Milioni di opzioni operative | mille opzioni operative |
visibilità del prodotto | Prodotto invisibile Difficile rilevare i difetti alla vista | Prodotto visibile Rilevamento efficace dei difetti alla vista |
Natura dello sviluppo e processo di produzione | può difettare i difetti in una sola fase | può rilevare i difetti in tutte le seguenti fasi
|
Queste caratteristiche del software come la complessità e l'invisibilità rendono lo sviluppo della metodologia di garanzia della qualità del software e la sua implementazione di successo una sfida altamente professionale.