Gli indicatori di qualita del software secondo ISO/IEC 25010

La norma ISO/IEC 25010 definisce i termini di:

  • qualità interna: riferita a proprietà statiche/strutturali del software verificabili con analizzatori o ispezioni (esprime la misura in cui il codice software possiede una serie di attributi statici, indipendentemente dall’ambiente di utilizzo e dall’utente) – vedi Figura 1,
  • qualità esterna: riferita a proprietà dinamiche/comportamentali del software in esecuzione in ambienti simulati (esprime il comportamento dinamico del software nell’ambiente d’uso) – vedi Figura 1,
  • qualità in uso: riferita all’impatto del software in esecuzione in ambienti reali tenendo anche conto della partecipazione degli utenti e della facilità di utilizzo (esprime l’efficacia e l’efficienza con cui il software soddisfa le esigenze dell’utente ed è correlata alla sua percezione diretta) – vedi Figura 2.

Qualità interna ed esterna del software

Il modello di qualità qualità interna/esterna definito dall’ISO/IEC 25010 ha 8 caratteristiche a loro volta suddivise in 31 sotto-caratteristiche:

  1. idoneità funzionale: indica il grado in cui un prodotto o sistema fornisce funzioni che soddisfano esigenze dichiarate e implicite quando utilizzato in condizioni specificate,
    • completezza: indica il grado in cui l’insieme di funzioni copre tutte le attività specificate e gli obiettivi dell’utente,
    • correttezza: indica il grado in cui un prodotto o sistema fornisce i risultati corretti con il grado necessario di precisione,
    • adeguatezza: indica il grado in cui le funzioni facilitano l’adempimento di compiti specifici e obiettivi,,
  2. performance:
    • tempo: indica il grado di prestazioni relative alla quantità di risorse utilizzate sotto condizioni dichiarate,
    • risorse: indica il grado in cui la risposta e tempi di elaborazione e throughput, le tariffe di un prodotto o sistema, nell’esercizio delle sue funzioni, soddisfano i requisiti,
    • capacità: indica il grado in cui i limiti massimi di un prodotto o parametro di sistema soddisfare i requisiti,
  3. compatibilità: indica il grado in cui un prodotto, sistema o componente può scambiare informazioni con altri prodotti, sistemi o componenti e / o svolgono le funzioni richieste, condividendo lo stesso ambiente hardware o software,
    • coesistenza: indica il grado in cui un prodotto può svolgere le funzioni richieste in modo efficiente condividendo un comune ambiente e risorse con altri prodotti, senza impatti dannosi su qualsiasi altro prodotto,
    • interoperabilità: indica il grado in cui due o più sistemi, prodotti o componenti possono scambiare informazioni e utilizzare le informazioni che sono state scambiate,
  4. usabilità: indica il grado in cui un prodotto o un sistema può essere utilizzato da utenti specifici per raggiungere obiettivi specifici con efficacia, efficienza e soddisfazione in uno specifico contesto di utilizzo,
    • riconoscibilità: indica il grado in cui gli utenti possono riconoscere se un prodotto o un sistema è appropriato i loro bisogni,
    • apprendibilità: indica il grado in cui un prodotto o un sistema può essere utilizzato da utenti specifici per raggiungere obiettivi di apprendimento specifici utilizzare il prodotto o il sistema con efficacia, efficienza, assenza di rischi e soddisfazione in uno specifico contesto di utilizzo,
    • operabilità: indica il grado in cui un prodotto o un sistema ha attributi che lo rendono facile da usare e controllare,
    • protezione errori: indica il grado in cui il sistema protegge gli utenti dal commettere errori,
    • esteticità: indica il grado in cui l’interfaccia utente consente un’interazione piacevole e soddisfacente per l’utente,
    • accessibilità: indica il grado di utilizzo di un prodotto o sistema da parte di persone con la più ampia gamma di caratteristiche e capacità di raggiungere un obiettivo specificato in un contesto di utilizzo specificato,
  5. affidabilità: indica il grado in cui un sistema, prodotto o componente esegue funzioni specifiche in condizioni specificate per un periodo di tempo specificato,
    • maturità: indica il grado in cui un sistema soddisfa le esigenze di affidabilità durante il normale funzionamento,
    • disponibilità: indica il grado in cui un sistema, prodotto o componente è operativo e accessibile quando richiesto per l’uso tolleranza ai guasti: grado in cui un sistema, prodotto o componente funziona come previsto nonostante la presenza di guasti hardware o software,
    • tolleranza: indica il grado con cui un sistema, prodotto o componente funziona come previsto nonostante la presenza di guasti hardware o software,
    • ricoverabilità: indica il grado in cui, in caso di interruzione o guasto, un prodotto o sistema può recuperare i dati direttamente interessati e ristabilire lo stato desiderato del sistema,
  6. sicurezza: indica il grado in cui un prodotto o sistema protegge le informazioni e i dati in modo che le persone o altri prodotti o sistemi avere il grado di accesso ai dati adeguato alle proprie tipologie e ai livelli di autorizzazione,
    • riservatezza: indica il grado in cui un prodotto o un sistema garantisce che i dati siano accessibili solo a coloro che ne sono autorizzati accesso,
    • integrità: indica il grado in cui un sistema, prodotto o componente impedisce l’accesso non autorizzato o la modifica di, programmi o dati per computer,
    • non ripudio: indica il grado in cui è possibile dimostrare che le azioni o gli eventi si sono verificati, in modo che gli eventi o le azioni, non può essere ripudiato in seguito,
    • autenticazione: indica il grado in cui si può dimostrare che l’identità di un soggetto o di una risorsa è quella rivendicata,
    • autenticità: indica il grado in cui si può dimostrare che l’identità di un soggetto o di una risorsa è quella rivendicata,
  7. manutenibilità: indica il grado di efficacia ed efficienza con cui un prodotto o sistema può essere modificato per migliorarlo, correggerlo o adattarlo ai cambiamenti nell’ambiente e nei requisiti,
    • modularità: indica il grado in cui un sistema o un programma per computer è composto da componenti discreti tali che alla modifica di un componente ha un impatto minimo sugli altri componenti,
    • riusabilità: indica il grado in cui un bene può essere utilizzato in più di un sistema o nella costruzione di altri beni,
    • analizzabilità: indica il grado di efficacia ed efficienza con cui è possibile valutare l’impatto su un prodotto o sistema di una modifica intenzionale a una o più delle sue parti, o per diagnosticare un prodotto per carenze o cause di guasti o per identificare le parti da modificare,
    • modificabilità: indica il grado in cui un prodotto o un sistema può essere modificato in modo efficace ed efficiente senza introduzione di difetti o degrado della qualità del prodotto esistente,
    • testabilità: indica il grado di efficacia ed efficienza con cui è possibile stabilire i criteri di prova per un sistema, prodotto o componenti e test possono essere eseguiti per determinare se tali criteri sono stati soddisfatti,
  8. portabilità: indica il grado di efficacia ed efficienza con cui un sistema, prodotto o componente può essere trasferito da un hardware, software o altro operativo o di utilizzo ambiente a un altro,
    • adattabilità: indica il grado in cui un prodotto o un sistema può essere in modo efficace ed efficiente adattato per hardware, software o altri strumenti operativi o di utilizzo diversi o in evoluzione ambienti,
    • installabilità: indica il grado di efficacia ed efficienza con cui un prodotto o sistema può essere installato e/o disinstallato con successo in un ambiente specificato,
    • sostituibilità: indica il grado in cui un prodotto può sostituire un altro software specificato prodotto per lo stesso scopo nello stesso ambiente.

