LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vorresti leggere La campana
Niente spam

Prima di considerare le norme che regolano gli aspetti della qualità Software, dobbiamo prima discutere problemi generali sulla qualità di qualsiasi tipo di prodotto. Le questioni generali includono le definizioni e la terminologia nel campo, i concetti di base della qualità, il ruolo della documentazione nell'assicurazione della qualità del prodotto e la selezione e l'applicazione degli standard di qualità internazionali. Indubbiamente, gli standard internazionali della serie ISO 9000, sviluppati dall'Organizzazione internazionale per la standardizzazione, sono diventati gli standard principali nel campo della qualità. La seguente sottosezione affronta le questioni generali sopra elencate alla luce della serie di norme ISO 9000.

1.1 Fondamenti della serie di norme ISO 9000

In primo luogo, la serie di standard ISO 9000 si riferisce a tutti gli standard internazionali sviluppati dal Comitato tecnico 176 Gestione della qualità e garanzia della qualità dell'Organizzazione internazionale per la standardizzazione (ISO). La serie contiene attualmente tutti gli standard internazionali da 9000 a 9004 (comprese tutte le parti di ISO 9000 e ISO 9004), da 10001 a 10020 (comprese tutte le parti) e ISO 8402. Di seguito sono riportati i nomi delle principali norme che compongono questa serie.

ISO 9000-1-94 Gestione della qualità e standard di garanzia della qualità. Parte 1. Linee guida per la scelta di candidarsi.

ISO 9000-2-93 Gestione della qualità e standard di garanzia della qualità. Parte 2: Linee guida generali per l'applicazione di ISO 9001, ISO 9002 e ISO 9003.

ISO 9000-3-91 Gestione della qualità e standard di garanzia della qualità. Parte 3: Linee guida per l'applicazione della ISO 9001 nello sviluppo, fornitura e manutenzione di software.

ISO 9000-4-93 Gestione della qualità e standard di garanzia della qualità. Parte 4. Linee guida per l'amministrazione del programma generale di affidabilità.

ISO 9001-94 Sistemi di qualità. Un modello per la garanzia della qualità nella progettazione, sviluppo, produzione, installazione e assistenza.

ISO 9002-94 Sistemi di qualità. Modello per la garanzia della qualità nella produzione, installazione e servizio.

ISO 9003-94 Sistemi di qualità. Modello per la garanzia della qualità nell'ispezione del prodotto finito e nel collaudo finale.

ISO 9004-1-94 Gestione della qualità e elementi del sistema di qualità. Parte 1. Linee guida.

ISO 9004-2-91 Gestione della qualità e elementi del sistema di qualità. Parte 2. Linee guida del servizio.

ISO 9004-3-93 Gestione della qualità e elementi del sistema di qualità. Parte 3. Linee guida per i materiali lavorati.

ISO 9004-4-93 Gestione della qualità e elementi del sistema di qualità. Parte 4. Linee guida per il miglioramento della qualità.

ISO 10011-1-90 Sistemi di qualità. Linee guida per gli audit. Parte 1. Controlli.

ISO 10011-2-91 Sistemi di qualità. Linee guida per gli audit. Parte 2. Criteri di qualificazione per auditor esperti di sistemi di qualità.

ISO 10011-3-91 Sistemi di qualità. Linee guida per gli audit. Parte 3. Gestione amministrativa dei programmi di audit.

ISO 10012-1-92 Garanzia della qualità degli strumenti di misura. Requisiti. Parte 1. Sistemi di supporto metrologico per apparecchiature di misura.

ISO 10013 Manuali della qualità. Disposizioni di sviluppo. (In fase di pubblicazione).

ISO 8402-94 Gestione della qualità e assicurazione della qualità. Dizionario.

L'attuale accresciuta concorrenza tra le organizzazioni, i produttori di prodotti, compreso il software, porta alla definizione di requisiti di qualità più severi per questi prodotti. Per essere competitive, le organizzazioni devono applicare sistemi efficaci che portino a una migliore qualità dei prodotti ea una migliore soddisfazione dei clienti. I requisiti del cliente correttamente formulati e completi inclusi nelle specifiche tecniche non garantiscono ancora il pieno soddisfacimento di tali requisiti, poiché esistono carenze nel sistema di fornitura e supporto dell'organizzazione. Questa considerazione ha portato allo sviluppo di standard relativi ai sistemi di qualità e all'integrazione dei requisiti dei clienti per i prodotti. Gli standard internazionali della serie ISO 9000 hanno lo scopo di fornire un quadro comune per gli standard del sistema di qualità. Per sistema qualità si intende, secondo la norma ISO 8402, un insieme di struttura organizzativa, metodi, processi e risorse necessarie per la gestione complessiva della qualità dei prodotti fabbricati dall'organizzazione.

Il sistema di gestione della qualità di un'organizzazione è quegli aspetti della funzione di gestione complessiva utilizzati da un'organizzazione che definiscono la politica della qualità del prodotto, gli obiettivi e le responsabilità dell'organizzazione e li implementano attraverso i mezzi di pianificazione, controllo, garanzia e miglioramento della qualità all'interno del sistema di qualità. Oltre allo scopo dell'organizzazione, il sistema di gestione della qualità è influenzato dai prodotti che produce e dai metodi di produzione caratteristici di questa organizzazione. A causa del fatto che i metodi di produzione delle organizzazioni che operano anche nella stessa area sono diversi e gli obiettivi dell'organizzazione non sono sempre gli stessi, i sistemi di qualità di queste organizzazioni non coincidono. L'obiettivo principale del sistema di gestione della qualità è quello di migliorare i sistemi e i processi per migliorare la qualità del prodotto.

La serie ISO 9000 specifica quali elementi dovrebbero essere inclusi in un sistema di qualità, mentre l'organizzazione stessa deve implementarli, tenendo conto degli obiettivi, dei prodotti e dei processi specifici, nonché dei metodi specifici utilizzati dall'organizzazione.

Inoltre, le linee guida e i requisiti della serie ISO 9000 sono espressi in termini di obiettivi del sistema qualità da raggiungere e non prescrivono come tali obiettivi devono essere raggiunti, lasciando la scelta di tali metodi alla gestione dell'organizzazione. Gli standard di questa serie distinguono i requisiti per i sistemi di qualità dai requisiti dei clienti per i prodotti. I requisiti del sistema qualità sono complementari alle specifiche del prodotto. Ad esempio, ISO 12207 specifica il ciclo di vita dello sviluppo del software. I processi e i modelli di qualità corrispondenti al processo di assicurazione della qualità (2.3 della ISO 12207) sono specificati nella serie di standard ISO 9000.

ISO 9000-1 identifica quattro categorie di prodotti generali che coprono tutti i tipi di prodotti forniti da qualsiasi organizzazione:

    Mezzi tecnici.

    Software.

    materiali lavorati.

I requisiti per i sistemi di qualità specificati nella serie ISO 9000 di standard internazionali si applicano a tutte e quattro le categorie generali di prodotti, ma la terminologia e alcune disposizioni e aspetti dei sistemi di gestione della qualità possono essere diversi. Questo può essere visto dai titoli degli standard ISO 9004 - 2 e ISO 9004 - 3. Va notato che qualsiasi organizzazione offre prodotti in almeno due categorie. Ad esempio, un'organizzazione di sviluppo software fornisce inoltre ai propri clienti servizi per la manutenzione del software sviluppato.

Lo scopo delle linee guida e dei requisiti degli standard internazionali della serie ISO 9000 è soddisfare i requisiti dal punto di vista dei quattro aspetti che sono fondamentali per la qualità del prodotto.

1. Qualità identificando le esigenze dei clienti per i prodotti. Il primo aspetto è la qualità attraverso la definizione e l'ammodernamento dei prodotti al fine di soddisfare le esigenze e le opportunità del mercato.

2. Qualità attraverso il design. Il secondo aspetto è la qualità attraverso l'incorporazione di caratteristiche nei prodotti che li aiutano a soddisfare le richieste e le opportunità del mercato. In altre parole, la qualità in base alla progettazione sono quelle proprietà di progettazione che influiscono sul buon funzionamento di un prodotto in condizioni di produzione e applicazione variabili.

3. Qualità attraverso un design coerente. Il terzo aspetto è la qualità attraverso il mantenimento del costante rispetto del progetto, l'attuazione delle caratteristiche inerenti al progetto.

4. Qualità attraverso la manutenzione. Il quarto aspetto è la qualità attraverso il mantenimento dei prodotti durante il loro funzionamento, secondo necessità, al fine di mantenere le caratteristiche desiderate.

La serie di standard ISO 9000 fornisce nella sua interezza le linee guida generali per il controllo amministrativo ei requisiti per l'assicurazione esterna della qualità rispetto a quattro aspetti.

Gli standard internazionali della serie ISO 9000 si basano sulla comprensione che tutto il lavoro viene svolto attraverso processi (vedere la figura 1). Ogni processo ha fattori di input. L'output del processo è il risultato: prodotti, materiali e immateriali. Il processo stesso è (o dovrebbe essere) una trasformazione a valore aggiunto. Ogni processo coinvolge persone e/o altre risorse in una certa misura. Un output può essere, ad esempio, un programma, un servizio bancario, un prodotto finito (o intermedio) di una qualsiasi delle principali categorie di prodotti. Ci sono opportunità per effettuare misurazioni in ingresso, in varie fasi del processo, così come in uscita.

Come mostrato in Fig. 2, gli input e gli output possono essere di diversi tipi: relativi al prodotto (linee continue in Fig. 2) (ad esempio, materie prime, prodotto finito) e relativi all'informazione (linee tratteggiate) (ad esempio, prodotto requisiti, specifiche informative). Questa cifra rappresenta i processi dei fornitori con i processi dei subfornitori e dei clienti nella catena di approvvigionamento. Nella struttura di questa rete, vari ingressi e uscite si muovono in direzioni diverse. Il termine "prodotto" qui si riferisce a tutte e quattro le principali categorie di prodotti.

La gestione della qualità amministrativa viene effettuata attraverso la gestione dei processi nell'organizzazione. La gestione dei processi ha due facce:

gestione della struttura e del funzionamento del processo stesso, all'interno del quale si muove il prodotto o l'informazione;

controllo qualità dei prodotti o delle informazioni all'interno della struttura.

Data la struttura complessa della maggior parte delle organizzazioni, è importante isolare i processi fondamentali e semplificare e classificare i processi in base agli obiettivi di gestione della qualità. Un esempio rete complessa i processi possono essere un'organizzazione di sviluppo software in conformità con ISO/IEC 12207 e DO-178.

Fig.1.1 Tutto il lavoro viene eseguito utilizzando i processi.

Processi

fornitore

consumatore

requisiti

Fattori di input

Fattori di uscita

Stato e specifiche

prodotti

Stato e specifiche

prodotti

requisiti

Risposta

Risposta

sub-fornitore

Fig. 1.2 Il rapporto dei processi nella filiera in presenza di flussi associati a prodotti e informazioni.

Qualsiasi organizzazione deve definire, stabilire e gestire la propria rete di processi e interfacce. L'organizzazione crea, migliora e mantiene un livello costante di qualità nei suoi prodotti eseguendo una rete di processi. Questa è la base concettuale della serie di standard ISO 9000. I processi e le relative interfacce dovrebbero essere soggetti a revisione e miglioramento continuo al fine di garantire la qualità del prodotto.

Quando si valutano i sistemi di qualità di qualsiasi organizzazione, ISO 9000-1 consiglia di porre tre domande importanti su ciascun processo di rete da valutare.

Questi processi sono definiti e le relative procedure documentate?

Questi processi sono pienamente applicati e vengono documentati?

Questi processi sono efficaci nel raggiungere i risultati attesi?

Il risultato di una valutazione è la somma totale delle risposte a queste domande, relative rispettivamente all'approccio, all'applicazione e al risultato. Una valutazione del sistema di qualità può variare in base all'area coperta e includere diverse attività.

Uno dei tipi più importanti di tali attività, svolto in modo sistematico, è la valutazione dello stato e dell'adeguatezza del sistema qualità, effettuata dalla direzione dell'organizzazione secondo ISO 9001, 9002, 9003. Le conclusioni tratte nel processo di valutazione del sistema qualità dovrebbe portare ad un aumento della sua efficienza ed economia. La fonte di informazioni per tali conclusioni sono anche i risultati degli audit interni ed esterni del sistema qualità.

Le revisioni interne della qualità condotte dall'organizzazione stessa (Parte prima) forniscono informazioni per un efficace riesame della direzione e azioni correttive, preventive e di miglioramento.

Gli audit esterni condotti dai clienti del prodotto (seconda parte) e da organismi indipendenti (terza parte) assicurano, rispettivamente, la fiducia del cliente nel fornitore e la ricezione del certificato, assicurando così la fiducia in un certo numero di potenziali consumatori dei prodotti dell'organizzazione.

Occorre inoltre considerare le situazioni in cui la famiglia di norme ISO 9000 può essere applicata e il modo in cui il fornitore utilizza le serie.

Gli standard internazionali della serie ISO 9000 sono destinati ad essere applicati nelle quattro situazioni seguenti.

1. Come linee guida per la gestione della qualità. Il sistema qualità in questa situazione deve aumentare la propria efficienza per soddisfare i requisiti di qualità del prodotto in modo economico e ottimale.

