del software nel settore dei dispositivi medici, come

Transcript

del software nel settore dei dispositivi medici, come
Requisiti sulla qualità del software secondo lo standard ISO/IEC 25010
Domenico Natale – AB Medica– Versione 1
Riunione delle Commissione UNINFO Informatica Medica
Milano, 30 settembre 2013
1. Premessa.
La presente sintesi è volta all’inquadramento della problematica sulla qualità del software in
vista delle future attività di validazione e certificazione, in ambito sanitario.
La grande attenzione a tale tema è dovuta al fatto che il software in ambito sanitario è
divenuto ormai centrale nelle attività di certificazione, in particolare essendo il software
considerato alla stessa stregua del dispositivo medico.
Si distinguono, secondo la DIRETTIVA 2007/47/CE DEL PARLAMENTO EUROPEO E DEL
CONSIGLIO diversi tipi di software:
- software inteso come dispositivo medico;
- software stand-alone separato dai supporti, ma comunque rilevante nelle attività
connesse con il dispositivo medico;
- software generico.
Circa il primo e secondo tipo di software si riporta: “Considerata l’importanza crescente
del software nel settore dei dispositivi medici, come software indipendente (stand- alone)
oppure come software incorporato in un dispositivo, un requisito essenziale dovrebbe essere
la validazione del software secondo lo stato dell’arte” - Direttiva CE punto (20).
Si riporta anche il punto 12.1 bis della stessa direttiva CE “Per i dispositivi che incorporano un
software o costituiscono in sé un software medico, il software è convalidato secondo lo stato
dell’arte, tenendo conto dei principi del ciclo di vita dello sviluppo, della gestione dei rischi,
della validazione e della verifica.”
Per stato dell’arte si potrà intendere la validazione e verifica del software secondo lo standard
ISO/IEC 25010 (previa condivisione con gli esperti, il parere della Commissione UNINFO).
Per ciclo di vita di sviluppo, secondo lo standard 25010 che si ricorda è orientato al prodotto
e non al processo, si individuano tre momenti di validazione e verifica: “statica” nella
progettazione della codifica, “dinamica” durante il test simulato, “in uso” con il monitoraggio
degli effetti del software nell’ambiente reale.
Si fa presente comunque che al di là degli obblighi previsti dalle direttive CE e dalle
Legislazioni italiane, il raggiungimento della qualità del software dovrebbe prescindere
dagli adempimenti formali, che si diversificano caso per caso, per fornire comunque un
servizio utile allo scopo con conseguente soddisfazione dell’utente finale e miglioramento
dell’immagine di chi si propone come produttore di software, compreso quello generico.
1
D. Natale-AB Medica-Qualità del software-Commissione UNINFO Ingegneria del software-30/9/2013-Vers.1
2. Descrizione sommaria dell’ISO/IEC 25010 “System and software quality model”
Il modello di qualità del software, come quello sui dati, è stato sviluppato nell’ambito
della serie di standard 25000, detta anche SQuaRE (Software Quality Requirements
and Evaluation). Tale serie rappresenta una novità nel campo ISO in quanto centrata
esclusivamente sulla qualità del prodotto e non sul processo adottato dall’utente nel proprio
contesto d’uso. La serie 25000, non ancora completa, fornisce standard sui modelli di qualità
del software e dei dati, oltre a standard sulla specificazione dei requisiti, la valutazione,
la gestione, la misurazione dei livelli di qualità raggiunti. La seguente figura ha uno scopo
indicativo: per ogni riferimento ufficiale si rinvia alle versioni originali in lingua inglese.
Standard di SQuaRE: Software product Quality Requirements and Evaluation
* il 25022-23-24 sono in realizzazione in fase Committee Draft
Lo standard sul modello di qualità del software ISO/IEC 25010 sostituisce l’ISO/IEC 9126-1
del 2001. Il modello di qualità del software contenuto nell’ISO/IEC 25010 può beneficiare del
modello di qualità dei dati dell’ISO/IEC 25012, complementare al 25010.
Questo standard internazionale, pubblicato nel 2011 e sviluppato nell’ambito della
Commissione sull’Ingegneria del Software, definisce un modello generale di qualità dei
sistemi e del software. Lo standard è applicabile ad ogni dominio applicativo. Nello standard
sono categorizzati gli attributi di qualità in diverse caratteristiche considerate da tre punti di
vista:
- Qualità interna, relativa a proprietà statiche sul codice software verificabili con analizzatori
o ispezioni;
- Qualità esterna, verificabile da analizzatori e da tecnici con test dinamici in ambienti
simulati;
- Qualità in uso, verificabile in ambienti reali o simulati con la partecipazione di utenti che
enfatizzano le difficoltà o facilità di interazione uomo-computer.
2
D. Natale-AB Medica-Qualità del software-Commissione UNINFO Ingegneria del software-30/9/2013-Vers.1
Lo standard è utilizzabile da diverse categorie di utenti:
- sviluppatori di software nelle fasi di analisi, progettazione, test interno o di
accettazione durante il ciclo di vita del software;
- valutatori di laboratori di test, utenti, ecc.;
- acquirenti che per conto proprio o di terzi provvedono all’acquisto di software come
prodotto o servizio fornito da un fornitore;
- manutentori di applicazioni software;
- fornitori di software e servizi, regolati da contratti, anche per la validazione di sistemi
e test di qualificazione;
- utenti che usano il sistema/software per eseguire specifiche funzioni quando valutano
la qualità di un sistema/software ed effettuano test di accettazione;
- manager della qualità che effettuano esami sistematici del sistema/software o servizi
come parte dell’attività di assicurazione di qualità e controllo di qualità.
Le caratteristiche che compongono il modello di qualità interna/esterna sono:
a) idoneità funzionale: completezza, correttezza, appropriatezza
b) efficienza: comportamento temporale, utilizzo risorse, capacità
c) compatibilità: co-esistenza, interoperabilità
d) usabilità: riconoscimento appropriato, apprendibilità, operabilità, protezione errori utente,
estetica dell’interfaccia, accessibilità
e) affidabilità: maturità, disponibilità, rimedi automatici errori utente, ripristinabilità
f) sicurezza: riservatezza, integrità, non ripudio, account utente, autenticazione utente
g) mantenibilità: modularità, riusabilità, analizzabilità, modificabilità, testabilità
i) portabilità: adattabilità, installabilità, sostituibilità
Le caratteristiche che compongono il modello di qualità in uso sono:
l) efficacia
m) efficienza
n) soddisfazione: utilità, fiducia, piacere, confort
o) assenza e attenuazione dei rischi: economici, salute e safety, ambiente
p) copertura del contesto: completezza e flessibilità
Attualmente per la misurazione della qualità del software sono in fase di predisposizione
anche l’ISO/IEC 25022 “Measurement of quality in use” e l’ISO/IEC 25023 “Measurement of
software quality” che forniranno per ogni caratteristica e sotto-caratteristica vari esempi di
algoritmi di riferimento per misurare il livello di qualità raggiunto.
Si può affermare che il meglio dello stato dell’arte (citato nella direttiva europea) consista
nel tener conto delle caratteristiche e sotto-caratteristiche elencate ed anche nel fornire con
trasparenza misure del livello raggiunto (a prescindere dal valore conseguito).
3. Diversificazioni delle validazioni&verifiche per i tipi di software
3
D. Natale-AB Medica-Qualità del software-Commissione UNINFO Ingegneria del software-30/9/2013-Vers.1
Le certificazioni strumentali del tipo di quelle effettuate nei laboratori per gli strumenti
che incorporino software, possono includere implicitamente la validazione&verifica delle
tipologie a), b), c), e), i).
Aderendo allo standard 25010 le tipologie d), f), g) necessiterebbero probabilmente di
ulteriori test, così come le tipologie l), m), n), o), p) che andrebbero monitorate, almeno
a livello campionario, in ambiente reale, con analisi simili a quelle già conosciute come
Customer satisfaction o Livelli di servizio.
Per il software generico occorrerebbe tener conto, in condivisione con i produttori del
software, gli analisti, i produttori in outsourcing, i progettisti di piattaforma, delle potenzialità
dello standard separatamente per la definizione dei requisiti funzionali e non funzionali (da
un punto di vista statico, dinamico, in uso), sia per i prototipi che per i prodotti finiti.
4. Considerazioni ulteriori
Una visione completa della qualità suggerisce di tener conto anche degli aspetti dei dati.
Essendo il modello di qualità dei dati definito nell’ISO/IEC 25012, complementare al 25010, si
potrà definire un supporto alla definizione dei requisiti del software partendo dal modello dei
dati ed alla valutazione degli effetti della qualità del software sulle banche dati. Si sottolinea
tra l’altro che lo standard 25012 prevede specificatamente che alcune caratteristiche di
qualità dei dati possano dipendere dal sistema (device) utilizzato.
In esso si definisce un modello di qualità dei dati strutturati che categorizza gli attributi
di qualità in 15 caratteristiche considerate da due punti di vista, inerenti e dipendenti dal
sistema.
Inerenti:
- accuratezza
- attualità
- coerenza
- completezza
- credibilità
Inerenti e dipendenti dal sistema:
- accessibilità
- comprensibilità
- conformità
- efficienza
- precisione
- riservatezza
- tracciabilità
Dipendenti dal sistema:
- Disponibilità
- Portabilità
- Ripristinabilità
4
D. Natale-AB Medica-Qualità del software-Commissione UNINFO Ingegneria del software-30/9/2013-Vers.1
Il modello prende in considerazione tutti i tipi di dati, riferiti a quelli strutturati (stringhe,
testi, date, numeri, immagini, suoni, ecc.).
Tale standard può essere usato, ad esempio, per:
- definire i requisiti di qualità del software e del sistema nello sviluppo/manutenzione;
- valutare i requisiti di qualità dei dati nella produzione, acquisizione e integrazione;
- descrivere un’ontologia di un sistema informativo-informatico;
- identificare i criteri di assicurazione di qualità, utili anche per re-ingegnerizzazioni,
assessment e miglioramenti dei dati;
- esaminare la conformità dei dati alle legislazioni o requisiti vigenti;
- disporre di elementi concreti per stimare i costi della non qualità dei dati e attuare
miglioramenti organizzativi.
Si precisa infine che l’adesione all’utilizzo di ambedue gli standard, software e dati, è
comunque motivata da elementi esterni alla obbligatorietà legale, ma dal miglioramento
della qualità e dal desiderio di innovazione. Essa va vista come un’opportunità competitiva
per l’impresa, un’occasione di trasparenza ed uno strumento per soddisfare le esigenze
dell’utente finale.
5
D. Natale-AB Medica-Qualità del software-Commissione UNINFO Ingegneria del software-30/9/2013-Vers.1