Lezione 7 – Metodi di stima
dell’effort
Ingegneria del software
Modulo 2 - Il software come prodotto
Unità didattica 2 - I costi del software
Ernesto Damiani
Università degli Studi di Milano
Richiami sui metodi di stima (1)
• Non esiste un metodo semplice per effettuare una
stima precisa dell’effort necessario per sviluppare
un sistema software
– Le stime iniziali si basano su informazioni inadeguate
(ad esempio, la definizione dei requisiti utente)
– Il software può funzionare su computer non noti o usare
una nuova tecnologia
– Le persone che lavorano al progetto possono essere non
note a priori
• Le stime dei costi del progetto possono essere
auto-verificate
– La stima definisce il budget e il prodotto viene
modificato per rispettare il budget
Richiami sui metodi di stima (2)
• Ogni metodo ha punti di forza e debolezze
• La stima dovrebbe basarsi su molti metodi
• Se i metodi non restituiscono
approssimativamente lo stesso risultato, si
hanno informazioni insufficienti per poter
effettuare una stima
• Si cerca di ottenere ulteriori informazioni e
quindi eseguire stime più precise
Richiami sui metodi di stima (3)
• Modello algoritmico
• Il giudizio di esperti
• Stima per analogia
• Pricing to win
Modello algoritmico
• Viene usato un modello basato su informazioni
storiche sui costi che mettono in correlazione
una metrica software (di solito le sue
dimensioni) con il costo del progetto
• Esempi: COCOMO 81, COCOMO II
Il giudizio di esperti
Vengono consultati molti esperti delle tecniche
di sviluppo software proposte e del dominio
applicativo
Stima per analogia
Questa tecnica è applicabile quando sono stati
completati altri progetti nello stesso dominio
applicativo. Il costo di un nuovo progetto viene
stimato per analogia con questi progetti.
Pricing to win (1)
Il costo del software stimato è ciò che il cliente
è disposto a spendere per il progetto. L’effort
stimato dipende dal budget del cliente e non
dalla funzionalità del software.
Pricing to win (2)
• Vantaggi
– Si ottiene il contratto
• Svantaggi
– La probabilità che il cliente ottenga il sistema che
desidera è bassa. I costi non riflettono accuratamente il
lavoro necessario
Pricing to win (3)
• Può sembrare un approccio non etico e non
commerciale, ma quando mancano informazioni
dettagliate può essere l’unica strategia
appropriata
• Il costo del progetto viene concordato sulla base
di una proposta e lo sviluppo è limitato dal costo
• Può essere concordata una specificazione
dettagliata oppure per lo sviluppo del sistema si
può usare un approccio evolutivo
FINE
Scarica

Metodi di stima dell`effort