170 likes | 305 Views
Principi base (1). Il costo è stimato come una funzione matematica di attributi di prodotto, progetto e processo i cui valori sono determinati dai manager di progetto Effort = A ´ Dimensioni B ´ M
E N D
Principi base (1) • Il costo è stimato come una funzione matematica di attributi di prodotto, progetto e processo i cui valori sono determinati dai manager di progetto • Effort = A ´DimensioniB´M • A è una costante che dipende dall’organizzazione, B riflette l’effort non proporzionale per grandi progetti e M è un moltiplicatore che riflette attributi di persone, processi e prodotti.
Principi base (2) • L’attributo di prodotto usato più comunemente per la stima dei costi è la dimensione del codice • In genere, i modelli sono simili, ma usano valori diversi per A, B e M.
Precisione della stima • Le dimensioni di un sistema software possono essere note con precisione solo quando il sistema è terminato • Man mano che il processo di sviluppo progredisce, la stima delle dimensioni diventa più precisa • Molti fattori influenzano le dimensioni finali: • l’uso di COTS e componenti • il linguaggio di programmazione • la distribuzione di sistema
COCOMO II • COCOMO 81 è stato sviluppato con il presupposto che sarebbe stato usato un processo waterfall e che tutto il software sarebbe stato sviluppato da zero • Dalla sua formulazione ci sono stati molti cambiamenti nell’ingegneria del software e COCOMO II è progettato per adattare i diversi approcci allo sviluppo software
Modelli COCOMO II (1) • Come visto nelle lezioni precedenti, COCOMO II include una serie di modelli che producono stime di software sempre più dettagliate • Application Composition • Early Design • Reuse • Post-Architecture
Modelli COCOMO II (2) • Application Composition • Usato quando il software viene creato da parti esistenti • Early Design • Usato quando i requisiti sono disponibili, ma il design non è ancora stato iniziato • Reuse • Usato per calcolare l’effort di integrare componenti riutilizzabili • Post-Architecture • Usato dopo che l’architettura del sistema è stata progettata e sono disponibili più informazioni sul sistema
Modello Application Composition • Supporta progetti di prototyping e progetti in cui c’è riuso completo • Si basa su stime standard della produttività dello sviluppatore in mese/punti applicazione (CASE) • Tiene conto dell’uso di strumenti CASE • La formula è: • PM = ( NAP´(1 - %riuso/100 ) ) / PROD • PM è l’effort in mesi-uomo, NAP è il numero di punti applicazione e PROD è la produttività
Modello Early Design • Le stime possono essere effettuate dopo che i requisiti sono stati concordati • Si basa su una formula standard per modelli algoritmici : PM = = A´DimensioniB´M • M = PERS ´ RCPX ´ RUSE ´ PDIF ´ PREX ´ FCIL ´ SCED • A = 2,94 nella calibrazione iniziale, Dimensioni in KLOC, B varia da 1,1 a 1.24 a seconda della novità del progetto, della flessibilità di sviluppo, degli approcci di gestione dei rischi e della maturità dei processi
Moltiplicatori • I moltiplicatori riflettono l’esperienza degli sviluppatori, i requisiti non funzionali, la familiarità con la piattaforma di sviluppo ecc. • RCPX:complessità e affidabilità del prodotto • RUSE: il riuso richiesto • PDIF: difficoltà della piattaforma • PREX: esperienza del personale • PERS: capacità del personale • SCED: programma di lavoro richiesto • FCIL: funzionalità di supporto del team
Il modello Reuse • Tiene conto del codice black-box che viene riutilizzato senza cambiamenti e del codice che deve essere adattato per integrarlo al nuovo • Ci sono due versioni: • Il black-box reuse in cui il codice non è modificato. Viene calcolata una stima degli effort (PM) • Il white-box reuse in cui il codice viene modificato. Viene calcolata una stima delle dimensioni equivalente al numero di linee di codice sorgente aggiunte; questo poi adatta la stima delle dimensioni per il nuovo codice
Stime del modello Reuse (1) • Per il codice generato automaticamente • PM = (ASLOC * AT/100)/ATPROD • ASLOC è il numero di linee di codice generato • AT è la percentuale di codice generato automaticamente • ATPROD è la produttività degli ingegneri nell’integrare questo codice
FINE Stime del modello Reuse (2) • Quando il codice deve essere capito e integrato • ESLOC = ASLOC * (1-AT/100) * AAM • ASLOC e AT come prima • AAM è il moltiplicatore di adattamento calcolato dai costi di cambiamento del codice riusato, i costi per capire come integrare il codice e i costi del processo decisionale del riuso