IT Project Management Lezione 5 Software Sizing Estimation - Esercitazione Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 1
Elementi Base Il metodo dei Function Point consiste nell identificare e contare le funzionalità che l applicazione deve fornire: Funzioni tipo Dati: Internal Logical File (ILF) Users External Interface File (EIF) Input Output Inquiry Funzioni tipo Transazione: External Input (EI) Logical Files Input Output Logical Files External Output (EO) Measured Application Inquiry External Application External Inquiry (EQ) Interface 2 2
Conteggio delle Funzioni di tipo Dati Le funzioni di Tipo Dati rappresentano le funzionalità fornite all utente per soddisfare i requisiti informativi da lui espressi. ILF: Internal Logical File Gruppo di dati logicamente collegati o di informazioni di controllo, riconoscibili dall utente, mantenuti all interno dell applicazione almeno da un processo elementare EIF: External Interface File Gruppo di dati logicamente collegati o di informazioni di controllo, riconoscibili dall utente, referenziati dall applicazione ma mantenuti all interno del confine di applicazione di un altra applicazione 3 3
Conteggio delle Funzioni di tipo Transazione EI: External Input Processo elementare che elabora i dati o le informazioni di controllo provenienti dall esterno del confine dell applicazione. Deve aggiornare i dati di almeno un ILF dell applicazione.e univoco nell ambito dell applicazione: Per il tipo di trattamento logico dei dati Per il tipo di ILF o EIF trattati Per il tipo di dati elementari trattati EO: External Output Processo elementare che genera dati o informazioni di controllo che vengono inviati all esterno del confine dell applicazione attraverso una logica elaborativa piu complessa di un semplice reperimento dati. Deve aggiornare i dati di almeno un ILF dell applicazione E univoco nell ambito dell applicazione: Per il tipo di trattamento logico dei dati Per il tipo di ILF o EIF trattati Per il tipo di dati elementari trattati L EO deve inoltre soddisfare almeno uno dei seguenti requisiti: Nel trattamento dei dati deve includere almeno una formula di calcolo matematico Nel trattamento logico dei dati vengono creati dei dati derivati Nel trattamento logico dei dati viene aggiornato almeno un ILF Nel trattamento logico dei dati deve modificare il comportamento del sistema 4 4
Conteggio delle Funzioni di tipo Transazione EQ: External Inquiry Processo elementare che genera dati o informazioni di controllo che vengono inviati all esterno del confine dell applicazione attraverso un semplice reperimento dati. E univoco nell ambito dell applicazione: Per il tipo di trattamento logico dei dati Per il tipo di ILF o EIF trattati Per il tipo di dati elementari trattati L EQ deve inoltre soddisfare almeno uno dei seguenti requisiti: Nel trattamento dei dati NON deve includere almeno una formula di calcolo matematico Nel trattamento logico dei dati NON vengono creati dei dati derivati Nel trattamento logico dei dati NON viene aggiornato almeno un ILF Nel trattamento logico dei dati NON deve modificare il comportamento del sistema 5 5
Determinare i FP non pesati Metodo ACE Nella pratica, soprattutto quando si stima nelle fasi iniziali non è sempre semplice individuare tutti i RET, DET e FTR. Si utilizza allora la tecnica ACE: Average Complexity Estimation,che associa ai processi elementari all interno delle stessa categoria lo stesso peso medio I pesi medi sono standard e sono calcolati facendo la media tra i 7200 progetti dell ISBSG UFPACE = #ILF*7.4+#EIF*5.5+#EI*4.3+#EO*5.4+#EQ*3.8 6 6
Esempio Prenotazione Alberghi Dall'analisi dei requisiti per la realizzazione di un servizio di prenotazione on linedi stanze di albergo si evincono i seguenti requisiti di massima: Il sistema deve gestire (inserire, cancellare e modificare) gli alberghi (NomeAlbergo, indirizzo, telefono, località, numero di stanze, numero di stelle) e le stanze(nomealbergo, tipostanza, n stanza, n persone, costo), per ogni azione richiede una conferma. Inoltre, il sistema gestisce, come solo inserimento, i clienti (CodiceFiscale, nome, cognome, età, residenza, password, email), e richiede una conferma Il sistema prevede una registrazione on line, in cui il cliente fornisce i suoi dati e viene inserito nel sistema ed una funzionalità di login per i clienti registrati (username e password). Una volta effettuato il login, un cliente può cercare una stanza da affittare, scorrendo la lista degli alberghi. Una volta scelto l'albergo il sistema mostra le stanze libere fornendo all'utente la possibilità di prenotare una stanza (nome cliente, data checkin, data checkout, tipo stanza, costo). Dalla pagina di login il cliente può anche vedere lo storico delle sue prenotazioni con la somma di tutte le sue prenotazioni. 7 7
Esempio Prenotazione Alberghi ILF /EIF ILF/EIF RET DET Complessità FP FP ACE NomeAlbergo, indirizzo, telefono, località, numero di stanze, num. Albergo 1 di stelle Bassa 7 7.4 Stanza NomeAlbergo, numero, tipostanza, npersone, 1 costo Bassa 7 7.4 Clienti CodiceFiscale, nome, cognome, età, residenza, 1 username, password Bassa 7 7.4 CF, Nome albergo, num Prenotazione 1 stanza, datain, data out Bassa 7 7.4 Totale 28 29.6 8
Esempio Prenotazione Alberghi EI/EQ/EO Il processo è I dati o le informazioni di controllo sono ricevuti dall'esterno del confine E' mantenuto almeno EI Almeno una condizione deve essere valida La logica di processo è unica L'insieme di elementi di tipo rispetto alle logiche di processo dati identificati è differente eseguite da altri EI dagli insiemi identificati per altri EI EI elementare?? un ILF? Inserimento albergo si si si si si no modifica albergo si si si si si no Cancellazione albergo si si si si si no Inserimento Stanza si si si si si no Modifica Stanza si si si si si no Cancellazione stanza si si si si si no Inserimento clienti si si si si si si Login si si si si si no Modifica Stanza si si si si si no EQ/EO Gli altri ILFs/EIFs sono differenti da quelli refenziati da altri EI La logica ed il processo I dati o le informazioni di elementare contiene la logica di Processo è unica L'insieme di elementi di tipo controllo sono ricevuti formule matematiche, rispetto alle logiche di processo dati identificati è differente Gli altri ILFs/EIFs sono differenti da Il processo è dall'esterno del confine calcolo e produce dati eseguite da altri EO/EQ dagli insiemi identificati per quelli refenziati da altri EO/EQ EO elementare?? derivati?? altri EO/EQ Storico prenotazioni si si si si si Si Il processo è elementare? I dati o le informazioni di controllo sono ricevuti dall'esterno del confine? La logica edl processo elementare non contiene formule matematiche, calcolo e non produce dati derivati? Almeno una condizione deve essere valida Almeno una condizione deve essere valida la logica di Processo è unica L'insieme di elementi di tipo rispetto alle logiche di processo dati identificati è differente eseguite da altri EO/EQ dagli insiemi identificati per? altri EO/EQ EQ Lista albergo si si si si si si lista prenotazioni si si si si si si lista stanze si si si si si si Gli altri ILFs/EIFs sono differenti da quelli refenziati da altri EO/EQ 9
Esempio Prenotazione Alberghi EI/EQ/EO FTR DET TIPO Complessità FP FP ACE NomeAlbergo, indirizzo, telefono, località, numero di stanze, num. Inserimento albergo Albergo di stelle, input e acknowledge EI Bassa 3 4 modifica albergo Albergo NomeAlbergo, indirizzo, telefono, località, numero di stanze, num. di stelle, input e acknowledge EI Bassa 3 4 Cancellazione albergo Albergo, Stanza, Prenotazione NomeAlbergo,input e acknowledge EI Media 4 4 NomeAlbergo, tipostanza, n stanza, n persone, costo, input, Inserimento Stanza Albergo, Stanza acknowledge EI Bassa 3 4 tipostanza, n stanza, n persone, costo, input, Modifica Stanza Stanza acknowledge EI Bassa 3 4 Cancellazione N stanza, input, stanza Albergo, Stanza acknoledge EI Bassa 3 4 CodiceFiscale, nome, cognome, età, residenza, password, email, input e Inserimento clienti Clienti acknoledge EI Bassa 3 4 username, password, Login Clienti input, acnoledge EI Bassa 3 4 Storico input, lista prenotazioni, prenotazioni Prenotazioni somma prenotazioni EO Bassa 3 5 Lista albergo Albergo input, lista alberghi EQ Bassa 3 4 nome cliente, data check in, data check out, tipo stanza, costo, input, Prenotazioni Prenotazione acnkoledge EI Bassa 3 4 lista stanze Stanza input, lista stanze EQ Bassa 3 4 Totale 37 49 10
Esempio UFP e UFP ACE UFP 65 UFP- ACE 78.6 11
Esempio Applicazione Gestione Anagrafica Attività Commerciali Gestione di una anagrafica di attività commerciali, sia di tipo privato che di tipo ditta, con differenziazione delle due tipologie. Si vogliono gestire le informazioni relative a: indicazione se privato o ditta codice fiscale (privato) / partita IVA (ditta) cognome/ denominazione indirizzo completo (via, numero, città, provincia) descrizione attività data decorrenza attività Per quel che riguarda le informazioni di residenza, si utilizzeranno dati di decodifica preesistenti ed esterni al sistema. Le funzionalità da attivare sono: inserimento in anagrafica (con controllo sull esistenza del dato) modifica anagrafica cancellazione anagrafica inserimento attività commerciale modifica attività cancellazione attività associare anagrafica/ attività visualizzazione dati complessivi con conteggio anagrafiche visualizzazione singola scheda stampa dati complessivi con conteggio anagrafiche stampa singola scheda. 12
Esempio Applicazione Gestione Anagrafica Attività Commerciali Codice Fiscali/Partita IVA Privato/Ditta Devìnominazione Codice Via Numero Civico Città Provincia Anagrafica Attività Commerciali Codice Fiscali/Partita IVA Tipo Attività Decorrenza Sigle Provincie Stradario Codice Provincia Descrizione Provincia Codice Via Descrizione Via Elenco Attività Tipo attività Descrizione Attività Applicazione Gestione Anagrafica Attività Commerciali 13
Esempio Applicazione Gestione Anagrafica Attività Commerciali ILF /EIF E' Mantenuto all'interno? SI E' un gruppo di dati logicamente collegati riconoscibili dall utente? SI E' mantenuto da almeno un processo elementare? SI - da inserisci anagrafica, update anagrafica,cancella Anagrafica Anagrafica Attività SI - da inserisci attività,update SI SI Commerciali attività,cancella Attività SI NO Elenco Attività Si NO- File di decodifica No NO NO Stradario NO SI Sì, dal processo Inserisci Tesi NO SI Sigle Provincie NO SI Si- da Inserisci Esame NO SI ILF SI EIF NO 14
Esempio Applicazione Gestione Anagrafica Attività Commerciali EI Processo Il processo è elementare? I dati o le informazioni di controllo sono ricevuti dall'esterno del confine EI E' mantenuto almeno un ILF La logica di processo è unica rispetto alle logiche di processo eseguite da altri EI Almeno una deve essere valida L'insieme di elementi di tipo dati identificati è differente dagli insiemi identificati per altri EI Gli ILFs o EIFs referenziati sono differenti da quelli referenziati da altri EI Inserimento Anagrafica SI SI SI - Anagrafica SI SI Si SI Update Anagrafica SI SI SI - Anagrafica SI SI Si SI Cancella Anagrafica SI SI SI - Anagrafica SI SI Si SI Inserisci Attività SI SI SI - Attività SI SI Si SI Update Attività SI SI SI - Attività SI SI Si SI Cancella Attività SI SI SI - Attività SI SI Si SI Associare Utenti Attività SI SI Si - Anagrafica e Attività SI SI Si SI EI 15
Esempio Applicazione Gestione Anagrafica Attività Commerciali EQ/EO Processo Il processo è elementare? I dati o le informazioni di controllo sono ricevuti dall'esterno del confine EQ/EO La logica di processo del processo elementare non contiene una formula matematica o un calcolo, o non produce dati derivati La logica di processo è unica rispetto alle logiche di processo eseguite da altri EO o EQ Almeno una deve essere valida L'insieme di elementi di tipo dati identificati è differente dagli insiemi identificati per altri EO ed EQ Gli ILFs o EIFs referenziati sono differenti da quelli referenziati da altri EO ed EQ Visualizza dati con conteggio SI SI SI SI Stampa dati con conteggio SI SI SI SI Visualizza scheda SI SI SI SI Stampa scheda SI SI SI SI No sono le stesse di Stampa dati con conteggio No sono le stesse di Visualizza dati con conteggio No sono le stesse di Stampa Scheda No sono le stesse si Visualizza Scheda NO NO NO NO 16
Esempio Applicazione Gestione Anagrafica Attività Commerciali UFP ACE Numero Punteggio FP ACE UFP Total ILF 2 7,4 14,8 EIF 2 5,5 11 EI 7 4,3 30,1 EO 2 5,4 10,8 EQ 2 3,8 7,6 UFP TOTALI 74,3 17