LA CAMPANA

C'è chi legge questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam

Prima di considerare gli standard che regolano gli aspetti della qualità del software, è necessario innanzitutto discutere di questioni generali relative alla qualità di qualsiasi tipo di prodotto. Le questioni comuni includono definizioni e terminologia in questo settore, concetti di base di qualità, ruolo della documentazione nel garantire la qualità del prodotto e selezione e applicazione di standard internazionali di qualità. Naturalmente, gli standard principali nel campo della qualità sono gli standard internazionali della serie ISO 9000, sviluppati dall'Organizzazione internazionale per la standardizzazione. La seguente sottosezione affronta i problemi generali sopra elencati alla luce degli standard della serie ISO 9000.

1.1 Disposizioni generali degli standard della serie ISO 9000

In primo luogo, gli standard della serie ISO 9000 sono intesi come tutti gli standard internazionali sviluppati dal Comitato tecnico 176 "Qualità amministrativa e garanzia della qualità" dell'Organizzazione internazionale per la standardizzazione (ISO). Attualmente, la serie contiene tutti gli standard internazionali con numeri da 9000 a 9004 (comprese tutte le parti di ISO 9000 e ISO 9004), da 10001 a 10020 (comprese tutte le parti), nonché ISO 8402. Di seguito sono riportati i nomi dei principali standard che compongono questa serie.

ISO 9000-1-94 Standard nel campo della gestione della qualità e della garanzia della qualità. Parte 1. Linee guida di selezione per l'uso.

ISO 9000-2-93 Standard nel campo della gestione della qualità e della garanzia della qualità. Parte 2. Linee guida generali per l'applicazione di ISO 9001, ISO 9002 e ISO 9003.

ISO 9000-3-91 Standard nel campo della gestione della qualità e della garanzia della qualità. Parte 3. Linee guida per l'applicazione della ISO 9001 nello sviluppo, consegna e manutenzione di software.

ISO 9000-4-93 Standard nel campo della gestione della qualità e della garanzia della qualità. Parte 4. Linee guida per l'amministrazione del programma di affidabilità globale.

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

Sistemi di qualità ISO 9002-94. Un modello per la garanzia della qualità nella produzione, installazione e manutenzione.

Sistemi di qualità ISO 9003-94. Un modello per la garanzia della qualità nel controllo del prodotto finito e nel collaudo finale.

ISO 9004-1-94 Gestione della qualità amministrativa ed elementi di un sistema di qualità. Parte 1. Linee guida.

ISO 9004-2-91 Gestione della qualità amministrativa ed elementi di un sistema di qualità. Parte 2. Linee guida per i servizi.

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

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

Sistemi di qualità ISO 10011-1-90. Linee guida per la verifica. Parte 1. Controlli.

Sistemi di qualità ISO 10011-2-91. Linee guida per la verifica. Parte 2. Criteri di qualificazione per revisori esperti di sistemi di qualità.

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

ISO 10012-1-92 Garanzia di qualità delle apparecchiature di misurazione. Requisiti. Parte 1. Sistemi di supporto metrologico per strumenti di misurazione.

Linee guida sulla qualità ISO 10013. Disposizioni di sviluppo. (In fase di pubblicazione).

ISO 8402-94 Gestione della qualità e garanzia della qualità. Vocabolario.

L'attuale aumento della concorrenza tra organizzazioni, produttori di prodotti, compreso il software, porta a stabilire requisiti più rigorosi per la qualità di questi prodotti. Per essere competitivi, le organizzazioni devono applicare sistemi efficaci che consentano di migliorare la qualità dei prodotti e una migliore soddisfazione dei loro clienti. I requisiti del cliente correttamente formulati e completi, inclusi nelle condizioni tecniche, non garantiscono che tali requisiti siano pienamente soddisfatti, poiché vi sono carenze nella catena di fornitura e 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 creare una base comune per gli standard per i sistemi di qualità. In base al sistema di qualità si intende, secondo ISO 8402, la totalità della struttura organizzativa, metodologie, processi e risorse necessarie per l'implementazione della gestione generale della qualità dei prodotti fabbricati dall'organizzazione.

Il sistema di gestione della qualità amministrativa dell'organizzazione - quegli aspetti della funzione di gestione generale utilizzati dall'organizzazione che determinano la politica di qualità dei prodotti, gli obiettivi dell'organizzazione e le sue responsabilità, e li implementano anche utilizzando strumenti di pianificazione, gestione, assicurazione della qualità e miglioramento della qualità all'interno del sistema di qualità. Oltre all'obiettivo dell'organizzazione, il sistema di gestione della qualità è influenzato dai suoi prodotti e metodi di produzione specifici dell'organizzazione. A causa del fatto che i metodi di produzione delle organizzazioni che lavorano anche in un campo sono diversi e che gli obiettivi dell'organizzazione non sono sempre gli stessi, il sistema di qualità di queste organizzazioni non coincide. L'obiettivo principale del sistema di gestione della qualità è migliorare i sistemi e i processi per migliorare la qualità del prodotto.

Gli standard della serie ISO 9000 stabiliscono quali elementi dovrebbero essere inclusi nel sistema di qualità, mentre l'organizzazione stessa deve implementarli tenendo conto degli obiettivi, prodotti e processi specifici, nonché dei metodi specifici utilizzati da questa organizzazione.

Inoltre, le linee guida e i requisiti degli standard della serie ISO 9000 sono espressi in termini di obiettivi del sistema di qualità da raggiungere e non prescrivono modi per raggiungere tali obiettivi, lasciando il diritto di scegliere questi metodi alla direzione dell'organizzazione. Gli standard di questa serie distinguono i requisiti per i sistemi di qualità dai requisiti dei clienti per i prodotti. I requisiti per i sistemi di qualità sono complementari ai requisiti tecnici per i prodotti. Ad esempio, ISO 12207 definisce il ciclo di vita dello sviluppo del software. I processi e i modelli di qualità corrispondenti al processo di garanzia della qualità (2.3 della ISO 12207) sono stabiliti dagli standard della serie ISO 9000.

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

    Mezzi tecnici.

    Software.

    Materiali lavorati.

I requisiti per i sistemi di qualità stabiliti negli standard internazionali della serie ISO 9000 sono applicabili a tutte e quattro le categorie generali di prodotti, ma la terminologia e alcune disposizioni e aspetti dei sistemi di gestione della qualità possono variare. Ciò può essere visto dai nomi delle norme ISO 9004 - 2 e ISO 9004 - 3. Va notato che qualsiasi organizzazione offre prodotti di almeno due categorie. Ad esempio, un'organizzazione impegnata nello sviluppo di software fornisce inoltre ai propri clienti servizi a supporto del software sviluppato.

Lo scopo delle linee guida e dei requisiti delle norme internazionali della serie ISO 9000 è quello di soddisfare i requisiti dal punto di vista di 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à integrando le funzionalità nel prodotto per aiutarlo a soddisfare le esigenze e le capacità del mercato. In altre parole, la qualità dovuta al design sono quelle proprietà di design che influenzano il funzionamento ininterrotto del prodotto in varie condizioni di produzione e utilizzo.

3. Qualità dovuta alla coerenza del design. Il terzo aspetto è la qualità mantenendo il costante rispetto del design, l'implementazione delle caratteristiche stabilite nel progetto.

4. Qualità attraverso la manutenzione. Il quarto aspetto è la qualità dovuta alla manutenzione tecnica del prodotto durante il suo funzionamento, se necessario, al fine di mantenere le caratteristiche desiderate.

La serie di norme ISO 9000 fornisce linee guida generali per la gestione amministrativa e requisiti di garanzia di qualità esterni in quattro aree.

Gli standard internazionali della serie ISO 9000 si basano sulla comprensione del fatto che tutto il lavoro viene svolto attraverso i processi (vedere la Figura 1). Ogni processo ha fattori di input. Il risultato del processo è il risultato: prodotti tangibili e non tangibili. Il processo stesso è (o dovrebbe essere) una trasformazione a valore aggiunto. In ogni processo, le persone e / o altre risorse prendono parte in una certa misura. L'output può essere, ad esempio, un programma, un servizio bancario, un prodotto finito (o intermedio) di qualsiasi categoria di prodotto principale. È possibile effettuare misurazioni in ingresso, in varie fasi del processo, nonché in uscita.

Come mostrato in Fig. 2, gli ingressi e le uscite possono essere di diversi tipi: quelli associati ai prodotti (linee continue nella Fig. 2) (ad esempio materie prime, prodotti finiti) e quelli associati alle informazioni (linee tratteggiate) (ad esempio requisiti di prodotto, informazioni specifiche). Questa figura rappresenta i processi di un fornitore con processi di un subappaltatore e un consumatore in una catena di approvvigionamento. Nella struttura di questa rete, vari fattori di input e output si muovono in direzioni diverse. Il termine "prodotti" si riferisce qui a tutte e quattro le principali categorie di prodotti.

La gestione della qualità amministrativa viene effettuata utilizzando la gestione dei processi all'interno dell'organizzazione. Il controllo di processo ha due lati:

gestione della struttura e del funzionamento del processo stesso, nel quadro del quale vengono spostati i prodotti o le informazioni;

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

Tenendo conto della complessa struttura della maggior parte delle organizzazioni, è importante individuare i processi principali, nonché semplificare e classificare i processi in base agli obiettivi della gestione della qualità amministrativa. Un esempio di una complessa rete di processi è un'organizzazione che sviluppa software in conformità con ISO / IEC 12207 e DO-178.

Fig. 1.1 Tutto il lavoro viene eseguito usando processi.

I processi

fornitore

consumatore

requisiti

Fattori di input

Fattori di output

Stato e caratteristiche

produzione

Stato e caratteristiche

produzione

requisiti

Risposta

Risposta

subappaltatore

Fig. 1.2 Interconnessione dei processi nella rete di fornitura in presenza di flussi associati a prodotti e informazioni.

Qualsiasi organizzazione dovrebbe definire e stabilire la propria rete di processi e interfacce e gestirla. L'organizzazione crea, migliora e garantisce un livello costante di qualità dei suoi prodotti attraverso l'implementazione di una rete di processi. Questa è la base concettuale degli standard della serie ISO 9000. I processi e le loro interfacce dovrebbero essere oggetto di analisi e miglioramento continuo al fine di garantire la qualità dei prodotti.

Quando si valutano i sistemi di qualità di qualsiasi organizzazione, lo standard ISO 9000-1 raccomanda di porre tre domande importanti relative a ciascun processo di rete valutato.

Questi processi sono definiti e documentati?

Questi processi sono pienamente applicati e vengono eseguiti secondo la documentazione?

Questi processi sono efficaci nel raggiungimento dei risultati previsti?

Il risultato della valutazione è la totalità delle risposte a queste domande relative, rispettivamente, all'approccio, all'applicazione e al risultato. La valutazione del sistema di qualità può variare nell'area coperta e comprendere varie attività.

