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