Qualità in uso del software

Il modello della qualità in uso definito dall’ISO/IEC 25010 ha 5 caratteristiche, a loro volta suddivise in 11 sotto-caratteristiche:

  1. efficacia: indica l’accuratezza e la completezza con cui gli utenti raggiungono gli obiettivi specificati,
  2. efficienza: indica le risorse spese in relazione alla correttezza e completezza con quali utenti raggiungono gli obiettivi,
  3. soddisfazione: indica il grado in cui le esigenze dell’utente sono soddisfatte quando un prodotto o un sistema lo è utilizzato in un contesto d’uso specificato,
    • utilità: indica il grado in cui un utente è soddisfatto del proprio risultato percepito di obiettivi pragmatici, compresi i risultati dell’uso e le conseguenze dell’uso,
    • fiducia: indica il grado in cui un utente o un altro stakeholder ha fiducia che un prodotto o il sistema si comporterà come previsto,
    • piacere: indica il grado in cui un utente ottiene piacere dall’adempimento del proprio personale esigenze,
    • comodità: indica il grado in cui l’utente è soddisfatto del comfort fisico,
  4. assenza e attenuazione dei rischi: indica il grado in cui un prodotto o un sistema attenua il rischio potenziale condizione economica, vita umana, salute o ambiente,
    • economicità: grado in cui un prodotto o sistema mitiga il rischio potenziale situazione finanziaria, funzionamento efficiente, proprietà commerciale, reputazione o altre risorse in i contesti d’uso previsti,
    • salute: indica il grado in cui un prodotto o sistema mitiga il potenziale rischio per le persone nei contesti d’uso previsti,
    • ambiente: indica il grado in cui un prodotto o sistema mitiga il potenziale rischio per la proprietà o l’ambiente nei contesti d’uso previsti,
  5. copertura del contesto: indica il grado in cui un prodotto o sistema può essere utilizzato con efficacia, efficienza, libertà dal rischio e soddisfazione sia in specifici contesti di utilizzo che in contesti oltre quelli inizialmente esplicitamente identificati,
    • completezza: indica il grado di utilizzazione di un prodotto o sistema efficacia, efficienza, assenza di rischi e soddisfazione in tutti i contesti di utilizzo specificati,
    • flessibilità: indica il grado in cui un prodotto o sistema può essere utilizzato con efficacia, efficienza, libertà dal rischio e dalla soddisfazione in contesti diversi da quelli inizialmente specificati nei requisiti.

[sc name=”article-end”]