Uno dei tipi più importanti di tali attività svolte sistematicamente è la valutazione dello stato e dell'adeguatezza del sistema di qualità, effettuata dalla direzione dell'organizzazione secondo ISO 9001, 9002, 9003. Le conclusioni tratte nel processo di valutazione del sistema di qualità dovrebbero portare ad un aumento della sua efficienza ed economia. La fonte di informazioni per tali conclusioni è anche il risultato di audit interni ed esterni del sistema di qualità.

I controlli di qualità interni condotti dall'organizzazione stessa (prima parte) forniscono informazioni per un'analisi efficace da parte 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) garantiscono, rispettivamente, la fiducia dei clienti nei confronti del fornitore e del certificato, garantendo in tal modo la fiducia in un numero di potenziali consumatori dei prodotti dell'organizzazione.

È inoltre necessario prestare attenzione alle situazioni in cui è possibile applicare gli standard della serie ISO 9000 e al modo in cui il fornitore utilizza questa serie.

Gli standard internazionali della serie ISO 9000 sono previsti per l'uso nelle seguenti quattro situazioni.

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

2. Nelle condizioni di conclusione di un contratto tra la prima e la seconda parte. In questa situazione, il consumatore richiede che determinati elementi e processi del sistema di qualità entrino a far parte del sistema di qualità del fornitore, indicando al contempo un modello specifico 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 della conformità dei suoi prodotti alla norma.

4. Al momento della certificazione o della registrazione da parte di terzi. 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 uno dei due modi per utilizzare gli standard della serie ISO 9000: "metodo motivato dalla direzione" e "metodo motivato da una parte interessata". Il più comune è il secondo metodo.

Quando utilizza il metodo motivato dall'interessato, il fornitore introduce inizialmente un sistema di qualità in risposta alle esigenze immediate dei consumatori. Il sistema di qualità deve essere conforme ai requisiti della ISO 9001, 9002, 9003. In questo modo la direzione dell'organizzazione svolge un ruolo guida, ma la forza trainante è la parte interessata esterna (i consumatori).

Quando si utilizza un metodo motivato dalla direzione, è la direzione dell'organizzazione che inizia a compiere sforzi per determinare le esigenze future e le tendenze del mercato. Le istruzioni per l'installazione iniziale di un sistema di qualità che migliora la qualità del prodotto sono ISO 9004-1 (e altre parti di ISO 9004). Inoltre, il fornitore può applicare le norme ISO 9001, 9002 o 9003 come modello di garanzia della qualità per dimostrare l'adeguatezza del sistema qualità al fine di ottenere un certificato. Il sistema di qualità implementato in questo modo è più capiente e fruttuoso di quello implementato nel primo modo.

Gli standard della serie ISO 9000 prestano molta attenzione alla preparazione e all'uso della documentazione come attività a valore aggiunto. La documentazione pertinente 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 mantenere il livello raggiunto di qualità.

Durante gli audit interni ed esterni, la documentazione per le procedure indica che i processi sono definiti, le procedure approvate e sotto controllo. Solo in queste circostanze gli audit garantiscono una valutazione completa dell'adeguatezza dell'applicazione e dell'attuazione 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 ed eseguite, allora c'è la possibilità di determinare come vengono eseguite.

Inoltre, la norma ISO 9001 sarà considerata in modo più dettagliato, che definisce un modello per garantire la qualità nella progettazione, sviluppo, produzione, installazione e manutenzione di tutti i tipi di prodotti, incluso il software.

Qualità del software è una preoccupazione costante dell'ingegneria del software ed è discussa in molte aree di conoscenza.

  • Phil Crosby: Qualità significa soddisfare le esigenze degli utenti.
  • Watts Hempfrey: La qualità è il raggiungimento di un eccellente livello di usabilità.
  • Azienda IBM: coniato la frase "qualità guidata dalle esigenze del mercato (qualità guidata dal mercato)".
  • Criteri di Baldridge: "Qualità orientata al 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 desiderato di perfezione del prodotto creato (servizio), in grado di soddisfare gli utenti e raggiungibile nel quadro dei vincoli di progettazione indicati.

Qualità nelle attività di progettazione:

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

"Qualità accettabile" può essere confrontato con il livello di servizio all'interno dello SLA specificato - Accordo sul livello di servizio. Cioè, la qualità accettabile può essere considerata come<количественно выраженный> un compromesso tra il cliente e l'appaltatore per quanto riguarda le caratteristiche del prodotto creato dall'appaltatore nell'interesse di<решения задач> il cliente tenendo conto di altre limitazioni del progetto (in particolare, il costo, che viene spesso definito "costo della qualità" - "costo della qualità").

Figura "Area di conoscenza - Qualità del software"

Figura "Modello di un sistema di gestione della qualità"

Fondamenti sulla qualità del software

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

Gli ingegneri devono comprendere il significato del concetto di qualità, le caratteristiche e il valore della qualità in relazione al software sviluppato o mantenuto.

Un'idea importante è che i requisiti software determinano le caratteristiche richieste della qualità del software, oltre a influenzare i metodi di quantificazione e formulati per valutare tali caratteristiche<соответствующие> criteri di accettazione.

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

Gli ingegneri del software dovrebbero percepire i problemi di qualità del software come parte del loro<профессиональной> cultura.
Gli aspetti etici possono svolgere un ruolo significativo nel garantire la qualità del software, la cultura e l'atteggiamento degli ingegneri.<к своей работе>. L'IEEE Computer Society e ACM hanno sviluppato un codice etico e di pratica professionale basato su otto principi che aiutano gli ingegneri a rafforzare il loro impegno per la qualità e l'indipendenza.<в решении вопросов обеспечения достойного качества создаваемых программных продуктов> nel loro lavoro quotidiano.

Valore e costi della qualità

Il concetto di "qualità", infatti, non è così ovvio 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 determinati nella fase di sviluppo dei requisiti per un prodotto software. Le caratteristiche di qualità possono essere richieste in un modo o nell'altro, possono essere assenti o fissare determinati requisiti, tutto ciò può essere il risultato di un certo compromesso.

Il costo della qualità può essere differenziato per:

  • costo di allerta<дефектов> (costo di prevenzione),
  • costo di valutazione
  • costo di guasto interno
  • costo di guasti esterni.

La forza trainante dei progetti software è il desiderio di creare software con un certo valore. Il valore del software in può essere espresso sotto forma di valore, oppure no. Il cliente, di regola, ha la sua idea degli investimenti a costo massimo, il cui ritorno è previsto se vengono raggiunti gli obiettivi principali della creazione del software. Il cliente può anche avere certe aspettative riguardo alla qualità del software. A volte, i clienti non pensano ai problemi di qualità e ai costi associati. Le caratteristiche di qualità sono puramente decorative o è ancora parte integrante del software? La risposta è probabilmente da qualche parte nel mezzo, come accade quasi sempre in tali casi, ed è oggetto di discussione sul grado di coinvolgimento del cliente nel processo decisionale e sulla piena comprensione dei costi e dei benefici associati al raggiungimento di un certo livello di qualità. Idealmente, la maggior parte di queste decisioni dovrebbe essere presa in relazione ai requisiti, ma questi problemi potrebbero essere sollevati durante l'intero ciclo di vita del software. Non ci sono<“стандартных”> regole su come prendere tali decisioni. Tuttavia, gli ingegneri devono essere in grado di presentare varie alternative e il loro costo.

Modelli e caratteristiche di qualità

ISO / IEC definisce tre relativi modelli di qualità del software (ISO 9126-01 Ingegneria del software - Qualità del prodotto, Parte 1: Modello di qualità):

  • qualità interna
  • qualità esterna e
  • qualità durante il funzionamento, nonché una serie di lavori pertinenti sulla valutazione della qualità del software (ISO14598-98 Valutazione del prodotto software).

