Allegato CT
Transcript
Allegato CT
ALLEGATO AL CAPITOLATO TECNICO Appalto per l’affidamento dei servizi di sviluppo, manutenzione e supporto del software applicativo “Sistema informatico di prevenzione del furto di identità (SCIPAFI)” MODALITA’ DI QUANTIFICAZIONE E VALORIZZAZIONE DEI REQUISITI NON FUNZIONALI pag. 1 di 11 Sommario 1 Premessa ................................................................................................................................................... 3 1.1 2 3 Ambito di applicazione della metodologia RNF................................................................................. 4 Metodologia valutazione RNF ................................................................................................................... 6 2.1 Principi di base................................................................................................................................... 6 2.2 Rendicontazione dei NFP ................................................................................................................... 6 Elenco Requisiti Non Funzionali (RNF)....................................................................................................... 6 3.1 RNF-B Processi elementari tecnici (PET)............................................................................................ 8 3.2 RNF-C Creazione pagine statiche Web (Content Management) ....................................................... 9 3.3 RNF-D Arricchimento non funzionale .............................................................................................. 10 3.4 RNF-F Affidabilità ............................................................................................................................. 11 pag. 2 di 11 ACRONIMI, TERMINI E DEFINIZIONI Acronimo Termine Definizione RU Requisito Utente Requisito richiesto esplicitamente dall’Utente per rispondere alle sue esigenze applicative. Per definizione solo i requisiti funzionali sono quantificabili in FP, i requisiti tecnici e di qualità non sono conteggiabili in FP e vengono di seguito sinteticamente denominati “Requisiti Non Funzionali” (RNF). Un RU non può appartenere contemporaneamente a diverse tipologie. Affinché un RU possa essere soggetto a valutazione deve essere univocamente identificato, classificato come RF o RNF. RF Requisito Funzionale I RF vengono soddisfatti tramite l’implementazione di “funzionalità”. Nel metodo standard IFPUG, si individuano 5 tipi di funzionalità (3 di tipo transazione, 2 di tipo dati). Per la pesatura dei RF tali funzionalità vengono quantificate in FP, tramite applicazione del metodo standard IFPUG 4.3.1. RNF Requisito Non Funzionale Requisito utente, tecnico o di qualità, non conteggiabile in FP. FP Function Point Unità di misura per la quantificazione dei RF tramite il metodo di misura formalizzato nel Counting Practices Manual (CPM) dell’IFPUG. NFP Not Function Point Unità di misura per la quantificazione dei RNF. Nella presente versione del documento si assumono tutte le tipologie di NFP come già normalizzate. Nel proseguo del documento ci si riferirà quindi alla medesima unità di misura “NFP” per tutte le tipologie di RNF. Per il metodo di misura dei RNF vedi voce metriche e regole riportate nelle schede descrittive di ciascun RNF. Tabella 1: acronimi, termini e definizioni 1 PREMESSA Consap ha ritenuto opportuno valutare, nell’ambito dei propri contratti di fornitura Software, anche i Requisiti Non Funzionali (RNF), oltre ai Requsiti Funzionali (RF) già quantificati dalla metrica dei FP, allo scopo di valutare il valore applicativo rilasciato all’utente a seguito della realizzazione dei RNF e, sulla base di questo, determinare, in maniera oggettiva, il corrispondente corrispettivo per il Fornitore. Per la misura dei RF, il metodo IFPUG, che quantifica i FP, è il primo ad essere stato certificato conforme ISO 14143. La norma che certifica la conformità ISO per i Function Point IFPUG è la ISO/IEC 20926. L’unità di misura adottata è quella dei FP. Per quanto riguarda la misura dei RNF, tutte le norme ISO rimandano e contestualizzano la definizione degli algoritmi di misura ai diversi contesti di applicazione. Nel presente documento, legato allo specifico contesto Consap: pag. 3 di 11 • la valutazione dei RNF adottata è conforme con la ISO 14143 e con il metodo standard IFPUG descritto nel CPM 4.3.1, l’unità di misura adottata è quella dei Not Function Point (vedi termine NFP); • le esigenze e gli obiettivi di misurazione riguardano: “la valutazione oggettiva del valore applicativo rilasciato all’utente finale, legata all’obiettivo di determinare il giusto corrispettivo in funzione di tale valore”. Per quantificare il valore applicativo rilasciato all’utente è opportuno riferirsi ad apposite “metriche” che, in base al tipo di RNF, sono in grado di definire e quantificare il valore realmente rilasciato a seguito di tali interventi. Le metriche sono definite con l’obiettivo di essere identificabili e quantificabili in maniera oggettiva. Per la pesatura dei RNF in NFP si utilizzano gli algoritmi descritti nelle schede relative ad ogni RNF riportate nei paragrafi successivi. Considerando che gli algoritmi sono semplici operazioni numeriche sulle quantità assunte dalle metriche, la pesatura dei RNF risulta essere del tutto oggettiva, trasparente e riproducibile in qualsiasi momento da parte di terzi. 1.1 Ambito di applicazione della metodologia RNF Non rientra tra gli scopi della metodologia descritta nel presente allegato la valutazione dell’effort del Fornitore per la realizzazione dei RU. Il corrispettivo sarà piuttosto legato alla quantità e al valore di quanto realizzato e rilasciato dal Fornitore. Sia per semplicità di gestione, che per mantenere il vincolo metodologico che prevede la chiara distinzione tra RF ed RNF: • I RNF non incidono sulla baseline dei FP, né sulla baseline utilizzate per il calcolo del canone della MAC e della durata della garanzia; inoltre i RNF non sono gestiti in una propria baseline; • I RNF non sono considerati nei par. “Determinazione del corrispettivo nel caso di cambiamento dei requisiti in corso d’opera nel servizio di SVI e MEV”, nel cap. “MODALITÀ DI PAGAMENTO E DETERMINAZIONE STATO DI AVANZAMENTO” del Capitolato Tecnico. Tra i RU non rientrano i requisiti non esplicitamente richiesti dall’utente o dei quali non sia tracciato il riferimento documentale. Non sono inclusi nella trattazione descritta nel presente documento tutti quei RNF che: • sono riconducibili ad interventi di Manutenzione Correttiva (MAC); • sono riconducibili ad interventi su SW in garanzia; • sono già definiti come standard tecnico e qualitativo nei documenti di gara e nell’offerta del Fornitore, in quanto la loro implementazione è già implicita e inclusa nel prezzo stabilito dal Fornitore; • si considerano come requisiti “impliciti”, ovvero, anche se non esplicitamente richiesti il loro soddisfacimento è comunque imprescindibile nella realizzazione di SW “a regola d’arte”, si riportano per esempio a titolo esemplificativo ma non esaustivo: controlli per la pag. 4 di 11 verifica dell’integrità referenziale del DB a seguito di inserimento dati, implementazione dei meccanismi di lock per la gestione della multiutenza, implementazioni di convenzioni standard per l’usabilità del SW come la visualizzazione diversificata a seconda del tipo del campo (link, valorizzabile dall’utente, protetto, testo,…). • i requisiti non funzionali identificati come “vincoli” per l’erogazione della fornitura nel CT al par. “Requisiti Non Funzionali della soluzione richiesta”. • sono riconducibili ad interventi che NON impattano sul prodotto SW rilasciato, (per esempio servizio di assistenza o di formazione). I RNF possono essere implementati nei seguenti modi: • intervenendo su funzionalità conteggiabili in FP; • implementando nuove funzionalità di tipo tecnico; • svolgendo attività specialistica su codice esistente (per esempio manutenzione adeguativa). pag. 5 di 11 2 METODOLOGIA VALUTAZIONE RNF 2.1 Principi di base La metodologia si fonda sui seguenti principi di base: • Mantenimento delle regole standard IFPUG. Gli interventi non impatteranno in alcun modo su quanto già indicato nel CPM 4.3.1, né in modifica, né in aggiunta. Il calcolo dei FP continuerà quindi a svolgersi secondo le regole documentate nel manuale standard CPM 4.3.1. • Introduzione di nuove regole per la valutazione dei RNF e valutazione degli stessi in una nuova unità di misura NFP. La metodologia ha identificato alcuni RNF “tipici”, ovvero rispondenti a casistiche riscontrate nel contesto CONSAP come più frequenti e/o con più impatto sulle dimensioni delle applicazioni. Ogni RNF è quantificato in maniera oggettiva con specifici algoritmi che ricevono in input metriche rilevabili oggettivamente. L’output è un numero che esprime la misura dei RNF, espresso con una propria unità di misura, “NFP di tipo x” dove x corrisponde alla tipologia del RNF. I RNF individuati sono descritti in apposite schede con tutte le informazioni utili per la valutazione (metriche, algoritmo, ecc…). La quantità di “NFP di tipo x” è stata “normalizzata” a NFP generici, utilizzando strumenti metodologici che rendono comparabili le misure delle diverse tipologie dei RNF. La normalizzazione, in sintesi, è quel passaggio metodologico-matematico, che rende lecito effettuare le operazioni aritmetiche utilizzando i diversi NFP come fattori. Nella presente versione del documento si assumono tutte le tipologie di NFP come già normalizzate; nel proseguo del documento ci si riferirà quindi alla medesima unità di misura “NFP” per tutte le tipologie di RNF. 2.2 Rendicontazione dei NFP Per ogni intervento i NFP vanno rendicontati nel modulo già utilizzato per la rendicontazione dei FP (il modulo standard consiste in un foglio excel che sarà consegnato da CONSAP all’aggiudicatario della fornitura ad inizio lavori). L’ammontare dei NFP risultante viene arrotondato al numero intero più vicino, se il decimale è 5 si arrotonda all’intero superiore. 3 ELENCO REQUISITI NON FUNZIONALI (RNF) Di seguito sono descritti i diversi tipi di RNF identificati per il contesto specifico di CONSAP. Per ognuno sono indicate: • Tipologia Requisito Non Funzionale con la descrizione del RNF, • Metriche per l’RNF, • Algoritmo per il calcolo del NFP, • Vincoli per il riconoscimento dei NFP, • Esempi di applicazione (eventuale). pag. 6 di 11 Di seguito si riporta una tabella di sintesi con le categorie di RNF e le relative definizioni, rimandando alle schede specifiche di ogni RNF per tutti i dettagli. Categorie RNF Definizioni RNF-B Processi elementari tecnici (PET) Processo tecnico autonomo che implementa requisiti tecnici o comunque non conteggiabili in FP. RNF-C Creazione pagine statiche web (Content Management) Valorizza pagine statiche Web contenenti informazioni significative in qualsiasi formato fruibile dall’utente (testuale, grafico, filmato, ecc..). RNF-D Arricchimento non funzionale Arricchimento non funzionale apportato a funzionalità già contate in FP. Implementazione di requisiti tecnici o comunque non riconoscibili in FP (tramite controlli o altre operazioni) su transazioni conteggiabili in FP. Rientrano in questa tipologia di RNF la produzione di stampe in multiformato. RNF-F Affidabilità Quantifica l’aumento dell’affidabilità del SW, anche a seguito di manutenzioni adeguative dovute, per esempio, all’aggiornamento del SW di base (sistema operativo, versione di DB, nuovo framework, ecc..). Tabella 2: categorie di RNF pag. 7 di 11 3.1 RNF-B Processi elementari tecnici (PET) Tipologia Requisito Non Funzionale Valorizza un processo tecnico autonomo che implementa requisiti tecnici o comunque non conteggiabili in FP. Metriche • nPET: numero di processi • nE: numero elementi gestiti dal processo, per esempio: o i campi di una maschera o i campi tag nel file xml (directory, files, ecc..). • nO: numero operazioni gestite dal PET (Create, Read, Update, Delete) • nC: numero controlli effettuati dal PET Algoritmo Non Functional Point Per ogni PET si applica la tabella sottostante Se almeno una delle metriche supera l’intervallo, si incrementa il valore di NFP tante volte quante volte è stato superato l’intervallo. In caso due metriche abbiano entrambe superato l’intervallo, nella moltiplicazione da applicare ai NFP, si considera quella che l’ha superato più volte. nE nO nC NFP a*(1÷5) b*(1÷3) c*(1÷3) (maggiore tra a, b e c)*1 Esempio di applicazione della formula: nE nO nC NFP (1÷3) (4÷6) (1÷3) 2 (a=1, b=2, c=1) (1÷3) (4÷6) (7÷9) 3 (a=1, b= 2, c=3) Vincoli per il riconoscimento dei NFP Il processo elementare tecnico NON deve essere conteggiabile in FP. Il processo elementare tecnico deve conservare gli stessi requisiti richiesti per il processo elementare IFPUG, ovvero deve: • essere significativo per l’utente (soddisfa uno o più RU); • costituire una transazione completa (p. es. lo spostamento di una directory si considera completo, quando sono stati spostati tutti i files ed eventuali sottodirectory al suo interno); • essere autonoma (non deve dipendere da altri processi elementari); • deve lasciare il sistema in uno stato di coerenza funzionale e tecnica: oltre la coerenza funzionale, già definita nel CPM IFPUG, è richiesta anche la coerenza tecnica alla fine del processo, per esempio il registro di sistema deve risultare integro e privo di errori di qualsiasi gravità. Esempi di applicazione Si applica il RNF-B in caso di controlli di tipo decisionale che, per essere conclusi, necessitano di: • una condizione necessaria: lettura e verifica di almeno un parametro; • una o più condizioni sufficienti: lettura e verifica di più parametri, o esecuzione di algoritmi, o ulteriori pag. 8 di 11 accessi ad archivi. Altri esempi di PET possono essere implementati da Job sistemistici, servizi interni, comandi XML, nel caso NON svolgano funzioni già contata tramite transazioni FP. Tabella 3 – RNF-B: Processi Elementari Tecnici 3.2 RNF-C Creazione documenti o pagine statiche Web (Content Management) Tipologia Requisito Non Funzionale Valorizza documenti o pagine statiche Web contenenti informazioni significative in qualsiasi formato fruibile dall’utente (testuale, grafico, filmato, ecc..). Metriche • nPag: numero pagine realizzate • nPub: numero pubblicazioni sul documento, o sulla pagina Web, dove per “pubblicazioni” si intende qualsiasi elemento presente nel documento, o sulla pagina Web, che fornisce informazioni nella modalità così come richiesto dai RU, ovvero le informazioni, anche le stesse, possono essere fornite in qualsiasi formato: testo, film, disegno, grafico, ecc… Algoritmo Non Functional Point Per ogni documento o pagina web si applica la tabella sottostante: nPub NFP 1÷10 0,5 10÷20 1 21÷30 1,5 31÷40 2 … … Vincoli per il riconoscimento dei NFP Non si applica a pagine web che implementano funzionalità già contate in FP. Esempi di applicazione Esempio di caso d’uso: In una maschera esiste: • un link che richiama un manuale in PDF (il manuale è costituito da intestazione e istruzioni ed è conservato in una tabella NON riconosciuta come ILF); • 3 testi e 3 grafici per scopo informativo. Si conta si conta la pagina con nPub (3 testi + 3 grafici) = 6 0,5 NFP. Tabella 4 – RNF-C: Creazione documento o pagine statiche pag. 9 di 11 3.3 RNF-D Arricchimento non funzionale Tipologia Requisito Non Funzionale Arricchimento non funzionale apportato a funzionalità già contate in FP. Valorizza l’implementazione di requisiti tecnici o comunque non riconoscibili in FP (tramite controlli o altre operazioni) su transazioni conteggiabili in FP. Metriche • nTrans: numero transazioni, già contate in FP • nTtec: numero trattamenti tecnici sviluppati sulla singola transazione non conteggiabili in FP. Algoritmo Non Functional Point Per ogni transazione si applica la tabella sottostante nTtec 1÷5 6÷10 11÷15 16÷20 … NFP 1 2 3 4 … Vincoli per il riconoscimento dei NFP Per trattamenti tecnici si intendono tutti quei trattamenti logici che rispondono a specifici RU e: • per il CPM IFPUG, non sono sufficienti a classificare una tipologia di transazione (eseguire validazioni, convertire valori equivalenti, filtrare e selezionare dati usando criteri specifici, analizzare condizioni per determinare quali siano applicabili, ordinare o riorganizzare dati); • eseguono operazioni che consentono diverse modalità di fruizione dello stesso contenuto logico. Per esempio stampa di uno stesso insieme di dati in formati diversi (pdf, excel, ecc…). La possibilità di produrre ogni differente formato di output va considerata di, per se, un trattamento tecnico a se stante; • controlli aggiuntivi di qualsiasi tipo eseguiti su una transazione, già contata in FP, che non contribuiscono ad aumentare il numero di FP Esempi di applicazione Sono stati implementati moduli strutturati su più pagine in base ad un raggruppamento logico e coerente di informazioni che fanno capo allo stesso record (o gruppo di record) da inserire contestualmente. In FP si conta una sola transazione di inserimento, in quanto si tratta di un unico processo elementare. L’utente è guidato nella compilazione da tale strutturazione e anche dai controlli presenti quando si passa da una pagina all’altra nell’ambito dello stesso modulo. Il valore aggiunto di tale implementazione, rispetto ad una ipotetica realizzazione di un’unica pagina, consiste nella guida fornita durante la compilazione delle diverse sezioni del modulo, grazie a: • il raggruppamento logico dei dati in pagine o sezioni di pertinenza, • l’implementazione di opportuni controlli che segnalano all’utente eventuali errori alla fine della valorizzazione dei campi di una specifica pagina o sezione. Si può applicare il RNF-D: i trattamenti tecnici corrispondono ai controlli effettuati per ogni sezione. Sono previste stampe in lingue diverse, anche molteplici e con caratteri diversi, dello stesso contenuto logico. Le diverse stampe in lingue diverse non potrebbero essere contante in FP in quanto costituiscono un unico processo elementare col medesimo trattamento logico. Si può applicare il RNF-D: i trattamenti tecnici corrispondono alle diverse stampe in lingue diverse. E’ possibile indirizzare uno stesso risultato di ricerca su formati differenti (pdf, excel, ecc…) In FP si conta una unica transazione di output. pag. 10 di 11 Si può applicare il RNF-D: i trattamenti tecnici corrispondono ai formati di output possibili. Tabella 5 – RNF-D: Arricchimento non funzionale apportato a funzionalità già contate in FP 3.4 RNF-F Affidabilità Tipologia Requisito Non Funzionale Quantifica l’impatto sulle applicazioni, anche a seguito di manutenzioni adeguative, dovute all’aggiornamento del SW di base (sistema operativo, versione di DB, nuovo framework, ecc..) e alla necessaria esecuzione di test. L’attività di adeguamento delle applicazioni, per essere condotta con successo, deve prevedere dei test sistematici delle funzionalità dell’applicazione ed, eventualmente, delle modifiche alle funzionalità per garantire il corretto funzionamento nei nuovi ambienti. Tali attività apportano effettivamente del valore aggiunto alle applicazioni che aumentano la loro affidabilità, grazie all’esecuzione dei test. Sono pesati diversamente il solo test e l’attività di modifica del codice. Metriche • nT: Numero funzionalità testate • nM: Numero funzionalità modificate Algoritmo Non Functional Point nT nM NFP a b (30%a) + b nT nM NFP 100 3 (30%*100) + 3 = 33 … … Esempi di applicazione della formula Vincoli per il riconoscimento dei NFP • nT, il numero funzionalità testate, deve essere riscontrabile tramite un elenco che riporti quali funzionalità siano state sottoposte a test, le funzionalità devono corrispondere con quelle già identificate tramite l’analisi Function Point. • nM, il numero funzionalità modificate, deve essere riscontrabile tramite un elenco che riporti quali funzionalità siano state sottoposte a modifica, le funzionalità devono corrispondere con quelle già identificate nei casi di test di cui sopra. Non rientrano in quest’ambito la Manutenzione correttiva e tutti gli interventi effettuati sul codice in garanzia. Rientrano invece tutti gli interventi, su codice esistente, richiesti espressamente da CONSAP e non classificabili come MEV. Per esempio manutenzione adeguativa o semplice richiesta di esecuzione di test aggiuintivi per aumentare l’affidabilità di determinati componenti SW. Esempi di applicazione Tabella 6 – RNF-F: Affidabilità pag. 11 di 11