Lezione 3 – Metodi topdown/bottom-up
Ingegneria del software
Modulo 2 - Il software come prodotto
Unità didattica 2 - I costi del software
Ernesto Damiani
Università degli Studi di Milano
Stima basata sul giudizio di esperti (1)
• Si usano le conoscenze e l’esperienza di
professionisti, considerando le stime basate su
tutti i progetti a cui l’esperto ha partecipato
• Esempi
– Delphi
 sviluppato nel 1940 dalla Rand Corporation
 i partecipanti sono coinvolti in due cicli di valutazione
– WBS (Work Breakdown Structure)
 un modo per organizzare gli elementi del progetto in una
gerarchia che semplifica il compito di stima e controllo
del budget
Stima basata sul giudizio di esperti (2)
• Vantaggi
– È utile in assenza di dati empirici quantificati
– Può tener conto delle differenze tra le esperienze del
progetto passato e i requisiti del progetto proposto
– Può tener conto di fattori emergenti, linguaggi,
applicazioni e tecnologie nuovi
• Vantaggi
– La stima può essere considerata solo come l’opinione
di un buon esperto
– È difficile documentare i criteri usati dagli esperti
Metodo top-down (1)
• Chiamato anche Macro Modello
• Deriva dalle proprietà globali del prodotto
• Viene eseguita la ripartizione del progetto
software in vari componenti di basso livello, che
si stimano indipendentemente
• Un esempio: modello di Putnam
Metodo top-down (2)
• Vantaggi
– Tiene conto dei dettagli del progetto
– Di solito è veloce e facile da implementare
• Svantaggi
– Dipende dalla stima corretta dei componenti di basso
livello
– Non esiste un repertorio di stime già pronte
Metodo bottom-up (1)
• Viene stimato il costo di ogni componente, poi
i risultati vengono uniti per arrivare al costo
totale del progetto
• L’obiettivo è costruire la stima del sistema
dalla conoscenza accumulata sui componenti
software e le loro interazioni
• Un esempio: modello COCOMO dettagliato
Metodo bottom-up (2)
• Vantaggi
– Più stabile
– Più dettagliato
– Consente a ogni ruolo professionale (sviluppatore,
tester) di fornire una stima
• Svantaggi
– Può trascurare i costi a livello di sistema
– Richiede più tempo
Stima per analogia (1)
• Il progetto proposto viene confrontato con un
progetto simile completato precedentemente
nello stesso dominio applicativo
• Dai progetti completati vengono estrapolati i
dati effettivi
• Può essere usata sia a livello di sistema sia a
livello di componente
Stima per analogia (2)
• Vantaggi
– Basata su dati reali
• Svantaggi
– È impossibile effettuarla se in passato non è stato
affrontato alcun progetto comparabile
– Il progetto di riferimento può non essere abbastanza
simile a quello attuale
Stima price-to-win
• Si adatta la stima dei costi al prezzo necessario
per aggiudicarsi il contratto
• Vantaggi
– Spesso premiata con il contratto
• Svantaggi
– Tempo e denaro finiscono prima che il lavoro sia
terminato
FINE
Scarica

Metodi top-down/bottom-up - Università degli Studi di Milano