Qualità dei processi software (qualità dei processi 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 creato.

Esistono due standard critici per la qualità del software.

  • TickIT - riguarda la considerazione del sistema generale di gestione della qualità ISO 9001-00 nell'allegato ai progetti software.
  • Un altro standard importante è CMMI, discusso nel campo della conoscenza "Software Engineering Process", fornisce raccomandazioni per migliorare il processo. Le aree di processo (aree di competenza) di CMMI sono direttamente correlate alla gestione della qualità:
    • garanzia di qualità del processo e del prodotto (categoria di processo CMMI "Supporto"),
    • verifica (verifica, categoria "Ingegneria") e
    • certificazione (validazione, categoria “Engineering”).

In tal modo, CMMI classifica revisione e revisione 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à più elevati secondo il CMMI.

Qualità del prodotto software

Prima di tutto, gli ingegneri devono determinare obiettivi di creazione del software. In questo contesto, è particolarmente importante ricordare che i requisiti dei clienti sono primari e contengono requisiti di qualità e non solo funzionalità (requisiti funzionali). Pertanto, gli ingegneri sono responsabili dell'estrazione di requisiti di qualità che non sono sempre esplicitamente presentati, nonché della loro importanza e del grado di difficoltà nel raggiungerli. Tutti i processi associati alla qualità (ad esempio assemblaggio, ispezione e miglioramento della qualità) devono essere progettati tenendo conto di questi requisiti e sopportare l'onere dei costi aggiuntivi (come componente importante del costo del software).

ISO 9126-01 (Ingegneria del software - Qualità del prodotto, parte 1: modello di qualità) determina per due dei tre modelli descritti in esso, le caratteristiche correlate e le "sotto-caratteristiche" di qualità, nonché metriche utili per valutare la qualità dei prodotti software.

La comprensione del termine "prodotto" viene ampliata per includere tutti gli artefatti creati all'uscita di tutti i processi utilizzati per creare il prodotto software finale. Esempi del prodotto sono (ma non sono limitati a):

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

Sebbene, il più delle volte, il termine qualità sia usato rispetto al prodotto finale e al comportamento del sistema durante il funzionamento, è buona pratica ingegneristica richiedere la conformità con le caratteristiche di qualità specificate da valutare per risultati intermedi / prodotti del ciclo di vita in tutti i processi di ingegneria del software.

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 contemporaneamente in esecuzione:

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

Teorie e concetti si applicano 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 ai requisiti del cliente (attenzione del cliente), che costituiscono il principio del "costruire nella qualità". Questi concetti si basano sul lavoro di esperti di qualità che sono giunti alla conclusione che la qualità di un prodotto è direttamente correlata alla qualità dei processi utilizzati per crearlo.

Approcci simili TQM (Gestione della qualità totale) e PDCA (Pianifica, esegui, controlla, agisci - Pianificazione, azione, verifica, reazione / correzione), sono strumenti per raggiungere obiettivi di qualità. Il supporto di gestione aiuta nell'esecuzione dei processi, nella valutazione del prodotto e nell'acquisizione di tutti i dati necessari. Inoltre, il programma di sviluppo in fase di sviluppo (il programma di miglioramento è generalmente mirato e copre il lavoro dell'unità o dell'organizzazione nel suo insieme) identifica in dettaglio tutte le azioni e i progetti di miglioramento<отдельных аспектов деятельности> entro un certo periodo di tempo per cui tali progetti possono essere realizzati con la soluzione efficace dei compiti corrispondenti. Allo stesso tempo, il supporto della direzione significa che tutti i progetti di miglioramento hanno risorse sufficienti per raggiungere i loro obiettivi. Il supporto gestionale è strettamente correlato all'implementazione dell'interazione attiva nel team e dovrebbe prevenire potenziali problemi (e l'opposizione passiva o addirittura attiva all'attuazione del programma di miglioramento o dei suoi singoli progetti). Formazione di gruppi di lavoro, supporto dei quadri e risorse allocate a livello di progetto: questi temi vengono discussi nel campo della conoscenza "Processo di ingegneria del software".

Processi di qualità del software

Gestione della qualità del software (MQ) 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, i processi di misurazione e i loro risultati, oltre ai canali di feedback.

I processi di gestione della qualità contengono molte azioni. Alcuni di essi consentono di identificare direttamente i difetti, mentre altri aiutano a determinare esattamente dove può essere importante condurre studi più dettagliati, dopo di che, di nuovo, viene svolto un lavoro per rilevare direttamente gli errori. Molte azioni possono anche essere condotte al fine di raggiungere sia questi che altri obiettivi.

La pianificazione della qualità del software include:

  1. Definizione del prodotto desiderato in termini di caratteristiche di qualità.
  2. Processi di pianificazione per ottenere il prodotto desiderato.

Questi processi differiscono dai processi SQM, in quanto tali, che a loro volta mirano a valutare le caratteristiche di qualità pianificate e non all'attuazione effettiva di tali piani. I processi di gestione della qualità dovrebbero affrontare le questioni relative alla capacità del prodotto di soddisfare le esigenze del cliente e i requisiti delle parti interessate, avere valore per il cliente e le parti interessate e la qualità necessaria per soddisfare i requisiti software dichiarati.

MQ può essere utilizzato per valutare sia prodotti finali che intermedi. Alcuni dei processi SQM specializzati sono definiti nella norma 12207:

  • Processo di garanzia della qualità
  • Processo di verifica;
  • Il processo di certificazione (processo di validazione);
  • Processo di analisi congiunta (processo di revisione congiunta);
  • Processo di audit

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

I processi di MQ consistono in compiti e tecniche, progettato per valutare come iniziare a implementare i piani per la creazione di software e in che modo i prodotti intermedi e finali soddisfano i requisiti specifici. I risultati di questi compiti sono presentati sotto forma di report per i manager prima che vengano intraprese le azioni correttive appropriate. La gestione del processo MQ si basa sulla convinzione che i dati del report siano accurati.
Come descritto in quest'area di competenza, i processi di MQ sono strettamente correlati. Possono sovrapporsi e talvolta persino combinarsi. Sembrano essere reattivi in \u200b\u200bnatura, a causa del fatto che considerano i processi nel contesto della pratica acquisita e dei prodotti già prodotti. Tuttavia, svolgono un ruolo importante nella fase di pianificazione, essendo proattivi in \u200b\u200bquanto processi e procedure necessari per raggiungere le caratteristiche e il livello di qualità richiesti dalle parti interessate.<проекта> Software.

La gestione del rischio può anche svolgere un ruolo significativo nel rilascio di software di qualità. L'inclusione di un'analisi del rischio "regolare" (come permanente, piuttosto che periodica; nell'originale - disciplinato) e<соответствующих> tecnico di controllo<рисками> nei processi del ciclo di vita del software può aumentare il potenziale di produzione di un prodotto di qualità. Ulteriori informazioni sulla gestione dei rischi sono disponibili nell'area di conoscenza "Gestione dell'ingegneria del software".

Software Quality Assurance (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<работ> (recitazione) e l'esecuzione di una serie di azioni per garantire che la qualità diventi parte integrante del software.
Tale visione implica una formulazione chiara e precisa del problema, nonché il fatto che i requisiti per il corrispondente sono definiti e chiaramente espressi, completi e interpretati in modo inequivocabile.<программному> decisione. SQA cerca di garantire la qualità nel processo di sviluppo e manutenzione eseguendo varie azioni in tutte le fasi<жизненного цикла>, che consente di identificare i problemi nelle prime fasi, che sono quasi inevitabili in qualsiasi attività complessa.

Gestione del rischio è un serio strumento complementare per garantire la qualità del software.

SQA, come formulato da SWEBOK, si concentra sui processi. Il ruolo di SQA è quello di garantire un'adeguata pianificazione dei processi, un'ulteriore esecuzione dei processi basati su un determinato piano e le misurazioni dei processi necessarie con il trasferimento dei risultati delle misurazioni alle parti interessate (strutture organizzative e individui).

Piano SQA determina i mezzi che verranno utilizzati per garantire la conformità del prodotto sviluppato ai requisiti utente specificati con il massimo livello di qualità possibile in base alle restrizioni del progetto indicate.

Per raggiungere questo obiettivo, prima di tutto, è necessario che gli obiettivi di qualità siano chiaramente definiti e compresi (oltre che interpretati in modo inequivocabile, che è un prerequisito per eventuali obiettivi e requisiti correlati). Ciò, a colpo sicuro, dovrebbe riflettersi nei pertinenti piani di gestione.<проектом>, sviluppo e manutenzione.

Lavori e compiti specifici per garantire la qualità sono strutturati con dettagli sui requisiti di costo e risorse associate, obiettivi in \u200b\u200btermini di gestione e un programma adeguato nel contesto degli obiettivi stabiliti dai piani di gestione, sviluppo e manutenzione. Il piano SQA identifica i documenti, gli standard, le pratiche e gli accordi utilizzati per controllare il progetto, nonché il modo in cui questi aspetti verranno controllati e monitorati per garantire sufficienza e conformità al piano.
Il piano SQA identifica metriche, tecniche statistiche, procedure per generare problemi e intraprendere azioni correttive, come strumenti, tecniche e metodologie, problemi di sicurezza dei media fisici, formazione, reportistica e documentazione relativa ai problemi SQA.

Inoltre, il piano SQA affronta anche le questioni del lavoro di garanzia della qualità relative ad altri tipi di attività descritte in<различных> piani di sviluppo software, che includono anche la fornitura, l'installazione, la manutenzione di soluzioni software personalizzate e / o replicate / standardizzate (commerciali standard, COTS) necessarie per questo progetto software. Un piano SQA può contenere criteri di accettazione del software e azioni di rendicontazione e gestione necessarie per garantire la qualità.<и контролю над> lavoro.

Verifica e convalida (V&V)

Convalida e certificazione del software: un approccio ordinato alla valutazione dei prodotti software, applicato durante l'intero ciclo di vita. Gli sforzi compiuti nell'ambito del lavoro di verifica e certificazione mirano a garantire la qualità come caratteristica integrale del software e soddisfare le esigenze degli utenti.
V&V è direttamente indirizzato ai problemi di qualità del software e utilizza tecniche di test appropriate per rilevare i difetti. V&V può essere utilizzato per prodotti intermedi, tuttavia, nella misura corrispondente ai "passaggi" intermedi<соответствующих> processi del ciclo di vita.

Il processo V&V determina fino a che punto il prodotto (risultato) di uno o l'altro lavoro di sviluppo e manutenzione soddisfa i requisiti formulati nell'ambito di questi lavori e il prodotto finale soddisfa gli obiettivi prefissati e i requisiti dell'utente.

Verifica - un tentativo di garantire il corretto sviluppo del prodotto (il prodotto è costruito nel modo giusto; di solito per intermedio, a volte per il prodotto finale), nel senso che il prodotto ottenuto nel quadro dell'attività pertinente soddisfa le specifiche stabilite nell'attività precedente.
Certificazione - un tentativo di assicurare la creazione del prodotto giusto (il prodotto giusto è costruito; di solito, nel contesto del prodotto finale), in termini di raggiungimento dell'obiettivo.

Entrambi i processi: verifica e certificazione - iniziare nelle prime fasi di sviluppo e manutenzione. Forniscono ricerca opportunità chiave prodotto sia nel contesto di risultati direttamente precedenti (prodotti intermedi), sia in termini di rispetto delle specifiche pertinenti. Lo scopo della pianificazione V&V è di fornire ai processi di verifica e certificazione le risorse necessarie, una chiara assegnazione di ruoli e responsabilità. I documenti del piano V&V risultanti e<детально> descrive varie risorse, ruoli e attività, nonché le tecniche e gli strumenti utilizzati.
Il piano affronta anche gli aspetti di gestione, comunicazioni (interazione), politiche e procedure riguardanti le attività di verifica e certificazione e la loro interazione. Inoltre, potrebbe riflettere problemi relativi alla segnalazione di difetti e requisiti di documentazione.

Valutazione (revisione) e audit (Revisione e audit)

Cinque tipi di valutazioni e audit:

  • Revisioni della direzione
  • Recensioni tecniche
  • ispezioni
  • “walk-through”
  • Audit (audtis)

Valutazione della direzione (Recensioni della direzione)

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

Le valutazioni della direzione supportano il processo decisionale su come apportare modifiche ed eseguire azioni correttive necessarie durante l'attuazione di un progetto di programma.

Le valutazioni della direzione determinano l'adeguatezza di piani, programmi e requisiti, monitorandone l'avanzamento o la non conformità. Queste valutazioni possono essere eseguite in relazione al prodotto, essendo fissate sotto forma di rapporti di audit, rapporti sullo stato (sviluppo), rapporti V&V, nonché vari tipi di piani - gestione del rischio di progetto / progetto, gestione della configurazione, sicurezza<использования> software (sicurezza), valutazione dei rischi, ecc.

Recensioni tecniche

Lo scopo delle valutazioni tecniche è di ricercare un prodotto software per determinarne l'idoneità all'uso corretto. L'obiettivo è identificare le discrepanze con le specifiche e gli standard approvati. Per fornire valutazioni tecniche, devono essere distribuiti i seguenti ruoli: decisore; responsabile della recensione registrar (registratore); nonché personale tecnico che supporta (eseguendo direttamente) le attività di valutazione.

La valutazione tecnica richiede, senza fallo, la presenza dei seguenti dati di input:

  • Formulazioni obiettivo
  • Prodotto software specifico (soggetto a valutazione)
  • Piano di progetto predefinito (piano di gestione del progetto)
  • L'elenco dei problemi (domande) associati al prodotto
  • Procedure di valutazione tecnica

Comando<технической оценки> segue una determinata procedura di valutazione. Le persone qualificate (da un punto di vista tecnico) forniscono una panoramica del prodotto (che rappresenta il team di sviluppo). Studia<продукта> tenuto durante una o più riunioni (tra coloro che presentano il prodotto e coloro che forniscono la valutazione). Una valutazione tecnica è completata dopo che tutte le attività di ricerca sui prodotti prescritte sono state completate.

ispezioni

Lo scopo delle ispezioni è di rilevare e identificare anomalie in un prodotto software. Esistono due principali differenze tra ispezioni e valutazioni (gestionale e tecnica):

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

L'ispezione del software coinvolge sempre gli autori di un prodotto intermedio o finale, in contrasto con le valutazioni che non lo richiedono necessariamente. Le ispezioni (come unità organizzative temporanee - gruppi, team) includono un leader, un registrar, un revisore e diversi ispettori (da 2 a 5). I membri del gruppo ispettivo possono specializzarsi in diverse aree di competenza (hanno diverse aree di competenza), ad esempio area tematica, metodi di progettazione, lingua, ecc. In un dato momento (periodo) di tempo, le ispezioni vengono eseguite in relazione a un singolo piccolo frammento del prodotto (nella maggior parte dei casi, concentrandosi su singole caratteristiche funzionali o di altra natura; spesso, in base a singole regole aziendali, requisiti funzionali o attributi di qualità, nota dell'autore). Ogni membro del team dovrebbe esaminare il prodotto software e altri dati di input prima della riunione di ispezione, applicando, forse, alcune tecniche analitiche in piccoli frammenti del prodotto o del prodotto, nel suo insieme, considerando in quest'ultimo caso solo un aspetto di esso, ad esempio le interfacce. Qualsiasi anomalia rilevata deve essere documentata e le informazioni comunicate 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 durante l'ispezione è un elenco di controllo contenente anomalie e problemi relativi agli aspetti<программного продукта>suscitando interesse. Il foglio risultante spesso classifica le anomalie e viene valutato dal team in termini di completezza e accuratezza. La decisione di completare l'ispezione viene presa in base a uno (uno) dei tre criteri:

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

Le riunioni di ispezione di solito richiedono diverse ore, a differenza della valutazione tecnica e dell'audit, che nella maggior parte dei casi richiedono una maggiore quantità di lavoro e, quindi, durano più a lungo.

Walk-through

Lo scopo della scansione è valutare il prodotto software. La corsa può essere eseguita per familiarizzare (formare) il pubblico con il prodotto software.

Gli obiettivi principali della spazzata sono:

  • Cerca anomalie
  • Miglioramento del prodotto
  • Discussione su metodi alternativi di attuazione
  • Valutazione della conformità a standard e specifiche

Una corsa è come un'ispezione, tuttavia di solito viene eseguita in modo meno formale. Fondamentalmente, lo sweep è organizzato da ingegneri per altri membri del team al fine di ottenere una risposta da loro al loro lavoro, come uno degli elementi (tecniche) di garanzia della qualità.

verifiche

Software di controllo degli appuntamenti è una valutazione indipendente di prodotti e processi software per la loro conformità a documenti, standard, linee guida, piani e procedure applicabili.

Un audit è un'attività formalmente organizzata, i cui partecipanti svolgono determinati ruoli, come il revisore principale, il secondo revisore, il registrar e l'iniziatore. L'audit coinvolge il rappresentante dell'organizzazione / unità organizzativa oggetto di valutazione. A seguito dell'audit, vengono identificati casi di non conformità e viene generato un report necessario per il team<разработки> intraprendere azioni correttive.

Sebbene esistano vari nomi formali (e classificazioni) di valutazioni e audit, è importante notare che questo tipo di azione può essere eseguita per quasi tutti i prodotti in qualsiasi fase del processo di sviluppo o manutenzione.

Considerazioni pratiche

Requisiti di qualità del software

Fattori di influenza

Vari fattori influenzano la pianificazione, la gestione e la selezione di azioni e tecniche di MQ, tra cui:

  • Ambito del sistema in cui verrà eseguito il software (sicurezza critica)<людей>), fondamentale per gli affari, ecc.)
  • Requisiti di sistema e software
  • Quali componenti vengono utilizzati nel sistema: commerciali (esterni) o standard (interni)
  • Quali standard di ingegneria del software sono applicabili in un determinato contesto?
  • Quali sono i metodi e gli strumenti software utilizzati per sviluppare e mantenere, nonché per garantire qualità e miglioramento (prodotti e processi)
  • Budget, personale, organizzazione delle attività del progetto, piani e programmi 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 il modo in cui i processi MQM saranno organizzati e documentati, quali lavori SQM saranno selezionati (standardizzati all'interno del progetto, del team, dell'unità organizzativa, dell'organizzazione), quali risorse sono necessarie e quali sono le restrizioni imposte agli sforzi diretti per garantire la qualità.

affidabilità

Guaranteeability - garanzia<высокой> affidabilità, protezione contro i guasti.
Nei casi in cui un guasto del sistema può portare a conseguenze estremamente disastrose (tali sistemi sono talvolta indicati nelle fonti inglesi come "alta affidabilità" o "sistema ad alta integrità", in russo a volte sono denominati "sistemi ad alta affidabilità", "alta disponibilità" e ecc.), la garanzia generale (aggregata) del sistema (come combinazione di hardware, software e umano) è il requisito di qualità principale e prioritario, in relazione alla funzionalità di base<системы>.

affidabilità il software include caratteristiche quali tolleranza agli errori, sicurezza d'uso (sicurezza - nel contesto di rischi accettabili per la salute umana, affari, proprietà, ecc.), sicurezza o protezione delle informazioni (sicurezza - protezione delle informazioni da operazioni non autorizzate, incluso l'accesso in lettura, oltre a garantire la disponibilità delle informazioni agli utenti autorizzati, nella quantità di diritti loro assegnati), nonché l'usabilità. L'affidabilità è anche un criterio che può essere definito in termini di garanzia.