2. Ai sensi del contratto tra la prima e la seconda parte. In questa situazione, il cliente richiede che alcuni elementi e processi del sistema qualità diventino parte del sistema qualità del fornitore, indicando uno specifico modello di garanzia della qualità.

3. Se approvato o registrato da una seconda parte. Questa è la situazione in cui il sistema qualità viene valutato dal cliente. Il fornitore può ricevere il riconoscimento ufficiale che il suo prodotto è conforme allo standard.

4. Se certificato o registrato da una terza parte. In questa situazione, il sistema di qualità viene valutato dall'organismo di certificazione e l'organizzazione si impegna a mantenere tale sistema di qualità per tutti i consumatori dei suoi prodotti.

Il fornitore può scegliere di utilizzare uno dei due metodi di utilizzo della famiglia di standard ISO 9000: "metodo motivato dal management" e "metodo motivato dagli stakeholder". Il secondo metodo è considerato il più comune.

Quando si utilizza il metodo motivato dagli stakeholder, il fornitore introduce inizialmente un sistema di qualità come risposta alle esigenze immediate dei clienti. Il sistema qualità deve essere conforme ai requisiti della ISO 9001, 9002, 9003. La gestione dell'organizzazione gioca un ruolo di primo piano in questo metodo, ma lo stakeholder esterno (consumatori) è la forza trainante.

Quando si utilizza il metodo motivato dal management, è il management dell'organizzazione che avvia gli sforzi per identificare le future esigenze e tendenze del mercato. La guida per l'istituzione iniziale di un sistema di qualità che migliori la qualità del prodotto è la ISO 9004-1 (e altre parti della ISO 9004). Inoltre, il fornitore può applicare la ISO 9001, 9002 o 9003 come modello di garanzia della qualità per dimostrare l'adeguatezza del sistema qualità al fine di ottenere la certificazione. Il sistema qualità così attuato è più capiente e fruttuoso di quello attuato nel primo modo.

La serie di norme ISO 9000 presta molta attenzione alla produzione e all'utilizzo della documentazione come attività a valore aggiunto. Un'adeguata documentazione svolge un ruolo significativo nelle seguenti attività di assicurazione della qualità:

nel raggiungimento della qualità del prodotto richiesta;

valutazione dei sistemi di qualità;

nel miglioramento della qualità;

nel mantenimento del livello di qualità raggiunto.

Per gli audit interni ed esterni, la documentazione delle procedure fornisce evidenza che i processi sono definiti, le procedure sono approvate e sono sotto controllo. È solo in queste circostanze che gli audit garantiscono una valutazione completa dell'adeguatezza dell'applicazione e dell'esecuzione della rete di processi dell'organizzazione.

Inoltre, la documentazione svolge un ruolo importante nel miglioramento della qualità del prodotto. Se le procedure sono documentate, applicate e seguite, è possibile determinare come vengono eseguite.

Lo standard ISO 9001, che definisce un modello per la garanzia della qualità nella progettazione, sviluppo, produzione, installazione e manutenzione di tutti i tipi di prodotti, compreso il software, sarà discusso in dettaglio di seguito.

Qualità del softwareè una preoccupazione costante dell'ingegneria del software ed è discussa in molti campi della conoscenza.

  • Phil Crosby: La qualità è soddisfare i requisiti degli utenti.
  • Watt Humphrey: La qualità è raggiungere un ottimo livello di usabilità.
  • Azienda IBM: ha coniato la frase "qualità guidata dal mercato".
  • Il criterio di Baldridge:"qualità guidata dal cliente".
  • Sistema di gestione della qualità ISO 9001: La qualità è il grado in cui le caratteristiche intrinseche soddisfano i requisiti.

Qualità accettabile- questo è il grado di perfezione desiderato del prodotto (servizio) creato, in grado di soddisfare gli utenti e realizzabile entro i vincoli progettuali specificati.

Qualità nelle attività di progetto:

  • Gestione dei requisiti (“attributi di qualità” come categoria di requisiti non funzionali);
  • Testing (il cosiddetto tempo tra guasti, metriche come MTTF - Mean Time To Failure, ovvero il tempo medio tra guasti di sistema rilevati, ecc.).

"Qualità accettabile" può essere confrontato con il livello di servizio all'interno di un determinato SLA - Service Level Agreement. Cioè, la qualità accettabile può essere considerata come<количественно выраженный>compromesso tra il cliente e l'appaltatore in merito alle caratteristiche del prodotto creato dall'appaltatore nell'interesse di<решения задач>cliente, tenendo conto di altri vincoli progettuali (in particolare, il costo, che viene spesso definito "costo della qualità" - "costo della qualità").

Figura "Area della Conoscenza - Qualità del Software"

Figura "Modello del sistema di gestione per la qualità"

Fondamenti di qualità del software

Accordo raggiunto sui requisiti di qualità (nell'originale - requisiti di qualità), insieme a una chiara comunicazione agli ingegneri di ciò che costituisce la qualità<получаемого продукта>, richiedono la discussione e la definizione formale di molti aspetti della qualità.

Gli ingegneri devono comprendere il concetto di qualità, le caratteristiche e il significato della qualità in relazione al software in fase di sviluppo o manutenzione.

L'idea importante è che i requisiti software definiscano le caratteristiche di qualità del software richieste e influenzino anche i metodi per quantificare e formulare queste caratteristiche.<соответствующие>criteri di accettazione.

Cultura ed etica dell'ingegneria del software (Cultura ed etica dell'ingegneria del software)

Gli ingegneri del software dovrebbero prendere i problemi di qualità del software come parte del loro<профессиональной>cultura.
L'etica può svolgere un ruolo significativo nell'assicurazione della qualità del software, nella cultura e negli atteggiamenti degli ingegneri<к своей работе>. La IEEE Computer Society e ACM hanno sviluppato un codice etico ("codice etico") e una pratica professionale basata su otto principi per aiutare gli ingegneri a rafforzare il loro atteggiamento nei confronti della qualità e dell'indipendenza<в решении вопросов обеспечения достойного качества создаваемых программных продуктов>nel loro lavoro quotidiano.

Valore e costi della qualità

Il concetto di “qualità”, infatti, non è così scontato e semplice come potrebbe sembrare a prima vista. Per qualsiasi prodotto di ingegneria, ce ne sono molti<интерпретаций>qualità, a seconda dello specifico “sistema di coordinate”. Molti di questi punti di vista devono essere discussi e definiti nella fase di sviluppo dei requisiti per un prodotto software. Le caratteristiche qualitative possono essere richieste in varia misura, possono essere assenti o possono imporre determinati requisiti, tutto questo può essere il risultato di un certo compromesso.

Il costo della qualità può essere differenziato in:

  • costo di avviso<дефектов>(costo di prevenzione),
  • costo di valutazione,
  • costo del guasto interno,
  • costo del guasto esterno.

forza motrice progetti software è il desiderio di creare un software che abbia un certo valore. Il valore del software può essere espresso o meno in termini di costo. Il cliente di solito ha una propria idea del costo massimo dell'investimento, il cui ritorno è previsto se vengono raggiunti gli obiettivi principali dello sviluppo del software. Il cliente può anche avere determinate aspettative riguardo alla qualità del software. A volte, i clienti non pensano ai problemi di qualità e ai costi associati. Le caratteristiche qualitative sono puramente decorative o sono parte integrante del software? È probabile che la risposta si trovi da qualche parte nel mezzo, come accade quasi sempre in questi casi, ed è soggetta a discussione sulla misura in cui il cliente è coinvolto nel processo decisionale e sul fatto che il cliente comprenda appieno i costi e vantaggi associati al raggiungimento di un determinato livello di qualità. Idealmente, la maggior parte di queste decisioni dovrebbe essere presa durante il processo dei requisiti, ma questi problemi possono emergere durante l'intero processo. ciclo vitale Software. Non ne esiste nessuno<“стандартных”>regole su come tali decisioni dovrebbero essere prese. Tuttavia, gli ingegneri devono essere in grado di presentare varie alternative e i relativi costi.

Modelli e caratteristiche qualitative

ISO/IEC definisce tre modelli di qualità del software correlati (ISO 9126-01 Software Engineering - Product Quality, Part 1: Quality Model):

  • qualità interiore,
  • qualità esteriore e
  • qualità nel processo operativo, nonché una serie di attività di valutazione della qualità del software correlate (ISO14598-98 Software Product Evaluation).

Qualità del processo di ingegneria del software

Gestione della qualità (gestione della qualità del software) e qualità dei processi di ingegneria del software (qualità del processo di ingegneria del software) sono direttamente correlati alla qualità del prodotto software in fase di creazione.

Esistono due principali standard di qualità del software.

  • Spunta IT- riguarda la considerazione sistema comune Gestione della qualità ISO 9001-00 applicata ai progetti software.
  • Un altro standard importante è CMMI, discusso nell'area di conoscenza del processo di ingegneria del software, fornisce indicazioni su come migliorare il processo. Le aree di processo (aree di competenza) di CMMI sono direttamente correlate alla gestione della qualità:
    • garanzia della qualità dei processi e dei prodotti, categoria di processo "Supporto" CMMI,
    • verifica (verifica, categoria “Ingegneria”) e
    • certificazione (convalida, categoria “Ingegneria”).

Allo stesso tempo, CMMI classifica revisione e audit come metodi di verifica, ma non come processi indipendenti.

Questi standard sono ancora considerati complementari e la certificazione ISO 9001 aiuta a raggiungere livelli di maturità CMMI senior.

Qualità del prodotto software

Prima di tutto, gli ingegneri devono determinare lo scopo di creare software. In questo contesto, è particolarmente importante ricordare che i requisiti del cliente sono primari e contengono requisiti di qualità, non solo di funzionalità (requisiti funzionali). Pertanto, gli ingegneri sono responsabili dell'estrazione dei requisiti di qualità che non sono sempre presentati in modo esplicito, nonché della loro importanza e del grado di difficoltà nel raggiungerli. Tutti i processi associati alla qualità (ad esempio assemblaggio, collaudo e miglioramento della qualità) devono essere progettati tenendo conto di questi requisiti e sostenere l'onere di costi aggiuntivi (come importante parte costitutiva costo del software).

ISO 9126-01 (Ingegneria del software - Qualità del prodotto, Parte 1: Modello di qualità) definisce, per due dei tre modelli ivi descritti, relative caratteristiche e “sottocaratteristiche” della qualità, nonché metriche utili per valutare la qualità dei prodotti software.

La comprensione del termine "prodotto" è stata ampliata per includere tutti gli artefatti creati come output di tutti i processi utilizzati per creare il prodotto software finale. Esempi di prodotti sono (ma non limitati a):

  • specifica completa dei requisiti di sistema (specifica dei requisiti di sistema),
  • specifica dei requisiti software per i componenti software del sistema (specifica dei requisiti software, SRS),
  • Modelli,
  • documentazione di prova,
  • report generati a seguito del lavoro di analisi della qualità.

Sebbene il termine qualità sia usato più spesso in relazione al prodotto finale e al comportamento del sistema durante il funzionamento, è buona pratica ingegneristica richiedere che la conformità con le caratteristiche di qualità specificate sia valutata anche per i risultati intermedi/prodotti del ciclo di vita all'interno di tutti i software processi di ingegneria.

Miglioramento di qualità

La qualità del software può essere migliorata attraverso un processo iterativo di miglioramento continuo. Ciò richiede controllo, coordinamento e risposta nel processo di gestione di molti processi in esecuzione contemporaneamente:

  1. processi del ciclo di vita
  2. il processo di rilevamento, correzione e prevenzione di guasti/difetti e
  3. processi di miglioramento della qualità.

Teorie e concetti applicabili all'ingegneria del software miglioramento della qualità sottostante. Ad esempio, la prevenzione e la diagnosi precoce degli errori, il miglioramento continuo (miglioramento continuo) e l'attenzione alle esigenze del cliente (attenzione al cliente), che costituiscono il principio del “costruire nella qualità”. Questi concetti si basano sul lavoro di esperti di qualità che sono arrivati ​​​​a credere che la qualità di un prodotto sia direttamente correlata alla qualità dei processi utilizzati per crearlo.

Approcci come TQM(Gestione della qualità totale - gestione della qualità totale) e PDCA(Plan, Do, Check, Act - Planning, Action, Check, Response / Correction), sono strumenti per il raggiungimento di obiettivi legati alla qualità. Il supporto gestionale aiuta nell'esecuzione dei processi, nella valutazione dei prodotti e nell'ottenimento di tutti i dati necessari. Inoltre, il programma di miglioramento sviluppato (programma di miglioramento, solitamente mirato e che copre il lavoro di un'unità o organizzazione nel suo insieme) identifica in dettaglio tutte le azioni ei progetti di miglioramento.<отдельных аспектов деятельности>entro un certo periodo di tempo per il quale tali progetti possono essere realizzati con la riuscita soluzione dei compiti corrispondenti. Allo stesso tempo, il supporto della direzione significa che tutti i progetti di miglioramento hanno risorse sufficienti per raggiungere i propri obiettivi. Il supporto della direzione è strettamente correlato all'attuazione dell'interazione attiva nel team e dovrebbe prevenire il verificarsi di potenziali problemi (e un'opposizione passiva o addirittura attiva all'attuazione del programma di miglioramento o dei suoi singoli progetti). La formazione di gruppi di lavoro, il supporto dei quadri e le risorse allocate a livello di progetto sono discussi nell'Area di Conoscenza “Processo di Ingegneria del Software”.

Processi di qualità del software

Gestione della qualità del software (SQM, Gestione della qualità del software) si applica a tutti gli aspetti di processi, prodotti e risorse. SQM definisce i processi, i proprietari dei processi, nonché i requisiti per i processi, le misurazioni dei processi e dei loro risultati, oltre ai canali di feedback.

I processi di gestione della qualità contengono molte attività. Alcuni di essi ti consentono di trovare direttamente i difetti, mentre altri ti aiutano a determinare esattamente dove potrebbe essere importante condurre ricerche più dettagliate, dopodiché, ancora una volta, viene svolto il lavoro per rilevare direttamente gli errori. Molte azioni possono essere svolte anche con l'obiettivo di raggiungere entrambi gli obiettivi.

La pianificazione della qualità del software include:

  1. Definizione del prodotto richiesto in termini di caratteristiche qualitative.
  2. Processi di pianificazione per ottenere il prodotto richiesto.

Questi processi sono distinti dai processi SQM di per sé, che a loro volta sono focalizzati sulla valutazione delle prestazioni di qualità pianificate piuttosto che sull'effettiva attuazione di tali piani. I processi di gestione della qualità dovrebbero riguardare il modo in cui il prodotto soddisferà le esigenze dei clienti e delle parti interessate, fornirà valore al cliente e alle parti interessate ed essere della qualità necessaria per soddisfare i requisiti software dichiarati.

SQM può essere utilizzato per valutare sia i prodotti finali che quelli intermedi. Alcuni dei processi SQM specializzati sono definiti nello standard 12207:

  • processo di garanzia della qualità;
  • processo di verifica;
  • processo di convalida;
  • Processo di revisione congiunta;
  • processo di audit.

Tutti questi processi supportano la ricerca della qualità e, inoltre, aiutano nella ricerca possibili errori. Tuttavia, differiscono in ciò su cui si concentrano.

I processi SQM consistono in compiti e tecniche progettato per valutare come stanno iniziando a concretizzarsi i piani per lo sviluppo del software e quanto bene i prodotti intermedi e finali soddisfano i requisiti specificati. I risultati di queste attività sono segnalati ai dirigenti prima che venga intrapresa un'adeguata azione correttiva. Il processo SQM è gestito sulla base della fiducia che i dati di rendicontazione siano accurati.
Come descritto in questa Knowledge Area, i processi SQM sono strettamente correlati. Possono sovrapporsi e talvolta anche sovrapporsi. Sembrano essere di natura reattiva, in quanto considerano i processi nel contesto delle pratiche apprese e dei prodotti già realizzati. Tuttavia, svolgono un ruolo importante nella fase di pianificazione, essendo proattivi come processi e procedure necessarie per raggiungere le caratteristiche ei livelli di qualità richiesti dagli stakeholder.<проекта>Software.

Anche la gestione del rischio può svolgere un ruolo significativo nella fornitura di software di qualità. Inserimento di analisi di rischio “regolari” (in quanto permanenti, non periodiche; nell'originale - disciplinata) e<соответствующих>tecnico di controllo<рисками>nel ciclo di vita del software i processi possono aumentare il potenziale per la produzione di un prodotto di qualità. Di più informazioni dettagliate per la gestione del rischio può essere trovato nell'area di conoscenza della gestione dell'ingegneria del software.

Garanzia della qualità del software (SQA)

processi SQA fornire la conferma che i prodotti software e i processi del ciclo di vita del progetto soddisfano i requisiti specificati. Tale conferma viene effettuata sulla base della pianificazione (pianificazione), dell'impostazione<работ>(enacting) ed esecuzione (esecuzione) un insieme di azioni volte a rendere la qualità parte integrante del software.
Tale visione implica una formulazione chiara e precisa del problema, nonché il fatto che i requisiti per il corrispondente<программному>decisione. SQA ottiene la garanzia della qualità nel processo di sviluppo e manutenzione attraverso l'implementazione di varie attività in tutte le fasi<жизненного цикла>, che consente di identificare in una fase iniziale i problemi, che sono quasi inevitabili in qualsiasi attività complessa.

Gestione del rischioè un serio strumento aggiuntivo per la garanzia della qualità del software.

SQA, come formulato da SWEBOK, si concentra sui processi. Il ruolo dell'SQA è garantire che i processi siano pianificati in modo appropriato, che i processi continuino ad essere eseguiti sulla base del piano dato e che vengano eseguite le misurazioni necessarie dei processi, con il trasferimento dei risultati delle misurazioni al parti interessate (strutture organizzative e persone fisiche).

Piano SQA definisce i mezzi che verranno utilizzati per garantire che il prodotto in fase di sviluppo soddisfi i requisiti dell'utente specificati con il massimo livello di qualità possibile sotto i vincoli di progettazione indicati.

Per raggiungere questo obiettivo è innanzitutto necessario che gli obiettivi di qualità siano chiaramente definiti e compresi (ed anche, interpretati in modo univoco, che è prerequisito per qualsiasi finalità e relativa esigenza). Ciò, immancabilmente, dovrebbe riflettersi nei relativi piani di gestione.<проектом>, sviluppo e manutenzione.

Sono strutturate attività e compiti specifici per l'assicurazione della qualità, specificando i requisiti per il loro costo e le risorse associate, gli obiettivi da un punto di vista gestionale e il calendario corrispondente nel contesto degli obiettivi fissati dai piani di gestione, sviluppo e manutenzione. Il piano SQA identifica i documenti, gli standard, le pratiche e le convenzioni applicate nel controllo del progetto e come questi aspetti verranno testati e monitorati per garantire la sufficienza e il rispetto del piano fornito.
Il piano SQA identifica metriche, tecniche statistiche, segnalazione dei problemi e procedure di azione correttiva come strumenti, tecniche e metodologie, problemi di sicurezza dei supporti fisici, formazione, segnalazione e documentazione relativa ai problemi SQA.

Inoltre, il piano SQA affronta anche le questioni delle attività di assicurazione della qualità relative ad altri tipi di attività descritte in<различных>piani per la realizzazione di software, che comprendono anche la fornitura, installazione, manutenzione di custom e/o replicati/off-the-shelf soluzioni software(prodotto commerciale, COTS) richiesto per questo progetto software. Il piano SQA può includere criteri di accettazione del software e attività di reporting e gestione necessarie per l'assicurazione della qualità.<и контролю над>lavori.

Verifica e convalida (V&V)

La convalida e la convalida del software è un approccio disciplinato alla valutazione dei prodotti software durante l'intero ciclo di vita. Gli sforzi compiuti nel quadro del lavoro di verifica e validazione sono volti a garantire la qualità come caratteristica integrante del software ea soddisfare i requisiti degli utenti.
V&V affronta direttamente i problemi di qualità del software e utilizza tecniche di test appropriate per rilevare eventuali difetti. V&V può essere utilizzato per prodotti intermedi, tuttavia, nella misura in cui corrisponda alle "fasi" intermedie<соответствующих>processi del ciclo di vita.

Il processo V&V determina in che misura il prodotto (risultato) di determinati lavori di sviluppo e manutenzione soddisfa i requisiti formulati nell'ambito di tali lavori e il prodotto finale soddisfa gli obiettivi specificati e i requisiti dell'utente.

Verifica- un tentativo di garantire il corretto sviluppo del prodotto (il prodotto è costruito in modo corretto; solitamente per intermedi, a volte per il prodotto finale), nel senso che il prodotto ottenuto nell'ambito dell'attività corrispondente soddisfa le specifiche indicate nel corso dell'attività precedente.
Certificazione- un tentativo di garantire la creazione del prodotto giusto (si costruisce il prodotto giusto; di solito, nel contesto del prodotto finale), in termini di raggiungimento dell'obiettivo.

Entrambi i processi: verifica e attestazione– iniziare nelle prime fasi di sviluppo e manutenzione. Forniscono ricerca (esperienza) opportunità chiave prodotto, sia nel contesto degli antecedenti immediati (prodotti intermedi) sia in termini di rispetto delle specifiche pertinenti. L'obiettivo della pianificazione V&V è garantire che i processi di verifica e validazione siano dotati di risorse adeguate e che i ruoli e le responsabilità siano chiaramente assegnati. I documenti del piano V&V risultanti e<детально>descrive le varie risorse, ruoli e attività, nonché le tecniche e gli strumenti utilizzati.
Il piano affronta anche gli aspetti di gestione, comunicazione (interazione), politiche e procedure delle attività di verifica e qualificazione e la loro interazione. Inoltre, può riflettere le problematiche relative alla segnalazione dei difetti e ai requisiti di documentazione.

Valutazione (revisione) e audit (Revisione e audit)

Cinque tipi di valutazioni e audit:

  • Recensioni di gestione
  • Revisioni tecniche (recensioni tecniche)
  • Ispezioni
  • “Passeggiate”
  • Audit (audit)

Recensioni di gestione

Lo scopo delle valutazioni di gestione è di tracciare lo sviluppo<проекта/продукта>, determinando lo stato di piani e programmi, approvando i requisiti e allocando le risorse, o valutando l'efficacia degli approcci gestionali utilizzati per raggiungere gli obiettivi stabiliti.

Le valutazioni di gestione supportano le decisioni per apportare modifiche e intraprendere azioni correttive secondo necessità durante l'esecuzione di un progetto software.

Le valutazioni della direzione determinano l'adeguatezza dei piani, delle tempistiche e dei requisiti, monitorando al contempo il loro andamento o incoerenza. Queste valutazioni possono essere eseguite sul prodotto, essendo registrate sotto forma di rapporti di audit, rapporti sullo stato (sviluppo), rapporti V&V, nonché vari tipi piani - gestione del rischio di progetto/gestione del progetto, gestione della configurazione, sicurezza<использования>software (sicurezza), valutazione del rischio, ecc.

Recensioni tecniche

Lo scopo delle valutazioni tecniche è quello di esaminare un prodotto software per determinarne l'idoneità all'uso previsto. L'obiettivo è identificare le discrepanze con le specifiche e gli standard approvati. Per garantire le valutazioni tecniche, è necessario distribuire i seguenti ruoli: decisore; capo della revisione; registrar (registratore); e personale tecnico a supporto (che esegue direttamente) le attività di valutazione.

La valutazione tecnica richiede, a colpo sicuro, i seguenti dati di input:

  • Dichiarazioni di obiettivi
  • Prodotto software specifico (in fase di valutazione)
  • Un determinato piano di progetto (piano di gestione del progetto)
  • Elenco dei problemi (domande) associati al prodotto
  • Procedure di valutazione tecnica

Squadra<технической оценки> segue una procedura di valutazione predeterminata. Persone qualificate (dal punto di vista tecnico) forniscono una panoramica del prodotto (rappresentando il team di sviluppo). Studia<продукта> si svolge nel corso di uno o più incontri (tra chi presenta il prodotto e chi fornisce la valutazione). La valutazione tecnica è completata dopo che tutte le attività di ricerca del prodotto prescritte sono state completate.

Ispezioni

Lo scopo delle ispezioni è rilevare e identificare le anomalie in un prodotto software. Esistono due differenze principali tra ispezioni e valutazioni (gestionali e tecniche):

  1. Le persone che ricoprono posizioni dirigenziali (dirigenti) in relazione a qualsiasi membro del gruppo di ispezione non devono partecipare alle ispezioni.
  2. L'ispezione dovrebbe essere guidata da un leader imparziale (indipendente dal progetto e dai suoi obiettivi) addestrato nelle tecniche di ispezione.

Le ispezioni software coinvolgono sempre gli autori del prodotto intermedio o finale, a differenza delle valutazioni, che non lo richiedono necessariamente. Le ispezioni (come unità organizzative temporanee - gruppi, team) includono un leader, un registrar, un revisore e diversi (da 2 a 5) ispettori. I membri del gruppo di ispezione possono specializzarsi in diverse aree di competenza (poss varie aree competenze), ad esempio, area disciplinare, metodi di progettazione, lingua, ecc. In per questo momento Le ispezioni (in un arco di tempo) sono condotte su un singolo piccolo pezzo di un prodotto (nella maggior parte dei casi, concentrandosi su singole caratteristiche funzionali o di altro tipo; spesso basate su regole aziendali individuali, requisiti funzionali o attributi di qualità, nota dell'autore). Ogni membro del team dovrebbe esaminare il prodotto software e altri input prima della riunione di ispezione, magari applicando tecniche analitiche diverse a piccole parti del prodotto o al prodotto nel suo insieme, in quest'ultimo caso considerando solo un aspetto di esso, come le interfacce . Qualsiasi anomalia rilevata deve essere documentata e le informazioni trasmesse al responsabile dell'ispezione. Durante il processo di ispezione, il leader conduce la sessione<инспекции>e controlla che tutto<члены команды>preparato per l'ispezione.

Uno strumento comune utilizzato nelle ispezioni è una checklist contenente anomalie e domande relative ad aspetti<программного продукта>che sono di interesse. Il foglio risultante classifica spesso le anomalie e viene valutato dal team per la sua completezza e accuratezza. La decisione di completare l'ispezione viene presa in base a uno (qualsiasi) dei tre criteri:

  1. Adozione<продукта>con nessuna o poca necessità di elaborazione
  2. Adozione<продукта>con il controllo dei frammenti riciclati
  3. Necessità di una nuova ispezione

Le riunioni di ispezione richiedono solitamente alcune ore, contrariamente alla valutazione tecnica e all'audit, che nella maggior parte dei casi comportano una maggiore mole di lavoro e, di conseguenza, durano più a lungo.

Walk-through

Lo scopo di una corsa è valutare un prodotto software. È possibile eseguire una corsa per familiarizzare (educare) il pubblico con il prodotto software.

Gli obiettivi principali della corsa sono:

  • Alla ricerca di anomalie
  • Miglioramento del prodotto
  • Discutere percorsi di implementazione alternativi
  • Valutazione della conformità a norme e specifiche

Un'analisi è simile a un'ispezione, tuttavia, di solito viene eseguita in modo meno formale. Fondamentalmente, una corsa è organizzata dagli ingegneri per gli altri membri del team al fine di ottenere un feedback da loro sul loro lavoro, come uno degli elementi (tecniche) di garanzia della qualità.

Audit

Scopo dell'audit del softwareè una valutazione indipendente dei prodotti e dei processi software per verificarne la conformità a regolamenti, standard, linee guida, piani e procedure applicabili.

Un audit è un'attività formalmente organizzata i cui partecipanti svolgono determinati ruoli come revisore principale, un altro revisore dei conti, registratore e iniziatore. Un rappresentante dell'organizzazione/unità organizzativa valutata partecipa all'audit. A seguito dell'audit, vengono identificati i casi di non conformità e viene generata una relazione di cui il team ha bisogno<разработки>per intraprendere azioni correttive.

Sebbene esistano vari nomi formali (e classificazioni) per valutazioni e audit, è importante notare che questi tipi di attività possono essere eseguiti su quasi tutti i prodotti in qualsiasi fase del processo di sviluppo o manutenzione.

Considerazioni pratiche

Requisiti di qualità del software

Fattori di influenza

La pianificazione, la gestione e la selezione delle attività e delle tecniche SQM sono influenzate da vari fattori, tra cui:

  • Ambito del sistema su cui verrà eseguito il software (critico per la sicurezza<людей>), fondamentale per le imprese, ecc.)
  • Requisiti di sistema e software
  • Quali componenti vengono utilizzati nel sistema: commerciale (esterno) o standard (interno)
  • Quali standard di ingegneria del software sono applicabili in un determinato contesto
  • Quali sono i metodi e gli strumenti software utilizzati per lo sviluppo e la manutenzione, nonché per la garanzia e il miglioramento della qualità (prodotto e processi)
  • Budget, personale, organizzazione delle attività di progetto, piani e tempi per tutti i processi
  • Chi sono gli utenti target e qual è lo scopo del sistema
  • Livello di integrità del sistema

Le informazioni su questi fattori influenzano esattamente come saranno organizzati e documentati i processi SQM, quale lavoro SQM verrà selezionato (standardizzato all'interno del progetto, team, unità organizzativa, organizzazione), quali risorse sono necessarie e quali sono le restrizioni imposte agli sforzi diretti per garanzia di qualità.

Affidabilità

Garanzia- garanzia<высокой>affidabilità, sicurezza dai guasti.
Nei casi in cui un guasto del sistema può portare a conseguenze estremamente gravi (tali sistemi sono talvolta chiamati nelle fonti inglesi "alta affidabilità" o "sistema ad alta integrità", in russo sono talvolta chiamati "sistemi ad alta affidabilità", "alta disponibilità" e così via .), l'affidabilità complessiva (cumulativa) del sistema (come combinazione di hardware, software e umano) è il requisito di qualità principale e prioritario, in relazione alla funzionalità principale<системы>.

Affidabilità il software include caratteristiche quali la tolleranza ai guasti, la sicurezza d'uso (sicurezza - protezione nel contesto di un rischio accettabile per la salute umana, l'azienda, la proprietà, ecc.), la sicurezza o la protezione delle informazioni (sicurezza - protezione delle informazioni da operazioni non autorizzate, inclusi l'accesso in lettura, oltre a garantire la disponibilità delle informazioni agli utenti autorizzati, nella misura dei diritti ad essi previsti), nonché la comodità e facilità d'uso (usabilità). L'affidabilità è anche un criterio che può essere definito in termini di affidabilità.

L'ampia letteratura sui sistemi di affidabilità avanzata gioca un ruolo significativo nella discussione di questo problema. Allo stesso tempo, viene utilizzata una terminologia che proveniva dal campo della meccanica tradizionale e impianti elettrici(compresi quelli che non includono il software) e descrivendo i concetti di pericolo, rischi, integrità del sistema, ecc.

Livelli di integrità del software

Livello di integrità del software determinato in base alle possibili conseguenze di un errore del software e alla probabilità che si verifichi tale errore. Quando diversi aspetti della sicurezza (uso e sicurezza delle informazioni) sono importanti, le tecniche di analisi dei rischi (nel contesto della sicurezza d'uso, sicurezza) e dell'analisi delle minacce (in sicurezza delle informazioni, sicurezza) possono essere utilizzate nello sviluppo di piani di lavoro in il campo dell'identificazione di possibili fonti di incidenti. La cronologia dei guasti di sistemi simili può anche aiutare a identificare le tecniche di rilevamento dei guasti più utili.<всесторонней>valutazioni della qualità del software.

Quando si esamina più da vicino l'integrità del software nel contesto di progetti specifici, è necessario prestare particolare attenzione (allocando risorse adeguate e lavoro necessario) non solo i processi SQM (soprattutto quelli formali, inclusi audit e certificazione), ma anche aspetti di gestione dei requisiti (in termini di criteri di integrità), gestione del rischio (compresa la pianificazione del rischio sia in fase di sviluppo che in fase di funzionamento e manutenzione di del sistema), progettazione (che, per migliorare l'affidabilità, comporta necessariamente un'analisi approfondita e verifica delle soluzioni architettoniche e tecnologiche previste per l'uso, spesso attraverso la realizzazione di progetti pilota, stand dimostrativi, ecc.) e collaudo (per garantire uno studio completo delle caratteristiche comportamentali del sistema, inclusa l'emulazione dell'ambiente di lavoro/configurazione in cui il sistema dovrebbe essere utilizzato durante il funzionamento).

Caratterizzazione del difetto

I processi SQM forniscono il rilevamento dei difetti. La descrizione delle caratteristiche dei difetti svolge un ruolo importante nella comprensione del prodotto, facilita il processo o la correzione del prodotto e informa i project manager e i clienti sullo stato (stato) del processo o del prodotto. Esistono molte tassonomie (classificazioni e metodi di strutturazione) di difetti (fallimenti). La caratterizzazione dei difetti (anomalie) viene utilizzata anche negli audit e nelle valutazioni, quando il leader della valutazione presenta spesso un elenco di anomalie formato dai membri del gruppo di valutazione per la discussione nelle riunioni appropriate.

Sullo sfondo dell'evoluzione (e dell'emergere di nuovi) metodi e linguaggi progettuali, insieme al nuovo tecnologie software, compaiono anche nuove classi di difetti. Ciò richiede uno sforzo enorme per interpretare (e correggere) classi di difetti (guasti) precedentemente definite. Quando si tracciano i difetti, l'ingegnere è interessato non solo al loro numero, ma anche al loro tipo. La distribuzione dei difetti per tipologia è particolarmente importante per determinare gli elementi più deboli del sistema in termini di tecnologie e soluzioni architettoniche utilizzate, il che porta alla necessità di un loro approfondimento, la realizzazione di progetti pilota specializzati, ulteriore verifica concetti (prova di concetto, POC - un approccio utilizzato di frequente quando si utilizzano nuove tecnologie), coinvolgimento di esperti di terze parti, ecc. Le informazioni di per sé, senza classificazione, sono spesso semplicemente inutili per scoprire le cause dei guasti, poiché è necessario raggrupparle secondo i tipi appropriati per determinare i modi per risolvere i problemi. La questione è definire una tassonomia dei difetti che sarà significativa per gli ingegneri e l'organizzazione nel suo insieme.

SQM garantisce la raccolta di informazioni in tutte le fasi di sviluppo e manutenzione del software. Di solito, quando diciamo "difetto", intendiamo "fallimento", come definito di seguito. Tuttavia, culture e standard diversi possono avere significati diversi per questi termini.

Definizioni parziali di concetti di questo tipo sono le seguenti:

  • Errore (errore):“La differenza... tra un risultato corretto e un risultato calcolato<полученным с использованием программного обеспечения>”
  • Guasto:"Passo, processo o definizione dei dati errati in un programma per computer"
  • Fallimento (fallimento): “<Некорректный>il risultato ottenuto per mancanza”
  • Errore umano/utente (errore):“Azione umana che ha portato ad un risultato errato”

Quando si discute di questo argomento, un difetto si riferisce al risultato di un errore del software. I modelli di affidabilità sono costruiti sulla base dei dati sui guasti raccolti durante il test del software o il suo utilizzo. Tali modelli possono essere utilizzati per prevedere guasti futuri e aiutare nella decisione di interrompere i test.

Sulla base dei risultati del lavoro SQM volto a rilevare i difetti, vengono intraprese azioni per rimuovere i difetti dal prodotto in esame. Tuttavia, la questione non si limita a questo. Ci sono altre possibili azioni per sfruttare appieno i risultati del corrispondente lavoro SQM. Tra questi: analisi e sintesi (riassunto)<по обнаруженным несоответствиям/дефектам>, utilizzando tecniche di quantificazione (ottenimento di metriche) per migliorare il prodotto e il processo, tracciando i difetti ed eliminandoli dal sistema (con strumenti gestionali e controllo tecnico intraprendere le necessarie azioni correttive). A sua volta, la fonte di informazioni per il miglioramento dei processi, in particolare, è il processo SQM.

I dati sulle incongruenze e sui difetti riscontrati durante l'implementazione delle relative tecniche SQM dovrebbero essere registrati per prevenirne la perdita. Per alcune tecniche (ad esempio, valutazione tecnica, audit, ispezioni), la presenza di un registrar (recorder) è obbligatoria, proprio per correggere tali informazioni, insieme a questioni (comprese quelle che richiedono una considerazione aggiuntiva) e decisioni prese. Nei casi in cui vengono utilizzati strumenti di automazione appropriati, possono anche fornire le informazioni di output necessarie sui difetti (ad esempio, statistiche riepilogative sugli stati dei difetti, esecutori responsabili, ecc.). I dati sui difetti possono essere raccolti e registrati sotto forma di richieste di modifica (SCR, richiesta di modifica del software) e possono essere successivamente inseriti in determinati tipi di database (ad esempio, per tracciare statistiche interprogettuali / storiche per ulteriori analisi e miglioramento dei processi ), sia manualmente che automaticamente dagli opportuni strumenti di analisi (una serie di moderni strumenti di progettazione e strumenti specializzati consentono di analizzare codice e modelli utilizzando metriche appropriate, importanti per garantire la qualità dei prodotti e dei processi). Le segnalazioni dei difetti vengono inviate al livello dirigenziale dell'organizzazione/unità organizzativa o struttura (per prendere decisioni appropriate in merito al progetto, prodotto, processo, personale, budget, ecc.).

Tecniche di gestione della qualità del software

Le tecniche SQM possono essere suddivise in diverse categorie:

  • statico
  • tecniche che richiedono un uso intensivo delle risorse umane
  • analitico
  • dinamico

Tecniche statiche

Le tecniche statiche coinvolgono<детальное>studio (esame) della documentazione del progetto, del software e di altre informazioni sul prodotto software senza la sua esecuzione. Queste tecniche possono includere altre attività di valutazione "collettiva" o di revisione "individuale" discusse di seguito, indipendentemente dalla misura in cui viene utilizzata l'automazione.

Tecniche ad alta intensità di persone

La forma di questo tipo di tecnica, inclusa la valutazione e l'auditing, può variare da riunioni formali a riunioni informali o discussioni sul prodotto senza nemmeno fare riferimento al suo codice. Tipicamente, questo tipo di tecnica prevede l'interazione faccia a faccia di almeno due, e nella maggior parte dei casi, più di uno specialista. Al tempo stesso, tali riunioni possono richiedere una preparazione preliminare (quasi sempre relativa alla definizione del contenuto delle riunioni, cioè dell'elenco delle questioni da trattare). Le risorse utilizzate in tali tecniche, insieme agli artefatti studiati (prodotto, documentazione, modelli, ecc.), possono includere vari tipi di checklist e i risultati delle tecniche analitiche (discusse di seguito) e del lavoro di test. Queste tecniche sono discusse, ad esempio, nello standard 12207 quando si parla di valutazione (revisione) e audit (audit).

Tecniche analitiche

Gli ingegneri del software in genere utilizzano tecniche analitiche. Dal punto di vista dei metodi e degli approcci Agile, degli individui e delle interazioni<непосредственное>comunicazione e interazione costante dei membri del team.

A volte, diversi ingegneri utilizzano la stessa tecnica ma su parti diverse del prodotto. Alcune tecniche si basano sulle specificità degli strumenti utilizzati, altre prevedono un lavoro “manuale”. Molti possono aiutare a trovare direttamente i difetti, ma il più delle volte sono usati per supportare altre tecniche. Un certo numero di tecniche include anche vari tipi di competenze (valutazione) come elemento integrante dell'analisi della qualità complessiva. Esempi di tali tecniche sono l'analisi della complessità, l'analisi del flusso di controllo (o analisi del flusso di controllo) e l'analisi algoritmica.

Ogni tipo di analisi ha uno scopo specifico e non tutti i tipi sono applicabili a ogni progetto. Un esempio di tecnica di supporto è l'analisi della complessità, utile per identificare parti della progettazione di un sistema che sono troppo complesse per essere implementate, testate o mantenute correttamente. Il risultato dell'analisi della complessità può essere utilizzato anche per sviluppare scenari di test (test case). Tecniche di ricerca dei guasti come l'analisi della logica di controllo possono essere utilizzate anche in altri casi. Per i software con logica algoritmica estesa, è estremamente importante applicare tecniche algoritmiche, soprattutto nei casi in cui un algoritmo errato (non la sua implementazione, ma logica, ndr) può portare a risultati disastrosi (ad esempio, software avionico, per il quale la sicurezza problemi uso – la sicurezza gioca un ruolo decisivo).

Altri tipi più formali di tecniche analitiche sono noti come metodi formali. Sono utilizzati per verificare i requisiti e la progettazione (certamente, solo occasionalmente, nell'attuale pratica odierna dello sviluppo di software industriale). La convalida viene applicata a software critici (che, in generale, ha poco a che fare con i metodi formali: questo è un modo naturale per ottenere una qualità accettabile riducendo al minimo i costi). Molto spesso vengono utilizzati per verificare parti critiche di sistemi mission-critical, come requisiti specifici.<информационной>sicurezza e affidabilità.

Tecniche dinamiche

Nel processo di sviluppo e manutenzione del software, è necessario ricorrere a vari tipi di tecniche dinamiche. Fondamentalmente, queste sono tecniche di test. Tuttavia, le tecniche di simulazione, di model checking e di esecuzione simbolica possono essere considerate tecniche dinamiche (l'esecuzione simbolica, spesso prevede l'uso di moduli "fittizi" in termini di logica in esecuzione, con input e output emulati quando si considera lo scenario generale del comportamento di sistemi multimodulo; a volte questo termine si riferisce ad altre tecniche, a seconda della sorgente scelta).

La visualizzazione (lettura) del codice è generalmente considerata una tecnica statica, ma un ingegnere esperto può eseguire il codice direttamente "durante il processo" di lettura (ad esempio, utilizzando strumenti di debug passo-passo interattivi per familiarizzare o valutare il codice di qualcun altro ). Pertanto, questa tecnica può ben essere discussa come dinamica. Tali discrepanze nella classificazione delle tecniche mostrano chiaramente che, a seconda del ruolo di una persona in un'organizzazione, può adottare e applicare le stesse tecniche in modi diversi.

A seconda dell'organizzazione<ведения>progetto, alcune attività di test possono essere eseguite durante lo sviluppo di sistemi software nei processi SQA e V&V. Poiché il piano SQM affronta i problemi di test, questo argomento include alcuni commenti sui test.

Test

Processi di convalida<качества> descritto in SQA e V&V<планах>, esaminare e valutare qualsiasi output (inclusi intermedio e finale) associato alla specifica dei requisiti software per:

  • tracciabilità,
  • consistenza (coerenza),
  • completezza / completezza (completezza),
  • correttezza
  • ed esecuzione diretta<требований>(prestazione).

Tale convalida copre anche eventuali artefatti di output dai processi di sviluppo e manutenzione, raccolta, analisi e quantificazione dei risultati. Le attività SQA assicurano che i tipi di test appropriati (necessari in un determinato contesto di progetto) siano pianificati, sviluppati e implementati e V&V - sviluppo di piani di test, strategie, scenari e procedure<тестирования>.
I problemi relativi ai test sono discussi in dettaglio nell'area Conoscenza dei test. Due tipi di test seguono gli obiettivi fissati da SQA e V&V perché sono responsabili della qualità dei dati utilizzati nel progetto:

  • Valutazione e test degli strumenti utilizzati nel progetto
  • Test di conformità (o valutazione dei test di conformità) di componenti e prodotti COTS (COTS - prodotto commerciale pronto all'uso) da utilizzare nel prodotto in fase di creazione.

Occasionalmente, le organizzazioni indipendenti di V&V possono richiedere la capacità di monitorare il processo di test e, in alcuni casi, certificare (o, più comunemente, documentare/registrare) le prestazioni effettive.<тестов>da effettuarsi secondo le modalità stabilite. D'altra parte, si può ricorrere a V&V per valutare il test stesso: la sufficienza dei piani e delle procedure, la conformità e l'accuratezza dei risultati.

Un altro tipo di test condotto sotto la supervisione di un'organizzazione V&V è il test di terze parti. Tale terza parte non è di per sé lo sviluppatore del prodotto e non è in alcun modo associata allo sviluppatore del prodotto. Inoltre, la terza parte è una fonte di valutazione indipendente, solitamente accreditata per avere l'autorità appropriata (ad esempio, l'organizzazione in via di sviluppo di una particolare norma, la cui conformità è valutata da un esperto indipendente e le cui azioni sono confermate dal creatore della norma) . Lo scopo di questo tipo di test è verificare la conformità del prodotto a un determinato insieme di requisiti (ad esempio, la sicurezza delle informazioni).

Misurazione della qualità del software

I modelli di qualità del prodotto software spesso includono metriche per determinare il livello di ciascuna caratteristica di qualità inerente al prodotto.

Se le caratteristiche qualitative sono scelte correttamente, tali misurazioni possono supportare la qualità (livello di qualità) in molti modi. Le metriche possono aiutare a guidare il processo decisionale. Le metriche possono aiutare a identificare le aree problematiche e colli di bottiglia nei processi. Le metriche sono uno strumento per gli ingegneri per valutare la qualità del loro lavoro, sia per gli scopi definiti dall'SQA, sia in termini di un processo di miglioramento a più lungo termine.<достигаемого>qualità.
Con l'aumento della complessità interna, la sofisticazione del software, le questioni di qualità vanno ben oltre l'affermazione che il software funziona o non funziona. La domanda è come vengono raggiunti gli obiettivi di qualità quantificati.

Ci sono molti altri argomenti che sono metriche che supportano direttamente SQM. Includono l'assistenza per decidere quando interrompere il test. In questo contesto sembrano utili i modelli di affidabilità e il confronto con campioni (standard accettati come esempi di una certa qualità - benchmark).

Il costo del processo SQM è uno di<проблемных>domande che emergono sempre nel processo di decisione su come sarà organizzato il progetto (lavoro di progetto). Spesso vengono utilizzati modelli di costo generici, basati sulla determinazione del momento esatto in cui viene scoperto un difetto e di quanto sforzo è necessario per risolverlo rispetto alla situazione se il difetto fosse stato rilevato in precedenza nel ciclo di vita. I dati di progettazione possono aiutare a fornire un quadro più chiaro dei costi.

Infine, la stessa reportistica SQM ha informazioni utili non solo sui processi stessi (ovvero il loro stato attuale, ndr), ma anche su come tutti i processi del ciclo di vita possono essere migliorati.

Sebbene, come stime quantitative (in questo caso noi stiamo parlando sui risultati delle valutazioni piuttosto che sul processo di misurazione) le caratteristiche qualitative possono essere utili di per sé (ad esempio, il numero di requisiti non soddisfatti e la proporzione di tali requisiti), possono<эффективно>applicare tecniche matematiche e grafiche che facilitino l'interpretazione dei valori metrici. Tali tecniche sono classificate in modo del tutto naturale, ad esempio, come segue:

  • Basato su metodi statistici (ad esempio analisi di Pareto, distribuzione normale, ecc.)
  • Test statistici
  • Analisi delle tendenze
  • Previsione (es. modelli di affidabilità)

Le tecniche statistiche ei test statistici forniscono spesso un'"istantanea" delle aree più problematiche del prodotto software in studio (e, tra l'altro, lo stesso vale spesso per i processi). I grafici e i grafici risultanti aiutano visivamente i responsabili delle decisioni a identificare le aree in cui è necessario concentrare le risorse<проекта>. I risultati dell'analisi delle tendenze possono mostrare che la pianificazione è stata violata, ad esempio, durante i test; o che i guasti di alcune classi diventino sempre più frequenti fino a quando non si intraprendano azioni correttive nel processo di sviluppo. Le tecniche di previsione aiutano a programmare i tempi dei test e a prevedere i guasti.

Caratteristiche di qualità del software

Mobilità— Un insieme di attributi relativi alla capacità del software di essere portato da un ambiente a un altro.
NOTA L'ambiente può includere ambienti organizzativi, tecnici o software.

Affidabilità— Un insieme di attributi relativi alla capacità del software di mantenere il proprio livello di prestazioni in condizioni specificate per un periodo di tempo specificato.

Appunti:

  1. Non vi è alcun deprezzamento o invecchiamento del software. I limiti di affidabilità derivano da errori nei requisiti, nella progettazione e nell'implementazione. I guasti dovuti a questi errori dipendono da come viene utilizzato il software e dalle versioni del software precedentemente selezionate.
  2. Nella definizione della ISO 8402, "affidabilità" è "la capacità di un elemento di svolgere una funzione richiesta". In questa norma internazionale, la capacità è solo una delle caratteristiche della qualità del software. Pertanto, la definizione di affidabilità è stata estesa al "mantenere il proprio livello di prestazione" anziché "svolgere la funzione richiesta".

Praticità (usabilità)— Un insieme di attributi relativi all'ambito del lavoro richiesto per l'uso e alla valutazione individuale di tale uso da parte di un insieme specifico o previsto di utenti.

Appunti:

  1. Gli "Utenti" possono essere interpretati come la maggior parte degli utenti diretti del software interattivo. Gli utenti possono includere operatori, utenti finali e utenti indiretti interessati o dipendenti dall'uso del software. L'usabilità deve essere considerata in tutta la varietà delle condizioni operative dell'utente che possono influenzare il software, compresa la preparazione per l'uso e la valutazione dei risultati.
  2. L'usabilità, definita nella presente norma internazionale come un insieme specifico di attributi del prodotto software, differisce dalla definizione in termini di ergonomia, dove altre caratteristiche come l'efficienza e l'inefficienza sono considerate componenti dell'usabilità.

Manutenibilità— Un insieme di attributi relativi all'ambito del lavoro richiesto per eseguire modifiche specifiche (modifiche).
NOTA Le modifiche possono includere correzioni, miglioramenti o adattamenti del software a modifiche dell'ambiente, dei requisiti e delle condizioni operative.

Funzionalità— Un insieme di attributi relativi all'essenza di un insieme di funzioni e alle loro proprietà specifiche. Le funzioni sono quelle che soddisfano esigenze dichiarate o implicite.

Appunti:

  1. Questo insieme di attributi caratterizza ciò che il software fa per soddisfare i bisogni, mentre gli altri insiemi descrivono principalmente quando e come è fatto.
  2. In questa caratteristica, per esigenze accertate e anticipate, si tiene conto di una nota sulla definizione di qualità.

Efficienza— Un insieme di attributi relativi alla relazione tra il livello di prestazioni del software e la quantità di risorse utilizzate in condizioni specificate.
Nota: le risorse possono includere altri prodotti software, mezzi tecnici, materiali (ad es. carta da stampa, floppy disk) e servizi del personale operativo, di manutenzione o di manutenzione.

Qualità del prodotto software

La qualità del prodotto software (qualità del software)- l'intero ambito delle caratteristiche e delle caratteristiche di un prodotto software in relazione alla sua capacità di soddisfare esigenze dichiarate o implicite.

L'importanza di ciascuna caratteristica di qualità varia a seconda della classe del software. Ad esempio, l'affidabilità è la cosa più importante per il software di sistema critico di combattimento, l'efficienza è più importante per il software di sistema in tempo reale critico e l'usabilità è la cosa più importante per il software di dialogo con l'utente finale.

L'importanza di ciascuna caratteristica di qualità varia anche a seconda dei punti di vista adottati.

Vista utente

Gli utenti sono principalmente interessati all'applicazione del software, alle sue prestazioni e ai risultati di utilizzo. Gli utenti valutano il software senza conoscere i suoi interni o come è stato creato il software.

L'utente potrebbe essere interessato alle seguenti domande:

  • Le funzioni richieste sono disponibili nel software?
  • Quanto è affidabile il software?
  • Quanto è efficace il software?
  • Il software è intuitivo?
  • Quanto è facile trasferire software e altri ambienti?

Vista sviluppatore

Il processo di creazione richiede all'utente e allo sviluppatore di utilizzare le stesse caratteristiche di qualità del software utilizzate per stabilire i requisiti e l'accettazione. Quando il software viene sviluppato per la vendita, i requisiti di qualità dovrebbero riflettere le esigenze previste.

Poiché gli sviluppatori sono responsabili della creazione di software che devono soddisfare i requisiti di qualità, sono interessati alla qualità dei prodotti intermedi tanto quanto alla qualità del prodotto finale. Per valutare la qualità dei prodotti intermedi in ogni fase del ciclo di sviluppo, gli sviluppatori devono utilizzare metriche diverse per le stesse caratteristiche, poiché le stesse metriche non sono applicabili per tutte le fasi del ciclo di vita.

Ad esempio, l'utente comprende l'efficienza in termini di tempo di risposta, mentre lo sviluppatore utilizza le specifiche di progettazione in termini di lunghezza del percorso, latenza e accesso. Le metriche applicate all'interfaccia esterna di un prodotto sono sostituibili dalle metriche applicate alla sua struttura.

Introduzione esecutiva

Il manager può essere più interessato alla qualità generale che a una specifica caratteristica di qualità e per questo dovrà determinare l'importanza dei valori che riflettono i requisiti commerciali per le caratteristiche individuali.
Il manager potrebbe anche aver bisogno di confrontare il miglioramento della qualità rispetto a criteri di controllabilità, come il ritardo pianificato o il superamento dei costi, perché desidera ottimizzare la qualità entro un limite di costi, manodopera e tempo limitati.

Valutazione della qualità del prodotto software

La figura seguente mostra i passaggi principali necessari per valutare la qualità del software.

Figura "Modello del processo di valutazione"

Il processo di valutazione si compone di tre fasi: definizione (definizione) dei requisiti di qualità, preparazione per la valutazione e procedura di valutazione. Questo processo può essere applicato in qualsiasi fase del ciclo di vita appropriata per ciascun componente del prodotto software.
Lo scopo della fase iniziale è stabilire i requisiti in termini di caratteristiche qualitative. I requisiti esprimono le esigenze dell'ambiente esterno per il prodotto software in esame e devono essere determinati prima dell'inizio dello sviluppo.
Lo scopo della seconda fase è quello di preparare la base per la valutazione.
Il risultato del terzo è una conclusione sulla qualità dei prodotti software. La qualità complessiva viene quindi confrontata con altri fattori come tempo e costo. La decisione finale del management viene presa sulla base del criterio della controllabilità. Il risultato è una decisione della direzione di accettare o rifiutare, o di rilasciare o non rilasciare il prodotto software.

Modello di qualità del processo

Il processo di sviluppo deve essere strutturato in modo da garantire che la qualità del prodotto possa essere misurata. Gli studi condotti mostrano che maggiore è la qualità del processo di sviluppo, maggiore è la qualità del software sviluppato in questo processo. La qualità in ogni fase del progetto aumenta, in primo luogo come diretta conseguenza della maturità del processo e, in secondo luogo, per l'utilizzo di un prodotto intermedio di qualità superiore prodotto nella fase precedente. Allo stesso tempo, si sottolinea come molto più importante sia il significato della seconda ragione per garantire la crescita della qualità nel processo del ciclo di vita dei processi maturi. Tutto questo può essere rappresentato sotto forma di qualche modello.

Figura "Modello concettuale della qualità del processo di sviluppo"

Da ciò derivano le seguenti conseguenze:
In primo luogo, la qualità si accumula in un prodotto in una produzione complessa in modo cumulativo, per cui il contributo alla qualità fornito nelle fasi iniziali ha un impatto maggiore sul prodotto finale rispetto alle fasi successive. Ciò è confermato da tutta la pratica di programmazione, ad esempio, è noto che i difetti di progettazione del sistema non possono essere compensati da un'elevata qualità di codifica.
Pertanto, per gestire la qualità della costruzione di un sistema complesso, è necessario selezionare i produttori in base alla misurazione del grado di maturità e trasparenza dei processi di sviluppo utilizzati. La misurazione della qualità del processo di sviluppo dell'appaltatore è una parte importante di gestione generale una qualità più importante della misurazione della qualità del prodotto finale prodotto durante i test di accettazione.
In secondo luogo, i test e le misurazioni della qualità dovrebbero aver luogo in tutte le fasi del ciclo di vita. L'estrazione di dati di qualità incorporati in una fase iniziale può essere molto costosa se non sono disponibili risultati completi.

Guida all'applicazione delle caratteristiche di qualità

1 Applicabilità

2 Concetti di qualità del software

2.1 Introduzione dell'utente
2.2 Vista sviluppatore
2.3 Presentazione del leader

3.1 Definizione dei requisiti di qualità

3.2 Preparazione per la valutazione

3.2.1 Scelta delle metriche di qualità (indicatori)
3.2.2 Definizione dei livelli di graduatoria
3.2.3 Determinazione dei criteri di valutazione

3.3 Procedura di valutazione

3.3.1 Misurazione
3.3.2 Classifica
3.3.3 Valutazione

1. Introduzione

2 Definizione di indicatori di qualità globali

2.1 Funzionalità

2.1.1 Idoneità
2.1.2 Precisione
2.1.3 Interoperabilità
2.1.4 Conformità
2.1.5 Sicurezza

2.2 Affidabilità

2.2.1 Stabilità (scadenza)
2.2.2 Tolleranza ai guasti
2.2.3 Recuperabilità

2.3 Usabilità

2.3.1 Comprensibilità
2.3.2 Apprendibilità
2.3.3 Facilità d'uso (operabilità)

2.4 Efficienza

2.4.1 Comportamento temporale
2.4.2 Comportamento delle risorse

2.5 Manutenibilità

2.5.1 Analizzabilità
2.5.2 Modificabilità
2.5.3 Stabilità
2.5.4 Testabilità

2.6 Portabilità

2.6.1 Adattabilità
2.6.2 Facilità di implementazione (Installabilità)
2.6.3 Conformità
2.6.4 Sostituibilità

Appunti:

  1. L'intercambiabilità viene utilizzata al posto della compatibilità per evitare possibili confusioni con l'interoperabilità.
  2. L'intercambiabilità con un particolare strumento software non implica questo questo rimedio sostituibile con lo strumento software considerato.
  3. L'intercambiabilità può includere attributi di facilità di implementazione e adattabilità. Il concetto è stato introdotto come sottocaratteristica separata a causa della sua importanza.

Qualità del progetto

La qualità comprende tutte le attività del progetto che assicurano che il progetto soddisfi gli obiettivi per i quali è stato intrapreso. Pertanto, la gestione della qualità è applicabile sia al progetto che al prodotto del progetto.
La qualità è di fondamentale importanza, perché esprime e fissa gli obiettivi, li documenta (formalizza).
Pertanto, la qualità è una componente critica della gestione della struttura del progetto.
Per la qualità, tutto è misurabile.

Gestione della qualità del progetto

Se la gestione della qualità è concentrata in un reparto dell'organizzazione, non diventerà universale. Il project manager può delegare aspetti della gestione della qualità. Il project manager mantiene la responsabilità ultima.

Principi di qualità (ISO 9000)

  1. Orientamento al consumatore
  2. Responsabilità di gestione
  3. Coinvolgimento delle persone
  4. Approccio per processi
  5. Approccio sistemico alla gestione
  6. Miglioramento continuo
  7. Processo decisionale basato sui fatti
  8. Relazioni reciprocamente vantaggiose con i fornitori

Figura "Differenze nella comprensione della gestione della qualità in ISO 9000 e PMBoK"

Project Quality Management (PMI): sottoprocessi

  • Pianificazione della qualità
  • Garanzia di qualità
  • Controllo di qualità

Pianificazione della qualità

Uno dei passaggi è determinare quale standard esistenti relazionarsi con questo progetto e come rispettarli. L'output della pianificazione della qualità è un elenco di tutti gli standard di qualità applicabili al progetto. In allegato è riportato un elenco di raccomandazioni su come saranno soddisfatti i requisiti di questi standard.

Processo di pianificazione della qualità: input

  • Politica della qualità. Un documento che contiene i principi su come un'organizzazione definisce la qualità, ma non include come raggiungerla.
  • Contenuto del progetto (ambito). Definisce cosa dovrebbe essere fatto come risultato del progetto e quindi cosa dovrebbe essere monitorato nei processi di gestione della qualità. Questo documento è l'output del processo di pianificazione dell'ambito del progetto.
  • Descrizione del prodotto. Contiene dettagli tecnici e altri aspetti significativi che possono influire sulla pianificazione della qualità.
  • Norme e regolamenti. Un elenco di standard e regolamenti rilevanti per una determinata area o progetto.
  • Altri documenti.

Processo di pianificazione della qualità: strumenti e tecnologie

  • Analisi costi/benefici. Rilevante per la discussione del costo della qualità. Lo scopo di questo strumento è confrontare il costo reale della mancanza di qualità con i vantaggi della garanzia della qualità.
  • Confronto. Utilizzato per generare idee di miglioramento attraverso il confronto con altri progetti. È più efficace quando il confronto è con i migliori, e non solo con altri progetti interni.
  • Diagrammi. Usato per mostrare come interagiscono elementi diversi. Esistono molti tipi di diagrammi, incluso il diagramma di causa ed effetto.
  • Allestimento di esperimenti. Utilizzare scenari ipotetici per determinare quali variabili hanno il maggiore impatto sul risultato finale di un progetto.
  • Il costo della qualità.

Processo di pianificazione della qualità: output, risultati

  • Piano di gestione della qualità. Descrive come il team di gestione del progetto attuerà la politica della qualità. Dovrebbe coprire le seguenti aree:
  • Controllo della progettazione.
  • Controllo della documentazione.
  • Controllo dell'acquisto dei materiali.
  • Ispezioni.
  • Controllo del test (test).
  • Controllo su apparecchiature di controllo e misurazione.
  • Azione correttiva.
  • Record di qualità.
  • Audit (piano e procedura)
  • Procedure e istruzioni di lavoro documentate. Descrivere in dettaglio i processi e come misurare la qualità del processo, del sottoprocesso e delle singole attività svolte.
  • Fogli di controllo. Elenchi di domande per verificare che nulla sia stato omesso.

Garanzia di qualità

Processo di garanzia della qualità- si tratta dell'adozione di misure sistematiche pianificate per garantire l'attuazione di tutti i processi previsti necessari affinché il progetto (prodotto, servizio) soddisfi i requisiti di qualità.
La garanzia della qualità è il principale sottoprocesso della gestione della qualità. Questa attività viene svolta durante tutto il progetto.

Processo di garanzia della qualità: input

  • Istruzioni di lavoro. Un altro risultato del processo di pianificazione della qualità.
  • Risultati delle misurazioni del controllo qualità. L'output del processo di controllo della qualità.

Processo di garanzia della qualità: strumenti e tecniche

Strumenti e tecniche di pianificazione della qualità. Questi includono analisi dei costi e dei benefici, confronti, grafici, sperimentazione e determinazione dei costi di qualità.

Audit di qualità

"Recensioni" strutturate che convalidano "lezioni apprese". Le tipologie di audit di qualità sono:

  • interno esterno,
  • sistema/prodotto/processi/organizzazione,
  • pianificato / regolare,
  • speciale e sofisticato.

Processo di garanzia della qualità: risultati

Miglioramento di qualità. Implica l'adozione di azioni per aumentare l'efficienza e la produttività del progetto al fine di fornire ulteriori vantaggi ai proprietari del progetto.

Controllo di qualità

Monitoraggio determinati risultati al fine di determinarne la conformità agli standard di qualità accettati e determinare le modalità per eliminare le cause di prestazioni insoddisfacenti.

Processo di controllo della qualità: input

  • Risultati del lavoro. I risultati compaiono sempre nel processo di cooperazione, esecuzione e riprogrammazione del progetto.
  • Piano di gestione della qualità. L'output del processo di pianificazione della qualità.
  • Istruzioni di lavoro. L'output del processo di pianificazione della qualità.
  • Liste di controllo.

Controllo qualità: strumenti e tecniche

  • Ispezioni. Includere attività come misurazione, test, test per assicurarsi che il risultato soddisfi i requisiti.
  • Carte di controllo. I grafici di esecuzione definiscono statisticamente i limiti superiore e inferiore riflessi su entrambi i lati delle medie di processo.
  • Diagrammi: Ishikawa, Pareto.
  • Campione statistico.
  • Analisi delle tendenze.

« Scopo dell'utilizzo degli strumenti– acquisire i risultati o le modifiche, visualizzarli graficamente, quindi identificare e correggere i problemi in modo appropriato”.

Processo di controllo della qualità: output

  • Miglioramento di qualità. Uscita dal processo di assicurazione della qualità.
  • Prendere decisioni. Le decisioni vengono prese a seconda che l'oggetto ispezionato venga accettato o rifiutato.
  • Azione correttiva. L'azione intrapresa per abbinare un oggetto non conforme.
  • Liste di controllo completate.
  • Configurazione del processo.

Riferimenti

  • http://sorlik.blogspot.com, Sergey Orlik, 2004-2005
  • Genelt A.E. Manuale didattico e metodologico sulla disciplina "Gestione della qualità dello sviluppo software" 2007, San Pietroburgo

Il concetto di qualità del software.

I metodi di ingegneria nella programmazione si basano sull'idea di migliorare la qualità del software, per l'implementazione di quali metodi per determinare i requisiti per la qualità del software, approcci per selezionare e migliorare i modelli per l'analisi metrica degli indicatori di qualità del software, metodi per la misurazione quantitativa degli indicatori di qualità si sono formate le fasi del ciclo di vita del software.

Qualità del software- questo è un insieme di proprietà che determinano l'utilità del prodotto (programma) per gli utenti in base allo scopo e ai requisiti funzionali. Allo stesso tempo, i requisiti possono essere interpretati in modo abbastanza ampio, il che dà origine a una serie di definizioni indipendenti del concetto di "qualità". La definizione più comunemente utilizzata è la ISO 9001, secondo la quale la qualità è “il grado in cui le caratteristiche intrinseche si conformano ai requisiti”. La qualità del software è un concetto relativo che ha senso solo se si tiene conto delle effettive condizioni di utilizzo del software. Pertanto, i requisiti per la qualità del software sono stabiliti in base alle condizioni e all'ambito specifico del software.

Modelli di qualità del software avere i seguenti quattro livelli di presentazione.

Primo livello corrisponde alla definizione delle caratteristiche (indicatori) della qualità del software, ciascuna delle quali riflette il punto di vista di un utente separato sulla qualità. Secondo gli standard GOST R ISO / IEC 9126-93, GOST R ISO / IEC 12119-2000, GOST 28195-89, il modello di qualità include sei caratteristiche o sei indicatori di qualità principali, che elenchiamo in ordine di importanza per la maggior parte utenti:

  • funzionalità;
  • affidabilità funzionale;
  • facilità d'uso;
  • efficienza;
  • manutenibilità;
  • portabilità.

Secondo livello. Gli attributi per ciascuna caratteristica di qualità corrispondono a questo livello, che descrivono in dettaglio diversi aspetti di una particolare caratteristica. Nella valutazione della qualità viene utilizzata una serie di attributi di attributi di qualità.

Considera gli insiemi di attributi per ciascuno degli indicatori di qualità elencati (Fig. 3.1).

Funzionalità: un insieme di proprietà che determinano la capacità del software di eseguire le funzioni previste in un determinato ambiente in conformità con i requisiti specificati. Sotto funzione una sequenza ordinata di azioni è intesa per soddisfare le proprietà del consumatore. Le funzioni sono mirati (principale) e ausiliario.

Agli attributi funzionalità relazionare:

  • sicurezza- un attributo che indica la capacità del software di prevenire accesso non autorizzato(accidentali o intenzionali) a programmi e dati;
  • interoperabilità- un attributo che mostra la possibilità di interazione di questo software con sistemi e ambienti speciali ( Sistema operativo, reti di computer);
  • completezza funzionale- un attributo che mostra una misura della sufficienza delle principali funzioni per la risoluzione dei problemi in accordo con lo scopo di questo software.

affidabilità funzionale. Gli attributi dell'affidabilità funzionale del software includono:

  • infallibilità- un attributo che determina la capacità del software di funzionare senza errori;
  • Giusto- un attributo che mostri la misura del raggiungimento dei risultati corretti;
  • controllabilità- un attributo che caratterizza la completezza e l'efficienza del rilevamento degli errori nei risultati intermedi e di output
  • tolleranza agli errori- un attributo che caratterizza la capacità del software di svolgere correttamente le funzioni in condizioni anomale (guasto hardware, errori nei dati e nelle interfacce, ecc.);
  • affidabilità- un attributo che caratterizza la capacità del software di non causare guasti funzionali sistema informativo;
  • recuperabilità- un attributo che caratterizza la capacità di eliminazione del programma errore del software e ricominciare a rieseguire e ripristinare i dati in caso di guasto funzionale;
  • prontezza- un attributo che indica la capacità del programma di eseguire la trasformazione prevista senza errori su richiesta arbitraria.

La facilità d'uso è caratterizzata da molti attributi che indicano le condizioni necessarie e adeguate per l'utilizzo del software da parte di una determinata fascia di utenti per ottenere risultati appropriati. Nello standard, l'usabilità è definita come un insieme specifico di attributi del prodotto software che ne caratterizzano l'ergonomia.

Riso. 3.1.

Le caratteristiche di usabilità includono:

  • comprensibilità- un attributo che determina lo sforzo dedicato al riconoscimento dei concetti e delle condizioni logiche per l'utilizzo del software;
  • studiabilità(facilità di apprendimento) - un attributo che determina gli sforzi degli utenti volti a determinare l'applicabilità del software attraverso l'uso di controlli operativi, diagnostica, nonché procedure, regole e documentazione;
  • efficienza- un attributo che mostra la reazione del sistema durante l'esecuzione delle operazioni e del controllo operativo.

Efficienza - un insieme di attributi che determinano la relazione tra i livelli di esecuzione del software, l'uso delle risorse (strumenti, attrezzature, materiali - carta per un dispositivo di stampa, ecc.) e i servizi svolti dal personale addetto alla manutenzione regolare, ecc.

Gli attributi delle prestazioni del software includono:

  • reattività- un attributo che mostra il tempo di risposta, l'elaborazione e l'esecuzione delle funzioni;
  • l'efficienza delle risorse- un attributo che mostra la quantità e la durata delle risorse utilizzate nello svolgimento delle funzioni del software;
  • consistenza- un attributo che indica la conformità di una determinata caratteristica a standard, regole e regolamenti specificati.

La manutenibilità è un insieme di proprietà che caratterizzano lo sforzo che deve essere speso per le modifiche, inclusi l'adeguamento, il miglioramento e l'adattamento del software quando l'ambiente, i requisiti o le specifiche funzionali cambiano.

La manutenibilità include i seguenti attributi:

  • analizzabilità- un attributo che specifica lo sforzo necessario per diagnosticare guasti o identificare le parti da modificare;
  • stabilità- un attributo indicante la permanenza della struttura e il rischio della sua modifica;
  • testabilità- un attributo che indichi gli sforzi durante la convalida e la verifica per rilevare le non conformità, nonché la necessità di modifica e certificazione del software;
  • variabilità- un attributo che determina la possibilità di rimuovere errori nel software o apportare modifiche per eliminarli, nonché l'introduzione di nuove funzionalità nel software o nell'ambiente operativo.

La portabilità è un insieme di indicatori che indicano la capacità del software di adattarsi per lavorare in nuove condizioni dell'ambiente di runtime. L'ambiente può essere organizzativo, hardware e software. Pertanto, il trasferimento di un software in un nuovo ambiente di esecuzione può essere associato a un insieme di azioni volte a garantirne il funzionamento in un ambiente diverso da quello in cui è stato creato, tenendo conto delle nuove capacità software, organizzative e tecniche.

La portabilità include attributi:

  • adattabilità- un attributo che determina lo sforzo impiegato per l'adattamento a vari ambienti;
  • personalizzazione(facilità di installazione) - un attributo che determina lo sforzo necessario per eseguire questo software in un ambiente speciale;
  • coesistenza- un attributo che determina la possibilità di utilizzare software speciali nell'ambiente del sistema operativo;
  • sostituibilità- un attributo che caratterizza la possibilità di trasferire il software da un ambiente utensile all'altro con la necessaria installazione o adattamento del software.

Terzo livello progettato per misurare la qualità con metrica, ciascuno dei quali è definito come una combinazione di un metodo di misurazione dell'attributo e una scala di misurazione del valore dell'attributo. Per valutare gli attributi di qualità nelle fasi del ciclo di vita (durante la visualizzazione della documentazione, dei programmi e dei risultati dei test del programma), vengono utilizzate metriche con un determinato peso stimato per livellare i risultati di un'analisi metrica degli attributi aggregati di un particolare indicatore e della qualità in generale. Un attributo di qualità è definito utilizzando una o più tecniche di valutazione durante il ciclo di vita e le fasi di fine vita dello sviluppo del software.

Quarto livello- questo è un elemento di valutazione della metrica (peso), che viene utilizzato per valutare il valore quantitativo o qualitativo di un particolare attributo dell'indicatore di qualità del software. A seconda dello scopo, delle caratteristiche e delle condizioni di manutenzione del software, il massimo caratteristiche importanti qualità e i loro attributi. Gli attributi selezionati e le relative priorità si riflettono nei requisiti di sviluppo del sistema oppure vengono utilizzate le priorità corrispondenti del riferimento di classe software a cui appartiene questo software.

1

Il documento fornisce brevi informazioni sulla norma ISO 9126 “Information technology. Valutazione del prodotto software. Caratteristiche di qualità e linee guida per la loro applicazione. Dal momento che lo spettro sistemi software largamente, è stato selezionato un gruppo di sistemi per la creazione dei test. Per valutare la qualità di questo gruppo di programmi, viene fornita una breve descrizione di alcuni sistemi software. In base alle caratteristiche di questo gruppo strumenti software, è stato compilato un elenco di caratteristiche che determinano la qualità dei programmi. Secondo le raccomandazioni della norma ISO 9126, è stato condotto uno studio delle caratteristiche di un gruppo selezionato di strumenti software. Come metodo per determinare i valori degli indicatori di qualità, sono state utilizzate la registrazione delle caratteristiche (disponibili o meno) e la valutazione di esperti. Pertanto, viene proposta una metodologia per valutare la qualità di uno dei tipi di software secondo lo standard ISO 9126.

standard

caratteristica

Controllo di qualità

Software

1. Baranyuk V.V., Tyutyunikov N.N. Controllo di qualità dizionari elettronici ed enciclopedie // Ingegneria del software. - 2012. - N. 8. - P. 29–37.

2. Glichev AV, Panov V.P., Azgaldov G.G. Che cos'è la qualità? – M.: Economia, 1968. 135 p.

3. Gorbachenko I.M. Software per la creazione di sistemi di apprendimento automatizzato // Problemi di informatizzazione del territorio. PIR-2005: materiali del nono conferenza scientifica e pratica(Krasnoyarsk, 11–12 ottobre 2005). - Krasnoyarsk: IPTs KSTU, 2005. - v. 2. - S. 132–135.

4. Gorbachenko I.M. Analisi comparativa sistemi esistenti test // Test nel campo dell'istruzione: problemi e prospettive di sviluppo: materiali della conferenza scientifica e pratica tutta russa. (Krasnoyarsk, 19-21 maggio 2008) / ed. ed. GP Carlov. - Krasnojarsk: SibGTU, 2008. - S. 177-183.

5. Lipaev V.V. Problemi di garanzia della qualità di software complessi [risorsa elettronica]. – Modalità di accesso: http://quality.eup.ru/MATERIALY4/poksps.htm (accesso 9.04.2013).

6. Lozinin AI, Shubinsky I.B. Caratteristiche della qualità del software e metodi per la loro valutazione [risorsa elettronica]. – Modalità di accesso: http://www.ibtrans.ru/Estimating %20methods.pdf (consultato il 03/12/2013).

Sul computer moderni installato un'ampia varietà di software (SW). E voglio che sia di alta qualità, praticabile, che funzioni senza guasti, ecc. Considerare la definizione di "Qualità del software" nel contesto degli standard internazionali:

1) la qualità del software è la misura in cui il software ha una combinazione di proprietà richiesta. ;

2) qualità dello strumento software: un insieme di proprietà dello strumento software (PS) che determinano la sua idoneità a soddisfare esigenze specificate o implicite in conformità con il suo scopo [GOST 28806-90 “Qualità del software. Termini e definizioni"].

Lo scopo di questo lavoro è sviluppare una metodologia per applicare i requisiti della norma ISO 9126 per valutare la qualità di uno dei tipi di software: i sistemi di creazione di test.

Norma ISO 9126

Al momento, il più comune e utilizzato è un modello di qualità del software multilivello, presentato in una serie di standard ISO 9126. La base per la regolazione degli indicatori di qualità del sistema è lo standard internazionale ISO 9126 “Information technology. Valutazione del prodotto software. Caratteristiche di qualità e linee guida per la loro applicazione. Questo standard descrive la distribuzione a livelli delle funzionalità del software. Al livello più alto vengono individuate 6 caratteristiche principali della qualità del software, ciascuna delle quali è determinata da un insieme di attributi che presentano metriche appropriate per la successiva valutazione (figura).

Secondo questo modello, la funzionalità di uno strumento software (funzionalità) è un insieme di proprietà del software determinate dalla presenza e dalle caratteristiche specifiche di un insieme di funzioni in grado di soddisfare esigenze di qualità date o implicite insieme alla sua affidabilità come sistema tecnico. Affidabilità: la capacità del software di eseguire le attività richieste in condizioni specificate per un periodo di tempo specificato o un numero specificato di operazioni. L'usabilità di uno strumento software (usabilità) è un insieme di proprietà del PS che caratterizza gli sforzi richiesti per il suo utilizzo e la valutazione dei risultati del suo utilizzo da parte di una determinata cerchia di utenti del PS. Efficienza: la capacità del software di fornire il livello di prestazioni richiesto in conformità con le risorse assegnate, il tempo e altre condizioni specificate. Manutenibilità: la facilità con cui il software può essere analizzato, testato, modificato per correggere i difetti, implementare nuovi requisiti, facilitare l'ulteriore manutenzione e adattarsi all'ambiente indicato. Portabilità (portabilità) - un insieme di proprietà del PS, che caratterizza l'idoneità al trasferimento da un ambiente operativo ad altri.

Modello di qualità del software (ISO 9126)

Software per la creazione di sistemi di test

Con l'attuale livello di sviluppo delle tecnologie informatiche e dei sistemi di scambio di informazioni, il test è sempre più utilizzato nella formazione, che viene utilizzata come strumento di monitoraggio e previsione universitaria. Il monitoraggio come sistema di controllo e diagnostico fornisce al docente informazioni obiettive e operative sul livello di assimilazione da parte degli studenti del materiale didattico obbligatorio e sull'amministrazione circa l'efficacia della gestione. Il sistema di test al computer è uno strumento universale per determinare il livello di conoscenza degli studenti a tutti i livelli del processo educativo.

La creazione di test ad alto livello metodologico richiede al docente di sviluppare una chiara struttura concettuale e terminologica del corso, ad es. tavole concettuali e tesi verificate in prove, strutturate per argomenti e sezioni del programma della disciplina accademica.

Il sistema dei test informatici è parte integrante dello sviluppo futuro dell'apprendimento a distanza.

Attualmente, sempre più spesso hanno cominciato ad apparire strumenti già pronti per lo sviluppo di programmi di formazione. Inoltre, questi sviluppi non sono solo stranieri (ad esempio - Adobe Acrobat, Macromedia Authorware, ToolBook II, Quest e altri), ma anche domestici (ad esempio HyperMethod, Associate Professor, Prometheus, OROX network shell, CADIS). Descriviamo brevemente alcuni di essi.

Uno dei sistemi di test "Test Designer" è un sistema di test della conoscenza universale (sito web del sistema - http://www.keepsoft.ru/simulator.htm). Il programma supporta cinque tipi di domande: chiuse (scelta di una o più risposte), aperte (input risposta), corrispondenza e ordinamento. Ciò consente di eseguire qualsiasi test. Nei test è possibile utilizzare musica, suoni, immagini e video. Tutti i dati possono essere stampati su una stampante. Su un computer, i test possono essere eseguiti indipendentemente da più persone, entrando nel programma con il proprio nome.

Il prossimo pacchetto è il sistema di test INDIGO (sito web - http://indigotech.ru/). In questo sistema, puoi anche creare attività di test di 5 tipi. Ma oltre a questo, una caratteristica del designer di test INDIGO è il supporto per un raggruppamento gerarchico multi-livello delle domande del test per attività, argomenti, ecc. Dopotutto, se le domande del test vengono visualizzate in un elenco lineare, ci sono difficoltà nella navigazione e nella comprensione di quale domanda si riferisce a cosa. In questo sistema è possibile impostare per ogni gruppo impostazioni individuali(in particolare, l'ordine in cui gli elementi nidificati vengono restituiti o selezionati casualmente).

Il prossimo pacchetto in esame è VeralTest, un insieme di programmi per la creazione di casi di test e per l'organizzazione di test su computer multiutente (sito web - http://veralsoft.com/veraltest.shtml). In questo sistema possono essere creati i seguenti tipi di back test: chiuso (scelta di una risposta e scelta di più risposte), immissione di una risposta testuale, immissione di una risposta numerica, corrispondenza delle domande.

Il pacchetto software VeralTest è disponibile in due edizioni:

VeralTest Express. Consente di creare test autonomi (test exe) che possono essere eseguiti su qualsiasi computer senza preimpostato e impostazioni. La composizione del pacchetto VeraTest Express: l'editor di test TestEditor e il programma per la visualizzazione dei risultati dei test ResultViewer.

VeralTest Professional. Supporta tutte le funzionalità dell'edizione express. Inoltre, il pacchetto include un server di test (programma TestServer), che consente di organizzare i test in una classe di computer o rete locale imprese. In questo caso l'accesso alle prove avviene attraverso un browser web (ad esempio, Internet Explorer, Google Chrome, Mozilla Firefox). Questa edizione include anche il programma di amministrazione TestAdmin, con il quale è possibile registrare utenti, raggrupparli in gruppi, assegnare test che devono essere eseguiti dagli utenti, visualizzare e stampare i risultati dei test.

Oltre a questi sistemi software, esistono molti altri sistemi. Alcuni di essi possono essere trovati sul sito: http://edu.of.ru/volsch31/default.asp?ob_no = 2300.

La tabella elenca le caratteristiche di alcuni strumenti per la creazione di sistemi di test e le confronta.

Applicata ai questa specie strumenti software, è molto difficile considerare l'efficienza, perché l'influenza di una persona (un insegnante che crea dei test e uno studente che risponde a un test) è grande. Se l'efficienza è considerata dal punto di vista della velocità dei test di verifica, questo indicatore dipende in gran parte dalla velocità di trasferimento delle informazioni su rete di computer, dal numero di attività di prova.

Come si evince dalla descrizione di cui sopra e dal confronto delle capacità, i prodotti software considerati possono essere utilizzati per test in varie discipline, sia in ambito umanistico che tecnico (grazie alla capacità di lavorare con testi, grafica, musica, multimedia).

Se dai 1 punto per la presenza di ciascuna funzione, risulta che MOODLE ha ricevuto 22 punti dai sistemi considerati, UniTest System - 15, "Test Constructor" - 11, INDIGO - 14, VeralTest - 12 (versione Express) e 16 (Versione Professional).

Tenendo conto della presenza di un sistema di impostazioni per l'ordine di invio del test, di un sistema di interazione su una rete di computer e di altri fattori, i sistemi MOODLE, INDIGO e VeralTest hanno le capacità più avanzate. Sono questi sistemi che vengono utilizzati più spesso nella pratica durante i test sugli studenti.

Conclusione

La valutazione degli indicatori di qualità del software può essere effettuata in vari modi e metodi. La metodologia di valutazione della qualità presentata nell'articolo, basata sui principi della norma ISO 9126, consente:

Valutare la qualità dei sistemi software che utilizzano vari sistemi indicatori di qualità;

Stabilire la qualità dei programmi durante lo sviluppo termine di paragone e controllarlo in tutte le fasi del ciclo di vita, ad es. valutare livello minimo qualità con informazioni incomplete su sistemi software, che si ottiene con i valori già ottenuti degli indicatori di qualità;

Caratteristiche comparative di alcuni strumenti per la creazione di corsi di formazione

Nome

"Costruttore di test"

VeralTest Express/Professionista

Affidabilità

Completezza (probabilità di fallimento)

Basso alto

Tolleranza ai guasti (tempo di attività)

Recuperabilità

Disponibilità del sistema Riserva copia

Salvataggio dei test in file separato

La comodità d'uso

Facilità di sviluppo

Disponibilità linee guida per lo studio

Chiarezza

Disponibilità modelli già pronti prove

+ (in inglese)

Disponibilità di un distribuito sistema di aiuto

Comodità e facilità d'uso

La presenza di un menu (pulsante) per la creazione di un test

Lavorare con la grafica

Lavorare con il suono

Creazione di pulsanti di controllo

Possibilità di valutazione automatica della risposta

Stabilire delle scadenze per rispondere alle domande

Disponibilità della funzione di determinazione del tempo di risposta alle domande

Tempo limite per ogni domanda

Limitazione del tempo totale per il superamento della prova

Possibilità di dividere le domande per livelli di difficoltà

Funzionalità

Disponibilità di strumenti di protezione (ad esempio crittografia dei test)

Possibilità di funzionamento in rete informatica locale

Lavorare su Internet

Facilità di manutenzione

Disponibilità del servizio supporto tecnico

Disponibilità di singoli moduli

Disponibilità delle impostazioni per l'ingegnere

Presenza di impostazioni per l'insegnante

Disponibilità di impostazioni per il testato

Portabilità

Disponibilità di una versione di rete

+ (Internet)

Volume occupato

20,8 Mb / 60 Mb

Basato su sistema installato indicatori di qualità, valutare diversi programmi con lo stesso scopo al fine di individuarne il migliore.

Nello sviluppo di indicatori che valutano i sistemi di creazione di test, sono state prese come base le caratteristiche di questo tipo di programmi. In futuro è possibile ampliare l'elenco degli indicatori in esame, modificarli in base alle caratteristiche di altri tipi di software.

Revisori:

Dorrer G.A., dottore in scienze tecniche, professore, capo. Dipartimento, Istituto statale per l'istruzione di bilancio professionale superiore "Università tecnologica statale siberiana", Krasnoyarsk;

Levshina V.V., dottore in scienze tecniche, professore, capo. Dipartimento di gestione della qualità e metodi matematici dell'economia, Università tecnologica statale siberiana, Krasnoyarsk.

Il lavoro è stato ricevuto dalla redazione il 7 maggio 2013.

Collegamento bibliografico

Gorbachenko I.M. VALUTAZIONE DELLA QUALITÀ DEL SOFTWARE PER LA REALIZZAZIONE DI SISTEMI DI COLLAUDO // Ricerca fondamentale. - 2013. - N. 6-4. - S. 823-827;
URL: http://fundamental-research.ru/ru/article/view?id=31642 (data di accesso: 20/07/2019). Portiamo alla vostra attenzione le riviste pubblicate dalla casa editrice "Accademia di Storia Naturale"

Il software deve svolgere le sue funzioni, soddisfare i criteri specificati di qualità, sicurezza, affidabilità. La valutazione del prodotto, i requisiti per esso, la documentazione di progettazione è compito degli ingegneri del controllo qualità o degli ingegneri QA.

La garanzia della qualità del software include le attività che vengono eseguite in ogni fase del suo sviluppo. L'obiettivo è fornire la garanzia che il prodotto soddisfi i requisiti sia funzionali che non funzionali.

Il concetto di qualità del software

A prima vista, la "qualità del software" può sembrare un concetto astratto. Tuttavia, per project manager, programmatori, tester, ingegneri QA e altri partecipanti al processo di sviluppo del prodotto, i criteri di qualità sono trasparenti e misurabili. Diamo prima un'occhiata alla definizione generale.

La qualità del software è un insieme di caratteristiche del prodotto software che determinano la capacità di eseguire le funzioni ad esso assegnate.

Attualmente questo indicatore è regolato dalla norma internazionale ISO/IEC 25010:2011. Questo standard stabilisce un sistema di valutazione della qualità del software multilivello basato su otto caratteristiche di base.

Opzioni di qualità del software

Principali caratteristiche della qualità del software secondo ISO/IEC 25010:2011:

  1. Funzionalità. Il software è riconosciuto come funzionale se esegue le attività assegnate e soddisfa le esigenze specificate degli utenti. Questo aspetto presuppone il corretto e accurato funzionamento, la compatibilità di tutti i componenti inclusi nella composizione.
  2. Affidabilità. L'affidabilità del software è intesa come l'esecuzione ininterrotta dei compiti assegnatigli in condizioni specificate per un determinato periodo di tempo.
  3. Usabilità (facilità d'uso). Questo parametro caratterizza il grado di praticità del software per gli utenti, la sua visibilità, facilità d'uso e studio.
  4. Efficienza. Il parametro corrisponde al grado in cui il prodotto fornisce le prestazioni richieste in determinate condizioni.
  5. Comodità di accompagnamento. Questo indicatore caratterizza la facilità di analisi, test, correzione dei componenti software, la sua manutenzione e il grado di adattamento alle nuove condizioni.
  6. Portabilità. Il grado di facilità di portarlo su un'altra piattaforma. La garanzia della qualità del software implica il controllo di ciascuno dei parametri elencati, l'identificazione dei punti deboli e la risoluzione dei problemi.
  7. Compatibilità. La capacità dei componenti software di interagire tra loro.
  8. Sicurezza, cioè riducendo al minimo le minacce associate alla lettura non autorizzata, alla modifica delle informazioni, ecc. Le minacce possono anche essere associate all'uso non corretto del software, all'influenza esterna di persone non autorizzate, al fallimento dei mezzi tecnici.

Garanzia di qualità e test

I termini "test" e "garanzia di qualità" sono certamente correlati, ma non identici. Qual è la differenza?

Garanzia di qualitàè responsabile dell'intero processo di sviluppo e si integra in tutte le sue fasi: dalla creazione dei requisiti per una soluzione futura al test, al rilascio del prodotto e alla sua manutenzione successiva al rilascio.

I compiti degli specialisti QA includono:

  • formazione di criteri di qualità;
  • pianificazione delle attività per rispettare i criteri in ogni fase di sviluppo del prodotto;
  • scelta degli strumenti di prova;
  • test del prodotto;
  • calcolo del KPI;
  • prevenzione degli errori e miglioramento dei processi.

Test– verifica della conformità del software ai requisiti.

Quindi vedete che la garanzia della qualità è un concetto più ampio che include le attività di test.

Il test può essere automatizzato o eseguito manualmente; può essere a ciclo completo o finalizzato alla verifica di uno specifico aspetto della qualità (sicurezza, prestazioni, usabilità, ecc.).

Gli ingegneri di test preparano strategie di test e pianificano in base alle specifiche del progetto e ai requisiti della soluzione, creano e ottimizzano ulteriormente una serie di test case, ricercano i difetti, creano e inviano rapporti sui difetti agli sviluppatori, verificano che il difetto sia stato corretto.

La funzione di assicurazione della qualità può essere svolta da un dipartimento interno dell'azienda, oppure può essere delegata a un appaltatore indipendente che valuterà obiettivamente la soluzione stessa, istituirà processi di assicurazione della qualità e consentirà quindi di rilasciare un prodotto di alta qualità a il mercato che soddisfa i requisiti aziendali e le aspettative degli utenti.

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vorresti leggere La campana
Niente spam