Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.

Slides:



Advertisements
Presentazioni simili
Renzo Marin – CRC Veneto Progetto CRC-CNIPA
Advertisements

La progettazione di un sistema informatico
Realizzazione di una wiki orientata ai servizi
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 1 - Introduzione alle metriche Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 4 – Le transazioni.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 2 –
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –
Reti di calcolatori Modulo 1 -Tecniche di comunicazione digitale Unità didattica 4 – Interconnessione tra reti locali Ernesto Damiani Università di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Data Processing Organization srl – © www.dpo.it Stima anticipata del software a partire dai requisiti.
MODELLI DI PROCESSO DI PRODUZIONE SOFTWARE
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 - Gestione della configurazione software Ernesto Damiani Università.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 – Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 -Gestione della configurazione software Ernesto Damiani Università.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 – Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 1 -Introduzione alle metriche Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 1 -Introduzione alle metriche Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 -Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 3 - Tecniche di implementazione Unità didattica 1 - Ingegneria dei componenti Ernesto Damiani Università degli Studi di.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Protocolli avanzati di rete Modulo 3 – Wireless Network Unità didattica 6 -Protocolli Ernesto Damiani Università degli Studi di Milano Lezione 5.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 3 – Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 5 – Demarcazione.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 – Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 – eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 1.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 2 – Tipi di.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 2 -Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 – Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 - Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria dei requisiti Modulo 1 -Introduzione al processo software Unità didattica 2 - Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Fasi di sviluppo di un software
Transcript della presentazione:

Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione 8 – Approfondimenti COCOMO (1)

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 – 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

Incertezza della stima

Richiami a COCOMO 81

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

Uso di modelli COCOMO II

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à

Produttività in punti oggetto

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  Dimensioni B  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

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 FINE