La vasta letteratura sui sistemi ad alta affidabilità svolge un ruolo significativo nella discussione di questo problema. Allo stesso tempo, viene utilizzata la terminologia che proviene dal campo dei sistemi meccanici ed elettrici tradizionali (compresi quelli che non includono software) e descrive i concetti di pericolo, rischio, 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à di tale errore. Quando sono importanti vari aspetti della sicurezza (sicurezza delle applicazioni e delle informazioni), durante lo sviluppo di piani di lavoro nel campo dell'identificazione di possibili fonti di incidenti, possono essere utilizzate tecniche di analisi dei pericoli (nel contesto di sicurezza d'uso, sicurezza) e analisi delle minacce (in sicurezza delle informazioni, sicurezza). La cronologia dei guasti di sistemi simili può anche aiutare a identificare le tecniche più utili per rilevare guasti e<всесторонней> valutazione della qualità del software.

In una considerazione più dettagliata dell'integrità del software nel contesto di progetti specifici, si dovrebbe prestare particolare attenzione (allocando le risorse appropriate ed eseguendo il lavoro necessario) non solo ai processi di MQ (in particolare quelli formali, inclusi audit e certificazione), ma anche agli aspetti di gestione dei requisiti (in termini di criteri integrità), gestione dei rischi (compresa la pianificazione dei rischi sia in fase di sviluppo che in fase di funzionamento e manutenzione del sistema), progettazione (che, al fine di aumentare la capacità di garanzia, comporta senza dubbio un'accurata analisi e verifica delle soluzioni architettoniche e tecnologiche pianificate per l'uso, spesso, attraverso la creazione di progetti pilota, stand dimostrativi, ecc.) e test (per fornire uno studio completo delle caratteristiche comportamentali del sistema, compresa l'emulazione dell'ambiente di lavoro / configurazione in cui il sistema dovrebbe essere utilizzato durante il funzionamento).

Caratterizzazione dei difetti

I processi MQ assicurano che vengano rilevati difetti. La descrizione delle caratteristiche del difetto gioca un ruolo importante nella comprensione del prodotto, facilita l'adeguamento del processo o del prodotto e informa anche i project manager e i clienti sullo stato (condizione) del processo o del prodotto. Esistono molte tassonomie (metodi di classificazione e strutturazione) per i difetti (guasti). La caratterizzazione dei difetti (anomalie) viene anche utilizzata nell'auditing e nelle valutazioni, quando il responsabile di una valutazione spesso sottopone alla discussione in occasione di riunioni pertinenti un elenco di anomalie formate dai membri del gruppo di valutazione.

Sullo sfondo dell'evoluzione (e dell'emergere di nuovi) metodi e linguaggi di progettazione, insieme a nuove tecnologie software, appaiono nuove classi di difetti. Ciò richiede sforzi enormi per interpretare (e correggere) classi di difetti (guasti) precedentemente definiti. Nel tracciare i difetti, un ingegnere è interessato non solo alla loro quantità, ma anche al tipo. La distribuzione dei difetti per tipologia è particolarmente importante per determinare gli elementi più deboli del sistema, dal punto di vista delle tecnologie e delle soluzioni architettoniche utilizzate, il che porta alla necessità di uno studio approfondito, creazione di progetti pilota specializzati, verifica aggiuntiva del concetto (proof of concept, POC - un approccio frequentemente usato quando si utilizza nuove tecnologie), attirando esperti di terze parti, ecc. Le informazioni in sé, senza classificazione, sono spesso semplicemente inutili per scoprire le cause dei guasti, poiché per determinare i modi per risolvere i problemi è necessario raggrupparli in base ai tipi corrispondenti. La domanda è definire una tassonomia dei difetti che sarà significativa per gli ingegneri e l'organizzazione nel suo insieme.

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

Le definizioni parziali di concetti di questo tipo sono le seguenti:

  • Errore: “La differenza ... tra il risultato corretto e il risultato calcolato<полученным с использованием программного обеспечения>”
  • Colpa: "Fase, processo o definizione errati dei dati in un programma per computer"
  • Fallimento: “<Некорректный> risultato derivante da una mancanza ”
  • Errore umano / utente: "Azione umana che porta a un risultato errato"

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

Secondo i risultati del lavoro di SQM volto a rilevare i difetti, vengono intraprese azioni per rimuovere i difetti dal prodotto in prova. Tuttavia, la questione non si limita a questo. Esistono altre azioni possibili che ti consentono di ottenere il rendimento completo sui risultati del lavoro SQM corrispondente. Tra questi: analisi e debriefing (riepilogo)<по обнаруженным несоответствиям/дефектам>, l'uso di tecniche di valutazione quantitativa (acquisizione di metriche) per migliorare il prodotto e il processo, rintracciare i difetti e rimuoverli dal sistema (con controllo gestionale e tecnico delle necessarie azioni correttive). A sua volta, la fonte di informazioni per migliorare il processo, in particolare, è il processo MQ.

Non conformità e difetti riscontrati durante l'implementazione delle relative tecniche di MQ dovrebbero essere registrati per prevenire la perdita. Per alcuni tecnici (ad esempio valutazione tecnica, audit, ispezioni) è necessaria la presenza di un registrar (registratore), proprio per la registrazione di tali informazioni, insieme a domande (comprese quelle che richiedono ulteriori considerazioni) 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 riassuntive 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 successivamente possono essere registrati in alcuni tipi di database (ad esempio, per tenere traccia delle statistiche tra progetti / storici per ulteriori analisi e miglioramento del processo), sia manualmente che automaticamente dagli strumenti di analisi appropriati (una serie di strumenti di progettazione moderni e strumenti specializzati consentono di analizzare codice e modelli utilizzando metriche appropriate che sono significative per garantire la qualità di prodotti e processi). I rapporti sui difetti vengono inviati alla direzione dell'organizzazione / unità organizzativa o struttura (per prendere le decisioni appropriate riguardo al progetto, prodotto, processo, personale, budget, ecc.).

Tecniche di gestione della qualità del software

Le tecniche di MQ possono essere suddivise in diverse categorie:

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

Tecniche statiche

