LA VERIFICA DELLA QUALITA’ DELLE SPECIFICHE FUNZIONALI WORKSHOP "MONITORAGGIO DEI CONTRATTI DI GRANDE RILIEVO" DICEMBRE 1999 Autore: Gruppo di Monitoraggio: Telefono: Indirizzo e-mail: Ing. Enrico Rossi Consip S.p.A. 06/77700223 [email protected] La verifica della qualità delle specifiche funzionali LA VERIFICA DELLA QUALITA’ DELLE SPECIFICHE FUNZIONALI Gruppo di monitoraggio della Consip Abstract La documentazione funzionale di progetto rappresenta normalmente il più importante documento realizzato dal Fornitore. In un contesto organizzativo in cui il Gruppo di monitoraggio si trovi a dover valutare la qualità di differenti e numerose “Specifiche Funzionali”, è bene dotarsi di uno strumento veloce ma soprattutto uniforme per usare lo stesso metro di giudizio sui vari progetti. Tale strumento è la check-list o lista di controllo che consente, in base ad un numero limitato di item, di valutare gli aspetti peculiari del documento e di esprimere un giudizio di adeguatezza o meno, finalizzato all’approvazione o rifiuto del documento medesimo. Keywords Documentazione funzionale, Specifiche funzionali, check-list, ISO/IEC 9126 Introduzione L’importanza delle Specifiche funzionali impone la necessità di misurarne il profilo qualitativo utilizzando quello strumento ampiamente consolidato che è la check-list. Tuttavia, la check-list per il controllo qualità di questo tipo di documentazione non è uno strumento utilizzabile sic et simpliciter da qualunque Gruppo di monitoraggio per ogni contratto. Essa deve essere necessariamente personalizzata, aumentando e/o riformulando le domande-item in modo da adattarle allo specifico ambiente di lavoro. E’ anche pensabile di modificare l’algoritmo presentato e personalizzare pertanto il processo decisionale di approvazione/rifiuto del documento. Il Controllo Qualità della Documentazione Funzionale di Progetto Nel ciclo di vita del software di tipo sequenziale (detto anche a cascata o ‘waterfall’) utilizzato nel SIRGS (Sistema Informativo Ragioneria Generale dello Stato) al completamento della fase detta di Analisi, nel corso della quale si interpretano ed analizzano i requisiti utente, viene emesso un documento chiamato “Specifiche funzionali”. Il contenuto di questo prodotto dovrebbe rappresentare la risposta del fornitore alle esigenze espresse dall’utente, in termini di descrizione delle funzionalità e dei processi, nonché di descrizione del modello concettuale dei dati. Rivestono non minore importanza determinate informazioni a corredo quali la stima dei volumi di software da realizzare, la definizione del colloquio persona-sistema (formato maschere, testo messaggi), i requisiti di ‘performance’ e di sicurezza dei dati. Si evince - dalla Pag. 1 di 3 La verifica della qualità delle specifiche funzionali tipologia di contenuti presenti nella documentazione funzionale - l’importanza di disporre, da parte dell’Amministrazione, di un documento completo nei contenuti e conforme ai requisiti di qualità espressi dal noto standard ISO 9126. Si sono ritenute applicabili in questo caso le caratteristiche di Funzionalità (sottocaratteristiche Adeguatezza, Accuratezza e Aderenza) e di Usabilità (sottocaratteristica Comprensibilità). Deriva da questo quadro l’esigenza che il monitore si avvalga di uno strumento semplice nell’utilizzo, ma nel contempo efficace per valutare la qualità delle Specifiche funzionali, con l’obiettivo finale di approvare il ‘deliverable’ del fornitore o di respingerlo con le opportune osservazioni. Occorre inoltre osservare che i progetti non hanno tutti la stessa importanza ed è per questo motivo che vengono generalmente classificati in base ad un criterio detto ‘classe di rischio’. Tale parametro identifica la criticità, ovvero la maggiore o minore gravità dell’eventuale malfunzionamento manifestato dal prodotto software, in termini di danni di tipo amministrativo, economico, o d’immagine arrecati all’utente. Di questo evento è opportuno tenere conto nel processo di valutazione delle Specifiche funzionali, applicando un criterio maggiormente rigoroso in presenza di progetti ad alta rischiosità. Il prodotto di seguito illustrato è la “Check-list per il controllo qualità' del documento Specifiche funzionali”. Esso è distinto in due parti: 1. La check-list vera e propria che consiste di 15 domande o item cui il monitore è tenuto a rispondere, dopo aver letto ed analizzato compiutamente il documento. Tre dei quindici item sono eventualmente non applicabili in quanto riconducibili ad aspetti di interfaccia grafica, vincoli di riservatezza e requisiti prestazionali non necessariamente mandatori per un particolare progetto in via di sviluppo. 2. Le note di compilazione che rappresentano un ausilio alla interpretazione delle 15 domande e che contengono soprattutto l’algoritmo che consente di valutare il documento esprimendo un giudizio di tipo numerico. La check-list presentata vuole rappresentare un tentativo di fissare delle regole basilari per valutare la qualità del documento: il monitore è libero di disaggregare uno o più tematiche presenti nella check-list e di espandere il numero degli item. Si suggerisce in tal caso di non appesantire troppo la check-list evitando di formulare più di 25-30 domande e di ritarare opportunamente il “valore minimo di approvazione”. Inoltre, è auspicabile l’adozione di una nuova check-list strutturata secondo lo standard delle Specifiche funzionali per facilitare il lavoro del valutatore (che legge il documento e Pag. 2 di 3 La verifica della qualità delle specifiche funzionali compila nello stesso tempo la check-list) ottenendo in tal modo maggiore precisione e ottimizzazione dei tempi. E’ indispensabile infine che il monitore disponga del Piano di qualità ai fini dell’approvazione o meno delle Specifiche funzionali. E’ infatti in quel documento che dovrebbe essere specificato lo standard adottato per tutti i documenti di progetto, nonché gli obiettivi di qualità del prodotto SW ai quali le Specifiche Funzionali devono dare adeguata risposta. Bibliografia - Pressman, PRINCIPI DI INGEGNERIA DEL SW. Seconda edizione 1997, Mc GrawHill - ISO 12207: SW life cycle processes - ISO 9000-3: linee guida per l’applicazione di ISO 9001 allo sviluppo, fornitura e manutenzione del software” - ISO 9126: Guida per la valutazione di prodotti software. Allegati - Allegato 1: Check-list per il controllo qualità del documento Specifiche Funzionali - Allegato 2: Note di compilazione per la check-list relativa al documento "Specifiche Funzionali" Pag. 3 di 3 DSSI-AC-02-001 / Vers. AA Check-list per Specifiche Funzionali CHECK-LIST PER IL CONTROLLO QUALITÀ DEL DOCUMENTO "SPECIFICHE FUNZIONALI" CONTRATTO TITOLO: AREA OBIETTIVO ________________________________________________________ ________________________________________________________ ________________________________________________________ CODICE / VERSIONE: ____________________ DATA: ______ / ______ / __________ RISULTATO DEL CONTROLLO PUNTEGGIO: _____ ESITO: VALORE MIN. APPROVAZIONE: _____ Positivo Negativo DATA COMPILAZIONE: ______ / ______ / ________ NOMINATIVO COMPILATORE: _____________________ FIRMA: __________________________ CODICE / VERSIONE: ____________________ DATA: ______ / ______ / __________ Pag. 1 di 2 DSSI-AC-02-001 / Vers. AA Check-list per Specifiche Funzionali N. Caratterist. Sottocaratt. Quesito Si 1. Funzionalità Aderenza E’ assicurata la coerenza con lo standard (struttura e contenuti) di Specifiche funzionali riportato nel Piano di Qualità? 2. Funzionalità Adeguatezza Viene descritto il contesto amministrativo, organizzativo ed informatico (HW e SW) in cui si inserisce l’intervento di automazione? 3. Funzionalità Adeguatezza E’ presente una descrizione dell’intervento di automazione? 4. Funzionalità Accuratezza Sono state correttamente identificate e descritte tutte le funzioni ed i processi nel modello funzionale del sistema? 5. Funzionalità Accuratezza Sono state correttamente identificate e descritte le entità e le relazioni nel modello concettuale dei dati? 6. Funzionalità Adeguatezza Tutti le funzioni ed i flussi dati sono riconducibili ad esplicite richieste dell’utente finale? 7. Funzionalità Accuratezza Il livello di dettaglio sui dati e sulle funzioni è tale da verificare la stima espressa in Punti Funzione? 8. Funzionalità Accuratezza Per ciascun processo sono stati descritti i flussi di input/output? 9. Funzionalità Adeguatezza Sono stati definiti i colloqui utente/sistema ed i relativi layout: maschere, stampe, etc.? 10. Funzionalità Aderenza L’interfaccia utente è stata secondo gli standard prestabiliti? 11. Funzionalità Adeguatezza Sono stati evidenziati eventuali vincoli di riservatezza sui dati e di accesso alle funzioni? 12. Funzionalità Adeguatezza Sono stati evidenziati eventuali requisiti non funzionali (prestazioni temporali, volumi dati, etc.)? 13. Usabilità Comprensibilità I contenuti informativi presenti nel documento sono di agevole ed immediata comprensione? 14. Usabilità Comprensibilità Per ogni funzione e processo individuato, la relativa descrizione é tale da non dare luogo ad interpretazioni ambigue e/o contraddittorie? 15. Funzionalità Accuratezza Le funzioni ed i processi individuati sono espressi in modo sufficientemente preciso da consentire la progettazione del test? In parte No N/A esauriente identificata Pag. 2 di 2 DSSI-AN-01-001 / Vers. AA Note di compilazione per la check-list DSSI-AC-02-001/AA NOTE DI COMPILAZIONE PER LA CHECK-LIST DSSI-AC-02-001/AA RELATIVA AL DOCUMENTO "SPECIFICHE FUNZIONALI" Premessa La check-list ha un duplice scopo: 1) è uno strumento di supporto al Responsabile di Area nel processo di approvazione del documento “Specifiche funzionali”, 2) rappresenta per il Gruppo di Monitoraggio un utile mezzo per valutare la qualità del documento medesimo. La check-list si compone di 15 domande di cui 3 possono risultare eventualmente non applicabili. Le risposte possibili sono: Si , In parte, No. Le domande che hanno la risposta contrassegnata dalla casella in grigio sono le "domande fondamentali" intese come quelle il cui esito positivo è indispensabile. Di seguito viene fornita una guida sintetica alla compilazione della check-list e viene descritto l'algoritmo per determinare l'esito del controllo qualità. Guida alla compilazione La check-list si compone di una pagina copertina e di una pagina che riporta la check-list vera e propria. Nella pagina copertina vanno compilati i seguenti campi: CONTRATTO È il codice identificativo del contratto in cui si è definito l’obiettivo al quale si riferisce il documento "Specifiche funzionali" AREA È il numero dell'area applicativa alla quale si riferisce il documento OBIETTIVO E' la lettera che identifica l'obiettivo al quale si riferisce il documento TITOLO E' il titolo del documento CODICE/VERSIONE E' il codice e la versione del documento, da riportare anche nella seconda pagina della check-list, insieme alla data, per assicurare il riferimento corretto al documento DATA E' la data di emissione del documento, da riportare anche nella seconda pagina della check-list (v.sopra) PUNTEGGIO E' il risultato che si ottiene sommando i punteggi attributi alle singole riposte: Si (vale 2 punti), In parte (vale 1 punto), No (vale 0 punti) Pag. 1 di 4 DSSI-AN-01-001 / Vers. AA Note di compilazione per la check-list DSSI-AC-02-001/AA VALORE MIN. APPROVAZIONE E' il punteggio minimo che consente di superare il controllo qualità. I valori sono determinati in base al numero di domande applicabili ed alla classe di rischio dell'obiettivo nel seguente modo: RISPOSTE TOTALI ===== VALORE MIN. APPROVAZIONE ==== Obiettivi di classe A Obiettivi di classe B e C 12 20 18 13 22 19 14 24 21 15 25 22 Il.VALORE MIN. APPROVAZIONE è stato ottenuto calcolando l’ 85% (per gli obiettivi di classe A) ed il 75% (per gli obiettivi di classe B e C) del massimo risultato ottenibile ed arrotondando al valore intero ESITO Barrare la casella "Positivo" solo se: 1) È sempre presente la risposta SI in tutte le caselle contrassegnate in grigio (trattasi infatti delle domande fondamentali). 2) Il PUNTEGGIO è maggiore o uguale al VALORE MIN. APPROVAZIONE Altrimenti barrare la casella "Negativo". Esempio: ♦ Obiettivo di classe A: risposte sempre Si alle domande con box in grigio, 13 risposte totali di cui: 11 risposte Si (22 punti), 1 risposta In Parte (1 punto), 1 risposta No 23 > 22 documento approvato ♦ DATA COMPILAZIONE E' la data di compilazione della check-list NOMINATIVO COMPILATORE Specifica in chiaro il nominativo del responsabile di Area, redattore della check-list FIRMA Riporta la firma del Responsabile di Area La check-list vera e propria si articola in 15 quesiti di cui 9 sono fondamentali (risposte Si in grigio), e 3 possono essere non applicabili. Ad ogni quesito è associato un numero progressivo ed una caratteristica e sottocaratteristica della norma ISO 9126. I quesiti della check-list sono stati formulati prendendo a riferimento i contenuti tipici di un documento "Specifiche funzionali" e non un particolare standard per il documento stesso. Per facilitare la compilazione della check-list, di seguito si forniscono delle brevi spiegazioni per ogni quesito. Pag. 2 di 4 DSSI-AN-01-001 / Vers. AA Note di compilazione per la check-list DSSI-AC-02-001/AA Num. Quesito 1 Chiarimenti Il quesito presuppone che: • • sia stato definito uno standard per il documento "Specifiche funzionali" tale standard sia riportato (referenziato o allegato) al Piano di Qualità • eventuali deroghe allo standard per il documento in questione siano state definite e concordate tra Fornitore e Consip. Il quesito ha lo scopo di valutare la coerenza tra il documento "Specifiche funzionali" e lo standard scelto come riferimento. 2 Il quesito vuole indagare se è descritto il quadro normativo, amministrativo ed organizzativo nel quale si colloca l’intervento di automazione richiesto dall’Amministrazione, nonché i relativi ambienti Hardware (HW) e Software (SW). 3 Il quesito ha lo scopo di valutare la completezza della descrizione dell'intervento di automazione, in termini sia di presentazione generale delle macrofunzionalità, sia di analisi dettagliata delle funzioni che si intende realizzare e dei relativi dati oggetto di elaborazione. 4 Per facilitare la comprensione del quesito è necessario spiegare cosa si intende per "sistema" e per "processo" e precisare i contenuti del "modello funzionale". Per "sistema" s’intende il risultato dell'intervento di automazione", per "processo" si intende una funzionalità elementare cioè non ulteriormente scomposta in fase di analisi, mentre fanno parte del "modello funzionale" tutte le funzioni interessate dall'intervento di automazione rappresentate con le loro interrelazioni. Il quesito ha lo scopo di valutare la completezza e la correttezza del modello funzionale illustrato. 5 Per facilitare la comprensione del quesito è necessario spiegare cosa si intende per "modello concettuale dei dati". Esso può essere sia il modello concettuale vero e proprio (modello ERD Entity Relationship Diagram) sia altri schemi similari atti a rappresentare tutti i dati d’interesse per l'intervento di automazione. Il quesito ha lo scopo di valutare la completezza e la correttezza del modello concettuale dei dati presentato. 6 Il quesito ha lo scopo di valutare se i flussi dati (e/o dati) e le funzioni di interesse per l'intervento di automazione sono riconducibili ad esplicite richieste dell'utente finale al fine di garantirne la tracciabilità e fornire maggiore supporto all’attività di validazione. 7 Il quesito ha lo scopo di valutare se i contenuti del documento "Specifiche funzionali" consentono la verifica e l’affinamento della stima del volume del SW espressa in Punti Funzione. 8 Il quesito ha lo scopo di valutare se tutti i dati ed i flussi di input/output sono stati correttamente identificati e descritti. Pag. 3 di 4 DSSI-AN-01-001 / Vers. AA Note di compilazione per la check-list DSSI-AC-02-001/AA Num. Quesito Chiarimenti 9 Il quesito ha lo scopo di valutare se sono stati definiti tutti i colloqui utente/sistema, in termini di definizione delle maschere (o videate) e dei campi associati, nonché del layout delle stampe previste (formato, caratteri, dimensione, etc.) 10 Il quesito risulta applicabile se esiste uno standard definito di colloquio utente/sistema e ha lo scopo di valutare la coerenza dell'interfaccia utente/sistema con lo standard di colloquio prescelto. 11 Il quesito risulta applicabile se l'intervento di automazione ha vincoli di riservatezza e di accesso alle funzioni (quali classi di utenza abilitare a quali funzioni, gerarchia degli accessi, disabilitazione dopo ‘n’ tentativi di accesso, etc.) 12 Il quesito risulta applicabile se l'intervento di automazione ha requisiti non funzionali (portabilità, prestazioni, volumi dati, tempi di recovery/restart, etc.) definiti dall'utente. Il quesito ha lo scopo di valutare se tali requisiti non funzionali (o di qualità) siano stati inseriti nel documento "Specifiche funzionali". 13 Il quesito ha lo scopo di valutare se il documento sia stato scritto utilizzando un linguaggio semplice e di agevole ed immediata comprensione. Questo per garantire la sua usabilità vale a dire una veloce assimilazione dei contenuti da parte di lettori aventi competenze diverse (amministrative o tecniche). 14 Il quesito ha lo scopo di valutare la congruenza interna del documento "Specifiche funzionali", cioè assenza di definizioni ridondanti, poco chiare o addirittura mutuamente discordanti, risolte eventualmente tramite la presenza di una legenda o glossario interno. 15 Il quesito ha lo scopo di valutare se le funzioni ed i processi sono descritti in modo da poter procedere ad una facile progettazione del test e di garantire, in tal modo, la “testabilità” dei requisiti espressi. Pag. 4 di 4