Le tecniche statiche suggeriscono<детальное> ricerca (esame) di documentazione di progettazione, software e altre informazioni su un prodotto software senza la sua esecuzione. Queste tecniche possono includere altre azioni, come discusso di seguito, per la valutazione "collettiva" o per l'analisi "individuale", indipendentemente dal grado di utilizzo degli strumenti di automazione.

Tecniche ad alta intensità di persone

La forma di questo tipo di tecnica, compresa la valutazione e l'audit, può variare da riunioni formali a riunioni informali o discussioni sui prodotti, anche senza fare riferimento al suo codice. Di solito, questi tipi di tecniche comportano l'interazione a tempo pieno di almeno due, e nella maggior parte dei casi, più di specialisti. Inoltre, tali riunioni possono richiedere una preparazione preliminare (quasi sempre per quanto riguarda la definizione del contenuto delle riunioni, ovvero l'elenco delle questioni da discutere). Le risorse utilizzate in tali tecniche, insieme ai manufatti studiati (prodotto, documentazione, modelli, ecc.) Possono includere vari tipi di liste di controllo e i risultati di tecniche analitiche (discussi di seguito) e lavori di collaudo. Queste tecniche sono discusse, ad esempio, nello standard 12207 quando si discute di valutazione e audit.

Tecniche analitiche

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

A volte, diversi ingegneri utilizzano la stessa tecnica, ma per parti diverse del prodotto. Alcune tecniche si basano sulle specifiche degli strumenti utilizzati, altre prevedono lavori "manuali". Molti possono aiutare a localizzare i difetti direttamente, ma più spesso vengono utilizzati per supportare altre tecniche. Numerose tecniche includono anche vari tipi di valutazioni (valutazione) come elemento integrale dell'analisi della qualità complessiva. Esempi di tali tecniche sono l'analisi della complessità, l'analisi della logica 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 qualsiasi progetto. Un esempio di una tecnica di supporto è l'analisi della complessità, che è utile per identificare frammenti di un progetto di sistema che sono troppo complessi per una corretta implementazione, test o manutenzione. Il risultato di un'analisi della complessità può essere utilizzato anche per sviluppare casi di test. Tecniche di ricerca difettose come l'analisi della logica di controllo possono essere utilizzate anche in altri casi. Per i software con una vasta logica algoritmica, è estremamente importante utilizzare tecniche algoritmiche, specialmente nei casi in cui un algoritmo errato (non la sua implementazione, vale a dire la logica, la nota dell'autore) può portare a risultati disastrosi (ad esempio software avionico, per i quali problemi di sicurezza uso - la sicurezza gioca un ruolo cruciale).

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

Tecniche dinamiche

Nel processo di sviluppo e manutenzione del software, ci si deve rivolgere a vari tipi di tecniche dinamiche. Queste sono principalmente tecniche di test. Tuttavia, poiché le tecniche dinamiche possono essere considerate tecniche di simulazione, test dei modelli ed esecuzione "simbolica" (esecuzione simbolica, spesso comporta l'uso di moduli "fittizi" dal punto di vista della logica eseguibile, con input e output emulati quando si considera lo scenario di comportamento generale dei sistemi multi-modulo; a volte questo termine si riferisce anche ad altre tecniche, a seconda della fonte selezionata).

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

A seconda dell'organizzazione<ведения> progetti, alcuni lavori di collaudo possono essere eseguiti durante lo sviluppo di sistemi software nei processi SQA e V&V. A causa del fatto che il piano SQM risolve i problemi di test, questo argomento include alcuni commenti di test.

analisi

Processi di convalida<качества> descritto in SQA e V&V<планах>, ricerca e valutazione di qualsiasi prodotto di output (compresi quelli intermedi e finali) relativi alla specifica dei requisiti software, per quanto segue:

  • tracciabilità
  • consistenza
  • completezza / completezza
  • correttezza
  • e eseguendo direttamente<требований> (prestazione).

Tale conferma copre anche eventuali artefatti di output dei processi di sviluppo e manutenzione, raccolta, analisi e quantificazione dei risultati. L'attività SQA garantisce che siano pianificati, sviluppati e implementati i tipi di test appropriati (necessari in un determinato contesto di progetto) e V&V - lo sviluppo di piani di test, strategie, scenari e procedure<тестирования>.
I problemi di test sono discussi in dettaglio nel campo della conoscenza "Test". Due tipi di test seguono le attività stabilite 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à) del componente e dei prodotti COTS (COTS - prodotto commerciale pronto per l'uso) da utilizzare nel prodotto creato.

A volte, le organizzazioni indipendenti di V&V possono richiedere la capacità di monitorare il processo di test e, in alcuni casi, certificare (o, più spesso, documentare / registrare) l'implementazione effettiva<тестов> per la loro condotta secondo le procedure specificate. D'altra parte, è possibile effettuare una chiamata a V&V, che può essere finalizzata alla valutazione del test stesso: sufficienza di piani e procedure, adeguatezza e 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é uno sviluppatore del prodotto e non è in alcun modo affiliato con lo sviluppatore del prodotto. Inoltre, la terza parte è una fonte indipendente di valutazione, generalmente accreditata per avere l'autorità appropriata (ad esempio, l'organizzazione che sviluppa uno standard, la cui conformità è valutata da un esperto indipendente e le cui azioni sono confermate dal creatore dello standard). Lo scopo di questo tipo di test è verificare la conformità del prodotto a una serie specifica di requisiti (ad esempio, la sicurezza delle informazioni).

Misurazione quantitativa della qualità del software

I modelli di qualità dei prodotti software spesso includono metriche per determinare il livello di ogni caratteristica di qualità inerente a un prodotto.

Se le caratteristiche di qualità sono selezionate correttamente, tali misurazioni possono mantenere la qualità (livello di qualità) in molti modi. Le metriche possono aiutare a gestire il processo decisionale. Le metriche possono aiutare a trovare aspetti problematici e strozzature nei processi. Le metriche sono uno strumento per valutare la qualità del loro lavoro da parte degli ingegneri stessi, sia per gli scopi definiti da SQA, sia dal punto di vista di un processo di miglioramento a più lungo termine<достигаемого> qualità.
Con un aumento della complessità interna e della sofisticazione del software, i problemi di qualità vanno ben oltre il fatto che il software funziona o funziona. La domanda è: quanto bene vengono valutati quantitativamente gli obiettivi di qualità raggiunti.

Esistono molti altri argomenti che vengono discussi con metriche che supportano direttamente MQ. Questi includono l'assistenza nel decidere quando interrompere il test. In questo contesto, i modelli di affidabilità e il confronto con i campioni (sono considerati utili parametri di riferimento adottati come esempi di una certa qualità).

Il costo del processo MQ è uno dei<проблемных> domande, che emergono sempre nel processo decisionale su come sarà organizzato il progetto (lavoro di progettazione). Spesso vengono utilizzati modelli di costo generici, in base alla determinazione di quando viene rilevato esattamente il difetto e di quanti sforzi si devono fare per correggerlo rispetto alla situazione se il difetto è stato riscontrato nelle fasi precedenti del ciclo di vita. I dati di progettazione possono aiutare a ottenere un'immagine più chiara del valore.

Infine, il reporting SQM stesso contiene informazioni utili non solo sui processi stessi (assumendo il loro stato attuale, nota dell'autore), ma anche su come tutti i processi del ciclo di vita possono essere migliorati.

Sebbene, come stime quantitative (in questo caso, i risultati delle valutazioni, e non il processo di misurazione), le caratteristiche di qualità possano essere utili da sole (ad esempio, il numero di requisiti non soddisfatti e la percentuale di tali requisiti),<эффективно> vengono utilizzate tecniche matematiche e grafiche per facilitare l'interpretazione dei valori metrici. Tali tecniche sono classificate in modo abbastanza naturale, ad esempio, come segue:

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

Le tecniche basate su metodi statistici e test statistici spesso forniscono una "istantanea" delle aree più problematiche del prodotto software studiato (e, a proposito, lo stesso vale spesso per quanto riguarda i processi). I grafici e le tabelle risultanti aiutano visivamente i decisori a identificare gli aspetti su cui focalizzare le risorse<проекта>. I risultati di un'analisi delle tendenze possono dimostrare che il programma è rotto, ad esempio durante i test; o che i guasti di alcune classi diventano più frequenti fino a quando non vengono intraprese azioni correttive durante il processo di sviluppo. Le tecniche di previsione aiutano nella pianificazione dei tempi dei test e nella previsione degli errori.

Caratteristiche di qualità del software

portabilità - Una serie di attributi relativi alla capacità del software di essere trasferito da un ambiente all'altro.
Nota 1 per l'ingresso: un ambiente può includere un ambiente organizzativo, tecnico o software.

Affidabilità - Una serie di attributi relativi alla capacità del software di mantenere il suo livello di qualità di funzionamento in condizioni specifiche per un determinato periodo di tempo.

Appunti:

  1. L'ammortamento o l'invecchiamento del software non si verificano. Le limitazioni di affidabilità si manifestano a causa di errori nei requisiti, nella progettazione e nell'implementazione. Gli errori dovuti a questi errori dipendono dal modo in cui si utilizza il software e dalle versioni del software precedentemente selezionate.
  2. Nella definizione di ISO 8402, "affidabilità" significa "la capacità di un elemento di svolgere la funzione richiesta". In questo standard internazionale, la funzionalità è solo una delle caratteristiche della qualità del software. Pertanto, la definizione di affidabilità è stata ampliata per "mantenere il suo livello di qualità di funzionamento" anziché "svolgere la funzione richiesta".

usabilità - Una serie di attributi relativi al volume di lavoro richiesto per l'uso e alla valutazione individuale di tale uso da parte di una cerchia specifica o prevista di utenti.

Appunti:

  1. Gli "utenti" possono essere interpretati come la maggior parte degli utenti diretti di software interattivo. La cerchia di utenti può comprendere operatori, utenti finali e utenti indiretti che sono interessati da questo software o che dipendono dal suo utilizzo. La praticità dovrebbe essere considerata nella grande varietà di condizioni operative dell'utente che possono influenzare il software, compresa la preparazione per l'uso e la valutazione dei risultati.
  2. La praticità definita in questo standard come un insieme specifico di attributi dei prodotti software differisce dalla definizione in termini di ergonomia, dove altre caratteristiche, come l'efficienza e l'inefficienza, sono considerate componenti della praticità.

manutenibilità - Una serie di attributi relativi alla quantità di lavoro richiesta per cambiamenti specifici (modifiche).
NOTA - Una modifica può includere correzioni, miglioramenti o adattamento del software ai cambiamenti nell'ambiente, i requisiti e le 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 i bisogni stabiliti o percepiti.

Appunti:

  1. Questo set di attributi caratterizza ciò che il software esegue per soddisfare le esigenze, mentre altri set descrivono principalmente quando e come viene eseguito.
  2. In questa caratteristica, si tiene conto della definizione di qualità per le esigenze stabilite e stimate.

Efficienza (efficienza) - Una serie di attributi relativi alla relazione tra il livello di qualità del funzionamento del software e la quantità di risorse utilizzate in determinate condizioni.
NOTA Le risorse possono includere altri prodotti software, hardware, materiali (come carta da stampa, floppy disk) e servizi di personale operativo, di accompagnamento o di manutenzione.

Qualità del prodotto software

Qualità del software - l'intera gamma di segni e caratteristiche dei prodotti software, in relazione alla sua capacità di soddisfare esigenze stabilite o previste.

L'importanza di ogni caratteristica di qualità varia in base alla classe del software. Ad esempio, l'affidabilità è molto importante per i software di sistemi mission critical, l'efficienza è più importante per i software di sistemi critici in tempo reale e la praticità è molto importante per i software di dialogo per l'utente finale.

L'importanza di ogni caratteristica di qualità varia anche a seconda dei punti di vista accettati.

Invio dell'utente

Gli utenti sono principalmente interessati all'utilizzo del software, alle sue prestazioni e ai risultati dell'uso. Gli utenti valutano il software senza studiarne gli aspetti interni o il modo in cui il software è stato creato.

Gli utenti potrebbero essere interessati alle seguenti domande:

  • Ci sono funzionalità richieste nel software?
  • Quanto è affidabile il software?
  • Quanto è efficace il software?
  • Il software è facile da usare?
  • Quanto è facile migrare il software e altri ambienti?

Vista dello sviluppatore

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

Poiché gli sviluppatori sono responsabili della creazione di software che deve soddisfare i requisiti di qualità, sono interessati alla qualità dei prodotti intermedi e alla qualità del prodotto finale. Al fine di 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'efficacia in termini di tempo di risposta, mentre lo sviluppatore utilizza i termini di lunghezza del percorso, latenza e accesso nelle specifiche di progettazione. Le metriche utilizzate per l'interfaccia esterna del prodotto sono intercambiabili con le metriche utilizzate per la sua struttura.

Introduzione del manager

Il gestore può essere più interessato alla qualità complessiva che a un profilo di qualità specifico e per questo motivo dovrà determinare l'importanza di valori che riflettono i requisiti aziendali per le caratteristiche individuali.
Il gestore potrebbe anche aver bisogno di confrontare il miglioramento della qualità con i criteri di gestibilità, come ritardi pianificati o sovraccarichi di costi, perché desidera ottimizzare la qualità in tempi, costi e manodopera limitati.

Valutazione della qualità del prodotto software

La figura seguente illustra i passaggi di base necessari per valutare la qualità del software.

Figura "Modello del processo di valutazione"

Il processo di valutazione consiste in tre fasi: istituzione (determinazione) dei requisiti di qualità, preparazione alla valutazione e procedura di valutazione. Questo processo può essere applicato in qualsiasi fase adatta del ciclo di vita per ciascun componente dei prodotti software.
Lo scopo della fase iniziale è di stabilire requisiti in termini di caratteristiche di qualità. I requisiti esprimono le esigenze dell'ambiente esterno per il prodotto software in questione e dovrebbero essere determinati prima dell'inizio dello sviluppo.
Lo scopo della seconda fase è preparare le basi per la valutazione.
Il terzo risultato è una conclusione sulla qualità dei prodotti software. Quindi la qualità generalizzata viene confrontata con altri fattori, come tempi e costi. La decisione finale della direzione viene presa sulla base del criterio di controllabilità. Il risultato è una decisione della direzione di accettare o rifiutare, o di rilasciare o non rilasciare prodotti software.

Modello di qualità del processo

Il processo di sviluppo deve essere strutturato in modo tale da consentire la misurazione della qualità del prodotto. Gli studi dimostrano: maggiore è la qualità del processo di sviluppo, maggiore è la qualità della qualità del software sviluppata in questo processo. La qualità in ogni fase del progetto aumenta, in primo luogo, come conseguenza diretta della maturità del processo e, in secondo luogo, a causa dell'uso di un prodotto intermedio di qualità superiore prodotto nella fase precedente. Si sottolinea che il significato della seconda ragione che fornisce un aumento della qualità durante il ciclo di vita per i processi maturi è molto più importante. Tutto ciò può essere rappresentato sotto forma di un modello.

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

Da questo seguono i seguenti corollari:
Primo: la qualità viene accumulata nel prodotto in una produzione complessa in modo cumulativo e il contributo alla qualità apportato nelle fasi iniziali ha un effetto più forte sul prodotto finale rispetto alle fasi successive. Ciò è confermato da tutta la pratica della programmazione, ad esempio è noto che i difetti della progettazione del sistema non possono essere compensati dall'alta qualità della codifica.
Pertanto, per controllare la qualità della costruzione di un sistema complesso, è necessario effettuare una scelta dei produttori sulla base della misurazione del grado di maturità e trasparenza dei processi di sviluppo utilizzati. La misurazione della qualità del processo di sviluppo degli appaltatori è un componente importante gestione generale qualità più importante della misurazione della qualità del prodotto risultante prodotto durante i test di collaudo.
Secondo: test e misurazione della qualità dovrebbero avvenire in tutte le fasi del ciclo di vita. Il recupero di dati di qualità stabiliti nelle fasi iniziali può essere molto costoso in assenza di risultati completi.

Linee guida per l'applicazione delle caratteristiche di qualità

1 Applicabilità

2 Concetti di qualità del software

2.1 Introduzione dell'utente
2.2 Vista sviluppatore
2.3 Introduzione da parte del gestore

3.1 Definizione di requisiti di qualità

3.2 Preparazione per la valutazione

3.2.1 Selezione di metriche di qualità (indicatori)
3.2.2 Definizione dei livelli di classifica
3.2.3 determinazione dei criteri di valutazione

3.3 Procedura di valutazione

3.3.1 Misura
3.3.2 Classifica
3.3.3 Valutazione

1. Introduzione

2 Definizione di indicatori di qualità completi

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 Scadenza
2.2.2 Tolleranza ai guasti
2.2.3 Ripristinabilità

2.3 Usabilità

2.3.1 Comprensione
2.3.2 Imparabilità
2.3.3 Operabilità

2.4 Efficienza

2.4.1 Natura del cambiamento nel tempo (comportamento temporale)
2.4.2 Comportamento delle risorse

2.5 Manutenibilità

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

2.6 Portabilità

2.6.1 Adattabilità
2.6.2 Installabilità
2.6.3 Conformità
2.6.4 Intercambiabilità (sostituibile)

Appunti:

  1. L'intercambiabilità viene utilizzata al posto della compatibilità al fine di evitare potenziali confusioni con l'interoperabilità.
  2. L'intercambiabilità con uno strumento software specifico non implica questo questo strumento sostituibile dal software in questione.
  3. L'intercambiabilità può includere attributi di facilità di implementazione e adattabilità. Il concetto è stato introdotto come caratteristica secondaria separata per la sua importanza.

Qualità del progetto

La qualità comprende tutte le attività del progetto che garantiscono 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à è fondamentale perché esprime e fissa gli obiettivi, rendendoli documentati (formalizzati).
Di conseguenza, la qualità è una componente fondamentale della gestione della struttura del progetto.
Per la qualità, tutto è misurabile.

Gestione della qualità del progetto

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

Principi di qualità (ISO 9000)

  1. Attenzione al cliente
  2. Responsabilità di gestione
  3. Coinvolgere le persone
  4. Approccio al processo
  5. Approccio sistematico alla gestione
  6. Miglioramento continuo
  7. Processo decisionale fattuale
  8. Rapporti reciprocamente vantaggiosi 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à

Una delle fasi è determinare quale norme esistenti riguardano questo progetto e come rispettarli. Il risultato della pianificazione della qualità è un elenco di tutti gli standard di qualità applicabili al progetto. Viene fornito un elenco di raccomandazioni su come soddisfare i requisiti di questi standard.

Processo di pianificazione della qualità: input

  • Politica di qualità. Un documento contenente i principi su come un'organizzazione definisce la qualità, ma non contiene i modi per raggiungere la qualità.
  • Il contenuto del progetto (ambito). Determina cosa dovrebbe essere fatto a seguito del progetto e, quindi, cosa dovrebbe essere monitorato nei processi di gestione della qualità. Questo documento è il risultato del processo di pianificazione del contenuto del progetto.
  • Descrizione del prodotto. Contiene dettagli tecnici e altri aspetti significativi che possono influire sulla pianificazione della qualità.
  • Norme e regolamenti. Elenco di standard e linee guida rilevanti per il settore o progetto.
  • Altri documenti.

Processo di pianificazione della qualità: strumenti e tecnologie

  • Analisi costi / benefici. Relativo alla discussione sul costo della qualità. Lo scopo di questo strumento è di confrontare il costo reale di una mancanza di qualità con i vantaggi di una garanzia di qualità.
  • Confronto. Utilizzato per generare idee per il miglioramento attraverso il confronto con altri progetti. È più efficace quando il confronto è con i migliori e non solo con altri progetti interni.
  • Grafici. Utilizzato per mostrare come interagiscono diversi elementi. Esistono molti tipi di diagrammi, incluso un diagramma di causa ed effetto.
  • Preparare esperimenti. Utilizzare gli scenari "what if" per determinare quali variabili sono più influenti nel risultato finale del progetto.
  • Costo della qualità

Processo di pianificazione della qualità: risultati, risultati

  • Piano di gestione della qualità. Descrive come il team di gestione del progetto implementerà una politica di qualità. Dovrebbe interessare le seguenti aree:
  • Controllo del design.
  • Controllo della documentazione.
  • Controllo dell'approvvigionamento di materiali.
  • ispezione
  • Controllo test (test).
  • Controllo sulla strumentazione.
  • Azione correttiva.
  • Record di qualità.
  • Audit (piano e procedura)
  • Procedure documentate e istruzioni di lavoro. Descrivere in dettaglio i processi e come misurare la qualità del processo, sottoprocesso e le singole azioni eseguite.
  • Liste di controllo. Elenco di domande per verificare che non manchi nulla.

Garanzia di qualità

Processo di garanzia della qualità - questa è l'adozione di misure sistematiche pianificate per garantire l'implementazione di tutti i processi necessari per garantire che il progetto (prodotto, servizio) soddisfi i requisiti di qualità.
La garanzia della qualità è il sottoprocesso principale della gestione della qualità. Questa attività è 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 di qualità. L'output del processo di controllo di qualità.

Processo di garanzia della qualità: strumenti e tecniche

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

Audit di qualità

"Esami" strutturati che confermano le "lezioni apprese". I tipi di audit di qualità sono:

  • interno esterno
  • sistema / prodotto / processi / organizzazione,
  • programmato / regolare
  • speciale e complicato.

Processo di garanzia della qualità: punti vendita

Miglioramento di qualità. Include 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 determinare la loro conformità con gli standard di qualità accettati e determinare i modi per eliminare le cause delle scarse prestazioni.

Processo di controllo di qualità: input

  • Risultati del lavoro. I risultati compaiono sempre nel processo di cooperazione, esecuzione e ripianificazione 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à.
  • Elenchi di verifica.

Controllo qualità: strumenti e tecniche

  • ispezione Ciò include attività quali misure, prove, prove per garantire che il risultato soddisfi i requisiti.
  • Grafici di controllo. I grafici di corsa determinano statisticamente i limiti superiore e inferiore, che si riflettono su entrambi i lati dei valori medi del processo.
  • Grafici: Ishikawa, Pareto.
  • Campionamento statistico.
  • Analisi delle tendenze.

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

Processo di controllo di qualità: uscite

  • Miglioramento di qualità. La via d'uscita dal processo di garanzia della qualità.
  • Prendere decisioni. Le decisioni vengono prese in base all'accettazione o al rifiuto dell'oggetto ispezionato.
  • Azione correttiva. Azioni intraprese per conformare un oggetto inappropriato.
  • Liste di controllo completate.
  • Impostazione del processo.

Riferimenti

  • http://sorlik.blogspot.com, Sergey Orlik, 2004-2005
  • Genelt A.E. Il manuale didattico-metodico sulla disciplina "Gestione della qualità dello sviluppo del 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 sono stati formati per determinare i requisiti di qualità del software, approcci alla selezione e miglioramento di modelli per l'analisi metrica degli indicatori di qualità del software, metodi di misurazione quantitativa degli indicatori di qualità nelle 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 conformità con lo scopo e i requisiti funzionali. Inoltre, i requisiti possono essere interpretati abbastanza ampiamente, il che dà origine a una serie di definizioni indipendenti del concetto di "qualità". La definizione più comunemente usata è la ISO 9001, secondo la quale la qualità è il "grado di conformità delle caratteristiche intrinseche ai requisiti". La qualità del software è un concetto relativo che ha senso solo quando si tiene conto delle reali condizioni di utilizzo del software. Pertanto, i requisiti per la qualità del software sono stabiliti in conformità con le condizioni e l'ambito specifico del software.

Modelli di qualità del softwareavere i seguenti quattro livelli di presentazione.

Primo livello corrisponde alla definizione di caratteristiche (indicatori) di qualità del software, ognuna delle quali riflette un punto di vista dell'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à comprende sei caratteristiche o sei indicatori di qualità principali, che elenchiamo in ordine di importanza per la maggior parte degli utenti:

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

Secondo livello. Gli attributi per ciascuna caratteristica di qualità corrispondono a questo livello, che dettaglia i diversi aspetti di una caratteristica particolare. Un insieme di attributi di caratteristiche di qualità viene utilizzato nella valutazione della qualità.

Considerare i set 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 fornite in un determinato ambiente in conformità con i requisiti specificati. Sotto funzione comprendiamo una certa sequenza ordinata di azioni per soddisfare le proprietà del consumatore. Le funzioni sono bersaglio (il principale) e ausiliario.

Agli attributi funzionalità in relazione:

  • sicurezza - un attributo che mostra la capacità del software di prevenire accesso non autorizzato (casuale o intenzionale) a programmi e dati;
  • interoperabilità - un attributo che mostra la possibilità di interazione di questo software con sistemi e ambienti speciali ( sistemi operativireti di computer);
  • completezza funzionale - un attributo che mostra una misura dell'adeguatezza delle funzioni di base per la risoluzione dei problemi in conformità con lo scopo di questo software.

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

  • impeccabilità - un attributo che determina la capacità del software di funzionare senza errori;
  • giusto - un attributo che mostra la misura del raggiungimento dei risultati corretti;
  • controllabilità - un attributo che caratterizza la completezza e l'efficacia della rilevazione degli errori nei risultati intermedi e di output
  • tolleranza d'errore - un attributo che caratterizza la capacità del software di eseguire correttamente le funzioni in condizioni anomale (guasti 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à del programma di eliminare errore del software e riavviare per rieseguire e ripristinare i dati in caso di guasto funzionale;
  • prontezza - un attributo che mostra la capacità di un programma per un'applicazione arbitraria di eseguire con precisione la conversione fornita.

La facilità d'uso è caratterizzata da numerosi attributi che indicano le condizioni necessarie e adatte per l'utilizzo del software da parte di una determinata cerchia di utenti per ottenere risultati pertinenti. Nella norma, l'usabilità è definita come un insieme specifico di attributi di un prodotto software che ne caratterizza l'ergonomia.

Figura. 3.1.

Gli attributi di usabilità includono:

  • comprensibilità - un attributo che definisce lo sforzo speso per il riconoscimento di concetti logici e condizioni dell'applicazione software;
  • studyability (facilità di apprendimento) - un attributo che definisce gli sforzi degli utenti volti a determinare l'applicabilità del software utilizzando controllo operativo, diagnostica, nonché procedure, regole e documentazione;
  • efficienza - un attributo che mostra la risposta del sistema quando si eseguono operazioni e controllo operativo.

Efficienza - un insieme di attributi che determinano la relazione tra i livelli di esecuzione del software, l'uso delle risorse (mezzi, attrezzature, materiali - carta per un dispositivo di stampa, ecc.) E i servizi eseguiti da personale di manutenzione regolare, ecc.

Gli attributi delle prestazioni del software includono:

  • reattività - un attributo che mostra i tempi 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 nell'esecuzione delle funzioni del software;
  • coerenza - un attributo che mostra la conformità di questa caratteristica alle norme, norme e regolamenti specificati.

Manutenibilità: un insieme di proprietà che caratterizzano gli sforzi che devono essere spesi per apportare modifiche, incluso l'aggiornamento, il miglioramento e l'adattamento del software quando si modificano l'ambiente, i requisiti o le specifiche funzionali.

La manutenibilità include i seguenti attributi:

  • analizzabilità- un attributo che definisce gli sforzi necessari per diagnosticare guasti o identificare parti che saranno modificate;
  • stabilità - un attributo che indica la costanza della struttura e il rischio della sua modifica;
  • testabilità - un attributo che indica gli sforzi compiuti durante la convalida e la verifica al fine di rilevare la non conformità ai requisiti, nonché la necessità di modifiche e certificazioni del software;
  • mutabilità - un attributo che determina la capacità 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 al lavoro in nuove condizioni dell'ambiente di runtime. L'ambiente può essere organizzativo, hardware e software. Pertanto, il trasferimento di software in un nuovo ambiente di runtime può essere associato a una serie di azioni volte a garantirne il funzionamento in un ambiente diverso dall'ambiente in cui è stato creato, tenendo conto delle nuove funzionalità software, organizzative e tecniche.

La portabilità include attributi:

  • adattabilità - un attributo che definisce lo sforzo speso per l'adattamento ai 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 attuale;
  • sostituibilità - un attributo che caratterizza la capacità di trasferire software da un ambiente di strumenti a un altro con l'installazione o l'adattamento del software necessari.

Terzo livello progettato per misurare la qualità con metrica ognuno dei quali è definito come una combinazione di un metodo di misurazione degli attributi e una scala per misurare i valori degli attributi. Per valutare gli attributi di qualità nelle fasi del ciclo di vita (durante la visualizzazione di documentazione, programmi e risultati dei test del programma), le metriche con un determinato peso stimato vengono utilizzate per livellare i risultati di un'analisi metrica degli attributi aggregati di un particolare indicatore e della qualità in generale. L'attributo di qualità viene determinato utilizzando una o più tecniche di valutazione nelle fasi del ciclo di vita e nella fase finale 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 singolo attributo di un indicatore di qualità del software. A seconda dello scopo, delle caratteristiche e delle condizioni di manutenzione del software, vengono selezionate le caratteristiche di qualità più importanti e i loro attributi. Gli attributi selezionati e le loro priorità si riflettono nei requisiti per lo sviluppo di sistemi, oppure vengono utilizzate le corrispondenti priorità dello standard della classe di software a cui appartiene questo software.

1

Il documento fornisce brevi informazioni sulla norma ISO 9126 “Tecnologia dell'informazione. Valutazione di un prodotto software. Caratteristiche di qualità e linee guida per il loro utilizzo. " Perché lo spettro sistemi software largo, quindi un gruppo di sistemi è stato scelto per creare test. Per valutare la qualità di questo gruppo di programmi, viene fornita una breve descrizione di alcuni sistemi software. Basato sulle 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 sulle caratteristiche del gruppo selezionato di strumenti software. Come metodo per determinare i valori degli indicatori di qualità, abbiamo utilizzato la registrazione delle caratteristiche (indipendentemente dal fatto) e la valutazione degli esperti. Pertanto, viene proposta una metodologia per valutare la qualità di uno dei tipi di software in conformità con ISO 9126.

standard

caratteristica

controllo di qualità

software

1. Baranyuk V.V., Tyutyunnikov N.N. Valutazione della qualità di dizionari elettronici ed enciclopedie // Ingegneria del software. - 2012. - N. 8. - S. 29–37.

2. Glichev A.V., Panov V.P., Azgaldov G.G. Che cos'è la qualità? - M .: Economia, 1968.135 s.

3. Gorbachenko I.M. Software per la creazione di sistemi di allenamento automatizzati // Problemi di informazione della regione. PIR-2005: materiali del nono conferenza scientifica e pratica (Krasnoyarsk, 11-12 ottobre 2005). - Krasnoyarsk: CPI KSTU, 2005. - T. 2. - P. 132-135.

4. Gorbachenko I.M. Un'analisi comparativa dei sistemi di prova esistenti // Test nel campo dell'istruzione: problemi e prospettive di sviluppo: materiali della Conferenza scientifica e pratica tutta russa. (Krasnoyarsk, 19-21 maggio 2008) / Ris. ed. G.P. Karlov. - Krasnoyarsk: SibGTU, 2008. - S. 177–183.

5. Lipaev V.V. Problemi di garanzia della qualità di strumenti software complessi [risorsa elettronica]. - Modalità di accesso: http://quality.eup.ru/MATERIALY4/poksps.htm (consultato il 9 aprile 2013).

6. Lozinin A.I., 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 12 marzo 2013).

Sui computer moderni ha installato una vasta gamma di software (software). E voglio che sia di alta qualità, efficiente, che funzioni senza errori, ecc. Considerare la definizione di "Qualità del software" nel contesto di standard internazionali:

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

2) la qualità del software - la totalità delle proprietà del software (PS), che determinano la sua idoneità a soddisfare le esigenze indicate o implicite in conformità con il suo scopo [GOST 28806-90 “Qualità del software. Termini e definizioni"].

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

Norma ISO 9126

Al momento, il modello multilivello più utilizzato e utilizzato per la qualità del software è presentato nel set di standard ISO 9126. La base per la regolazione degli indicatori di qualità del sistema è lo standard internazionale ISO 9126 “Tecnologia dell'informazione. Valutazione di un prodotto software. Caratteristiche di qualità e linee guida per il loro utilizzo. " Questo standard descrive la distribuzione a strati delle funzionalità del software. Al livello superiore, vengono identificate 6 caratteristiche di base della qualità del software, ognuna delle quali è determinata da un insieme di attributi che hanno le metriche appropriate per la valutazione successiva (figura).

Secondo questo modello, la funzionalità di uno strumento software (funzionalità) è un insieme di proprietà PS, determinate dalla presenza e dalle caratteristiche specifiche di un insieme di funzioni in grado di soddisfare le esigenze di qualità date o implicite insieme alla sua affidabilità come sistema tecnico. Affidabilità (affidabilità): la capacità del software di eseguire le attività richieste nelle condizioni specificate per un determinato periodo di tempo o un determinato numero di operazioni. Facilità d'uso del software (usabilità): un insieme di proprietà del PS, che caratterizza gli sforzi necessari per il suo utilizzo e la valutazione dei risultati del suo utilizzo da parte di una determinata cerchia di utenti del PS. Efficienza (efficienza): la capacità del software di fornire il livello richiesto di prestazioni in conformità con le risorse allocate, il tempo e le altre condizioni indicate. 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à di PS, che caratterizzano l'idoneità per il trasferimento da un ambiente all'altro.

Modello di qualità del software (ISO 9126)

Test del software di sistema

Nell'attuale livello di sviluppo della tecnologia informatica e dei sistemi di scambio di informazioni, i test sono sempre più utilizzati nella formazione, che viene utilizzata come strumento per il monitoraggio e la previsione delle università. Il monitoraggio come sistema di monitoraggio e diagnostica fornisce all'insegnante informazioni obiettive e operative sul livello di assimilazione del materiale didattico obbligatorio da parte degli studenti e l'amministrazione sull'efficacia della gestione. Il sistema di test informatici è uno strumento universale per determinare la formazione degli studenti a tutti i livelli del processo educativo.

La creazione di test ad alto livello metodologico richiede all'insegnante di sviluppare una chiara struttura concettuale e terminologica del corso, ad es. tabelle di concetti e tesi verificate in prove, strutturate per argomenti e sezioni del programma di studi.

Un sistema di test informatici è un componente integrale per il futuro sviluppo dell'apprendimento a distanza.

Attualmente, hanno iniziato ad apparire strumenti sempre più 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 quelli domestici (ad esempio HyperMethod, "Associate Professor", "Prometheus", "OROX", shell CADIS). Diamo una breve descrizione di alcuni di essi.

Uno dei sistemi per condurre i test "Test Costruttore" è un sistema universale per testare le conoscenze (il sito del sistema è http://www.keepsoft.ru/simulator.htm). Il programma supporta cinque tipi di domande: chiuso (per selezionare una o più risposte), aperto (immissione di una risposta), conformità e ordinazione. 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 in modo indipendente da più persone, inserendo il programma con il proprio nome.

Il prossimo pacchetto è il sistema di test INDIGO (sito web - http://indigotech.ru/). In questo sistema, è anche possibile creare attività di test di 5 tipi. Ma a parte questo, una caratteristica del progettista di test INDIGO è il supporto di un raggruppamento gerarchico multilivello di domande di test per attività, argomenti, ecc. Dopotutto, se le domande del test sono visualizzate in un elenco lineare, allora ci sono difficoltà con la navigazione e la comprensione di quale domanda si riferisce a cosa. In questo sistema, è possibile impostare attività per ciascun gruppo impostazioni individuali (in particolare, la procedura per l'emissione di elementi nidificati o la loro selezione casuale).

Il prossimo pacchetto in esame - VeralTest - una serie di programmi per la creazione di test retrospettivi e per l'organizzazione di test su computer multiutente (sito - http://veralsoft.com/veraltest.shtml). In questo sistema, è possibile creare i seguenti tipi di test retrospettivi: chiusi (selezionando una risposta e scegliendo più risposte), inserendo una risposta testuale, inserendo una risposta numerica, abbinando le domande.

Il pacchetto software VeralTest è presentato in due edizioni:

VeralTest Express. Consente di creare test autonomi autonomi (test exe) che possono essere eseguiti su qualsiasi computer senza installazione e configurazione preliminari. Composizione del pacchetto VeraTest Express: editor di test TestEditor e programma ResultViewer per la visualizzazione dei risultati dei test.

VeralTest Professional. Supporta tutte le funzioni di Express Edition. Inoltre, il pacchetto include un server di test (programma TestServer), che consente di organizzare i test in un'aula di computer o in una rete locale dell'azienda. Allo stesso tempo, l'accesso ai test viene effettuato tramite un browser Web (ad esempio, Internet Explorer, Google Chrome, Mozila Firefox). Questa edizione include anche il programma di amministrazione TestAdmin, con il quale è possibile registrare utenti, raggrupparli, assegnare test che gli utenti devono eseguire, visualizzare e stampare i risultati dei test.

Oltre a questi sistemi software, ci sono molti altri sistemi. Alcuni di essi sono disponibili sul sito Web: http://edu.of.ru/volsch31/default.asp?ob_no \u003d 2300.

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

In relazione a questo tipo di software, è molto difficile considerare l'efficienza, perché l'influenza della persona (l'insegnante che crea i test e lo studente che risponde al test) è grande. Se consideriamo l'efficacia dal punto di vista della velocità dei test, allora questo indicatore dipende maggiormente dalla velocità di trasmissione delle informazioni su una rete di computer, dal numero di attività di test.

Come si può vedere dalla descrizione e dal confronto delle opportunità di cui sopra, i prodotti software considerati possono essere utilizzati per i test in varie discipline, sia umanitarie che tecniche (grazie alla capacità di lavorare con testo, grafica, musica, multimedia).

Se per ogni personaggio hai messo 1 punto, risulta che dai sistemi MOODLE considerati ha ricevuto 22 punti, UniTest System - 15, “Test Constructor” - 11, INDIGO - 14, VeralTest - 12 (versione Express) e 16 (versione Professional).

Quando si tiene conto della presenza di un sistema di impostazioni per l'ordinazione del test, del sistema di interazione su una rete di computer e di altri fattori, i sistemi MOODLE, INDIGO e VeralTest dispongono delle funzionalità più avanzate. Sono questi sistemi che vengono spesso utilizzati nella pratica durante il test degli studenti.

Conclusione

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

Valutare la qualità dei sistemi software utilizzando vari sistemi di 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 il livello minimo di qualità con informazioni incomplete sui 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 prova

VeralTest Express / Professional

Affidabilità

Completezza (probabilità di fallimento)

Basso alto

Resilienza ai guasti (prestazioni)

recuperabilità

Disponibilità del sistema di backup

Salvataggio dei test in un file separato

La praticità d'uso

Facilità di sviluppo

La disponibilità di linee guida per lo studio

Chiaro

Disponibilità modelli pronti test

+ (in inglese)

Disponibilità di un sistema di aiuto completo

Convenienza e facilità d'uso

Presenza di un menu (pulsante) per la creazione di un test

Lavora con la grafica

Lavora con il suono

Creazione di pulsanti di controllo

La capacità di valutare automaticamente la risposta

Stabilire le scadenze per rispondere alle domande

Disponibilità di una funzione per determinare il tempo per rispondere alle domande

Risposta limite di tempo per ogni domanda

Limitare il tempo totale del test

Capacità di dividere le domande per livello di difficoltà

Funzionalità

Funzionalità di sicurezza (ad es. Crittografia di prova)

Capacità di lavorare su una rete di computer locale

Lavora su Internet

Convenienza di scorta

Disponibilità di supporto tecnico

Moduli separati

Presenza di impostazioni per l'ingegnere

Disponibilità delle impostazioni per l'insegnante

Presenza di impostazioni per la persona di prova

portabilità

Versione di rete disponibile

+ (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 identificarne il meglio.

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

revisori:

Dorrer G.A., dottore in scienze tecniche, professore, capo. Presidente, FSBEI HPE "Università tecnologica statale siberiana", Krasnoyarsk;

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

Il lavoro è stato ricevuto il 05/07/2013.

Riferimento bibliografico

Gorbachenko I.M. VALUTAZIONE DELLA QUALITÀ DEL SOFTWARE PER LA CREAZIONE DI SISTEMI DI PROVA // Ricerca fondamentale. - 2013. - N. 6-4. - S. 823-827;
URL: http://fundamental-research.ru/ru/article/view?id\u003d31642 (data di accesso: 07.20.2019). Portiamo alla vostra attenzione le riviste pubblicate dalla casa editrice Academy of Natural Sciences

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

La garanzia della qualità del software comprende attività svolte in ogni fase del suo sviluppo. L'obiettivo è fornire una garanzia che il prodotto soddisfi i requisiti funzionali e 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, specialisti di test, ingegneri addetti al controllo qualità e altri partecipanti al processo di sviluppo del prodotto, i criteri di qualità sono trasparenti e misurabili. Innanzitutto, considera la definizione generale.

Qualità del software: un insieme di caratteristiche di un prodotto software che determina la capacità di eseguire le funzioni assegnate ad esso.

Questo indicatore è attualmente regolato dalla norma internazionale ISO / IEC 25010: 2011. Questo standard stabilisce un sistema di valutazione della qualità del software a più livelli basato su otto caratteristiche di base.

Impostazioni di qualità del software

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

  1. Funzionalità. Il software è riconosciuto come funzionale se esegue le attività assegnate ad esso, soddisfa le esigenze specifiche degli utenti. Questo aspetto richiede un funzionamento corretto e preciso, la compatibilità di tutti i componenti inclusi nella composizione.
  2. Affidabilità. Per affidabilità, il software è inteso come l'esecuzione ininterrotta delle attività assegnategli in determinate condizioni per un tempo prestabilito.
  3. Usabilità (usabilità). Questo parametro caratterizza il grado di convenienza 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. Convenienza di scorta. Questo indicatore caratterizza la semplicità di analisi, test, correzione dei componenti software, la sua manutenzione, nonché il grado di adattamento a nuove condizioni.
  6. Portabilità. Il grado di facilità nel trasferirlo su un'altra piattaforma. La garanzia della qualità del software implica la verifica per 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, ad es. minimizzazione delle minacce associate a letture non autorizzate, modifica delle informazioni, ecc. Le minacce possono anche essere associate a un uso improprio del software, influenze esterne da parte di persone non autorizzate, guasti dell'hardware.

Garanzia e test di qualità

I termini "test" e "controllo di qualità", ovviamente, sono interconnessi, 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 collaudo, rilascio del prodotto e manutenzione post-rilascio.

I compiti degli specialisti del QA includono:

  • formazione di criteri di qualità;
  • pianificare misure per soddisfare i criteri in ogni fase dello sviluppo del prodotto;
  • selezione di strumenti di test;
  • test del prodotto;
  • calcolo KPI
  • prevenzione degli errori e miglioramento dei processi.

analisi - verifica della conformità del software.

Quindi, vedete che l'assicurazione della qualità è un concetto più ampio che include il lavoro di prova.

I test possono essere automatizzati o possono essere eseguiti manualmente; può essere un ciclo completo o finalizzato alla verifica di un aspetto particolare della qualità (sicurezza, prestazioni, usabilità, ecc.).

Gli ingegneri addetti ai test preparano strategie di test e un piano in base alle caratteristiche del progetto e ai requisiti della soluzione, creano e ottimizzano in futuro una serie di casi di test, ricercano difetti, creano e inviano report di difetti agli sviluppatori e verificano l'eventuale eliminazione del difetto.

La funzione di garanzia della qualità può essere svolta dal dipartimento interno dell'azienda, oppure può essere delegata a un appaltatore indipendente che valuterà oggettivamente la soluzione stessa, istituirà processi di garanzia della qualità e consentirà quindi il lancio di un prodotto di alta qualità che soddisfi i requisiti aziendali e le aspettative degli utenti.

LA CAMPANA

C'è chi legge questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam