Corso di Ingegneria del Software. I costi del software

Documenti analoghi
COCOMO 81 Esempio di impiego

06 - Dimensionamento dello sforzo di sviluppo. 06costi.1

Leveling delle attività

Corso di Ingegneria del Software. I costi del software

Corso di Ingegneria del Software. I costi del software

The Constructive Cost Model

Gestione parte IIB. Stima dei costi. Stima top-down e bottom-up. Tecniche di stima dei costi. Rif. Ghezzi et al

Gestione di progetto: pianificazione

COCOMO II. Note basate su COCOMO II Model Definition Manual - Center for Software Engineering USC

Calcolo prezzi unitari per forniture a FP Pagina 1 di 9

Gestione di progetto: pianificazione. Introduzione: dove siamo? Introduzione: pianificazione. Simona Bernardi

Corso di Ingegneria del Software. Testing

Corso di Ingegneria del Software. Metriche Parte II

Corso di Ingegneria del Software. Casi d uso

Corso di Ingegneria del Software. Esempi di casi d uso

Metriche, previsioni e stime

Corso di Ingegneria del Software. Modelli di produzione del software

IS Corso di Ingegneria del Software 1

Metriche, previsioni e stime

Corso di Ingegneria del Software. La progettazione della interfaccia utente

Costi. Studio di fattibilità Progetto di massima. 5. Progetto di massima. M.Rumor. Studio di fattibilità. Studio di fattibilità Progetto di massima

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Quarta v1.0

Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate

Programmazione con Java

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Activity Diagram

IS Corso di Ingegneria del Software 1

Ingegneria del Software

Corso di Ingegneria del Software. La architettura software

18/05/2014. Università di Ferrara Corso di Ingegneria del Software AA 2013/2014

Algoritmi, Strutture Dati e Programmi. UD 2.d: Linguaggi Procedurali

Ciclo di vita per lo sviluppo di software sicuro

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Laurea Magistrale in Ingegneria Informatica Curriculum in IT Management. Ingegneria del Software II (IS2)

Struttura. Risorse informatiche. Materiali di consumo. Personale di supporto. Personale tecnico. uffici, energia elettrica,

Allegato 1 Descrizione profili professionali

14. Verifica e Validazione

Gestione di progetto. Cosa è un progetto? Gestione di progetto. Fondamenti di gestione. Ruoli

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Motivazioni 1

Università degli Studi di Bologna. Facoltà di Ingegneria CORSO DI INGEGNERIA DEL SOFTWARE. Prof. Evelina Lamma

Corso di Ingegneria del Software. Introduzione al corso

Modulo 2. La produzione industriale del software Il ciclo di vita del software I modelli di sviluppo. La industrializzazione del software

Corso di Ingegneria del Software. Informazioni sul corso

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A Prof. Giuseppe Visaggio Presentazione

Project Management dei Progetti Software. Prof. Paolo Ciancarini! Corso di Ingegneria del Software! CdL Informatica! Università di Bologna

Introduzione al corso. Obiettivo del corso

Pianificare e controllare progetti nel settore ICT

LOCATION SEMESTER LANGUAGE

Gestione di progetto. Cosa è un progetto? Gestione di progetto. Fondamenti di gestione. Criticità

Corso di Ingegneria del Software. Modelli di produzione del software

Materiale didattico. Sommario

Corso di Ingegneria del Software. Ingegneria dei Requisiti

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Ingegneria del Software L-A

Componenti di un sistema di acquisizione dati

Università di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A. Obiettivi del Corso. Argomenti trattati

OBIETTIVI: FILONI PRINCIPALI FONDAMENTI DI INFORMATICA II

Università di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A

Misurazione del software

Premessa sui linguaggi

Ingegneria del Software

Sistemi Informativi Aziendali. Programma del corso

Orchestra Control. Caso di Studio Scambiatore Pezzi SPI

Corso di Laurea Magistrale in Ingegneria Informatica

Architettura dei calcolatori e Software di sistema

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia

Corso di Ingegneria del Software. Modelli di produzione del software

Sistemi Distribuiti e Cloud Computing A.A. 2018/19

Francesco V. Buccoli Microsoft Student Evangelist

Traduzione e interpretazione

La Scuola di Formazione del Gruppo Galgano è attiva dal 1962 con formatori di notevole esperienza

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Ingegneria del Software

Java. Traditional portability (ideal)

Stima dell'effort. IT Project Management. Lezione 6 Stima dell effort Federica Spiga. Monitoring del progetto (Earned Value)

LABORATORIO DI INFORMATICA. Prof.ssa Patrizia Tarantino

Agile e Scrum in pratica

Microelettronica Corso introduttivo di progettazione di sistemi embedded

IS Corso di Ingegneria del Software 1

Cenni sulla virtualizzazione

Dispositivi per il controllo

Macchina Astratta: struttura e realizzazione.

Misurazioni. Misurazione del software. Scienza e misura. IS Misura e metrica. Misurare. Finalità della misura. Limiti intrinseci della misura

Sistemi Distribuiti e Cloud Computing A.A. 2016/17

RUOLO E PROFESSIONALITA DELLE FIGURE UTILIZZATE

Metodi e obiettivi di quantificazione

Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica. Corrado Santoro

Unità di misura dei deliverables Come misurare l avanzamento dell ingegneria

STIMARE GLI ELEMENTI ECONOMICI DI UN ALTERNATIVA (O DI UN PROGETTO)

Corso di Ingegneria del Software. Concetti Introduttivi

Controlli Automatici. Maria Gabriella Xibilia Blocco B piano 7 Tel. 7328

SIA - Società Italiana Avionica S.p.A. Fasi del ciclo di vita Overview

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Corso di Ingegneria del Software. Modelli di produzione del software

Sistemi Distribuiti e Cloud Computing A.A. 2017/18

Transcript:

Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it

Riepilogo

Tre stime Base livello specifiche Intermedio livello architettura Dettagliato livello architettura di dttaglio

Modello Base MM = a S b T dev = c MM d a,b,c,d costanti dipendenti dal tipo di software

Modello Base Tipo di applicazione Semplice (Organic Mode) 2KLOC < dimensione < 50KLOC requisiti poco poco variabili Intermedia (Semi-detached Mode) dimensione < 300 KLOC Complessa (Embedded Mode) Applicazioni militari, per il controllo del volo, ecc

Riepilogo

1. Costi nella XP 2. Concetti di base 3. 4. I 5. Bibliografia Modello Base Modello Intermedio Modello Dettagliato Sommario

Modello Intermedio MM = EAF a (S) b a,b,c,d costanti dipendenti dal tipo di software tipo di applicazione a b c d Semplice 3.2 1.05 2.5 0.38 Intermedia 3 1.12 2.5 0.35 Complessa 2.8 1.2 2.5 0.32 Y15 EAF = i=1 EM i (EAF = Effort Adjustment Factor) EM i (effort multipliers) sono 15 fattori di complessità del progetto (fattori correttivi cost drivers)

Modello Intermedio Fattori correttivi Driver di costo includono la valutazione soggettiva del prodotto, dei fissaggi, dei personali e degli attributi di progetto. Attributi di prodotto Affidabilità richiesta del software RELY: REquired software reliability Formato della base di dati di applicazione DATA: DATA base size Complessità del prodotto CPLX: product ComPLeXity Attributi di sistema Vincoli di prestazioni Run-time TIME: execution TIME constraint Vincoli di memoria STOR: main STORage constraint Volatilità dell ambiente virtuale della macchina VIRT: VIRTual machine volatility Tempo di turnaround richiesto TURN: computer TURNaround time

Modello Intermedio Fattori correttivi Driver di costo includono la valutazione soggettiva del prodotto, dei fissaggi, dei personali e degli attributi di progetto. Attributi di prodotto Affidabilità richiesta del software RELY: REquired software reliability Formato della base di dati di applicazione DATA: DATA base size Complessità del prodotto CPLX: product ComPLeXity Attributi di sistema Vincoli di prestazioni Run-time TIME: execution TIME constraint Vincoli di memoria STOR: main STORage constraint Volatilità dell ambiente virtuale della macchina VIRT: VIRTual machine volatility Tempo di turnaround richiesto TURN: computer TURNaround time

Modello Intermedio Fattori correttivi Driver di costo includono la valutazione soggettiva del prodotto, dei fissaggi, dei personali e degli attributi di progetto. Attributi di prodotto Affidabilità richiesta del software RELY: REquired software reliability Formato della base di dati di applicazione DATA: DATA base size Complessità del prodotto CPLX: product ComPLeXity Attributi di sistema Vincoli di prestazioni Run-time TIME: execution TIME constraint Vincoli di memoria STOR: main STORage constraint Volatilità dell ambiente virtuale della macchina VIRT: VIRTual machine volatility Tempo di turnaround richiesto TURN: computer TURNaround time

Modello Intermedio Fattori correttivi Attributi del personale Capacità dell analista ACAP - Analyst CAPability Capacità del programmatore PCAP - Programmer CAPability Esperienza della applicazione AEXP - Application EXPerience Esperienza virtuale della macchina VEXP - Virtual machine EXPerience Esperienza di linguaggio di programmazione LEXP - Program. Lang. EXPer. Attributi di progetto Uso degli strumenti software TOOL - use of software TOOLs Applicazione dei metodi di tecnologia della programmazione MODP: MODern Program. practices Programma richiesto di sviluppo SCED - SChEDule constraints

Modello Intermedio Fattori correttivi Attributi del personale Capacità dell analista ACAP - Analyst CAPability Capacità del programmatore PCAP - Programmer CAPability Esperienza della applicazione AEXP - Application EXPerience Esperienza virtuale della macchina VEXP - Virtual machine EXPerience Esperienza di linguaggio di programmazione LEXP - Program. Lang. EXPer. Attributi di progetto Uso degli strumenti software TOOL - use of software TOOLs Applicazione dei metodi di tecnologia della programmazione MODP: MODern Program. practices Programma richiesto di sviluppo SCED - SChEDule constraints

Modello Intermedio Fattori correttivi Attributi del personale Capacità dell analista ACAP - Analyst CAPability Capacità del programmatore PCAP - Programmer CAPability Esperienza della applicazione AEXP - Application EXPerience Esperienza virtuale della macchina VEXP - Virtual machine EXPerience Esperienza di linguaggio di programmazione LEXP - Program. Lang. EXPer. Attributi di progetto Uso degli strumenti software TOOL - use of software TOOLs Applicazione dei metodi di tecnologia della programmazione MODP: MODern Program. practices Programma richiesto di sviluppo SCED - SChEDule constraints

Modello Intermedio Fattori correttivi Ciascuno dei 15 attributi riceve una valutazione su una scala del sei-punto che varia da Molto basso ad Estremamente alto : Molto basso Basso Normale/nominale Alto Molto alto Estremamente alto A ciascuna valutazione corrisponde un valore. Il prodotto di tutti i moltiplicatori di sforzo è il coefficiente di adattamento di sforzo (EAF). I valori tipici per EAF variano da 0.9 a 1.4.

Modello Intermedio Fattori correttivi PRODOTTO CPLX (product ComPLeXity) (0.70-0.85-1.0-1.15-1.30-1.65) RELY: REquired software reliability (0.75-0.88-1.0-1.15-1.40-n/a) DATA: DATA base size (n/a-0.94-1.0-1.08-1.16-n/a)

Modello Intermedio Fattori correttivi SISTEMA TIME: execution TIME constraint (n/a-1.0-1.11-1.30-1.66-n/a) STOR: main STORage constraint (n/a-1.0-1.06-1.21-1.56-n/a) VIRT: VIRTual machine volatility (n/a-0.87-1.0-1.15-1.30-n/a) TURN: computer TURNaround time (0.87-1.0-1.07-1.15-n/a-n/a)

Modello Intermedio Fattori correttivi Required Software Reliability RELY: Livello di affidabilità richiesto al software Molto basso 0.75 l effetto di un guasto è un semplice inconveniente che non procura danni reali (esempio: errore in un programma di demo). Basso 0.88 l effetto di un errore è facilmente recuperabile Nominale 1.00 l effetto è considerato in modo significativo dall utente, che comunque è in grado di gestirlo senza eccessivi problemi. Alto 1.15 l effetto di un errore può causare gravi perdite finanziarie (esempio: sistemi bancari). Molto alto 1.40 rischi per la vita umana (esempio: avionica).

Modello Intermedio Fattori correttivi PERSONALE ACAP - Analyst CAPability (1.40-1.19-1.0-0.86-0.71-n/a) AEXP - Application EXPerience (1.29-1.13-1.0-0.91-0.82-n/a) PCAP - Programmer CAPability (1.42-1.17-1.0-0.86-0.7-n/a) VEXP - Virtual machine EXPerience 1.21-1.10-1.0-0.90-n/a-n/a) LEXP - Program. Lang. EXPer. (1.14-1.07-1.0-0.95-n/a-n/a)

Modello Intermedio Fattori correttivi Applications experience AEXP: Livello di esperienza media del team di sviluppo nel settore applicativo considerato Molto Basso 1.29 4 mesi. Basso 1.13 1 anno. Nominale 1.00 3 anni. Alto 0.91 6 anni. Molto alto 0.82 12 anni.

Modello Intermedio Fattori correttivi PROGETTO MODP: MODern Program. practices (1.24-1.10-1.0-0.91-0.82-n/a) TOOL - use of software TOOLs (1.24-1.10-1.0-0.91-0.83-n/a) SCED - SChEDule constraints (1.23-1.08-1.0-1.04-1.10-n/a)

Modello Intermedio Fattori correttivi Modern Programming Practice MODP: Livello qualitativo delle tecniche di sviluppo utilizzate nel progetto (sviluppo top-down,... ) Molto basso 1.24 nessuna tecnica utilizzata Basso 1.10 Inizio di uso sperimentale Nominale 1.00 Esperienza significativa nell uso di qualche tecnica Alto 0.91 Esperienza significativa nell uso della maggior parte delle tecniche. Molto alto 0.82 Uso di routine delle diverse tecniche.

Modello Intermedio Esempio Sviluppo di un software con le seguenti caratteristiche: embedded mode 10 KLOC MM = EAF 2:8 (10) 1:2 = EAF 44

Modello Intermedio Esempio Sviluppo di un software con le seguenti caratteristiche: embedded mode 10 KLOC MM = EAF 2:8 (10) 1:2 = EAF 44

Modello Intermedio Esempio RELY NOMINALE 1.00 local use of system, no serious recovery problems DATA BASSO 0.94 20 KByte CPLX MOLTO ALTO 1.30 communication processing TIME ALTO 1.11 usa il 70% del tempo disponibile STOR ALTO 1.06 usa il 70% della memoria disponibile

Modello Intermedio Esempio VIRT NOMINALE 1.00 ambiente commerciale standard TURN NOMINALE 1.00 2 ore mediamente ACAP ALTO 0.86 good senior analysts AEXP NOMINALE 1.00 three years PCAP HIGH 0.86 good senior programmers

Modello Intermedio Esempio VEXP BASSO 1.10 sei mesi LEXP NOMINALE 1.00 dodici mesi MODP ALTO 0.91 most techniques in use over one year TOOL BASSO 1.10 PC tool livello base SCED NOMINALE 1.00 nove mesi

Modello Intermedio Esempio Calcolo dei coefficienti correttivi EAF = 1 0:94 1:3 1; 11 1; 06 1 1 0:86 1 0:86 1:1 1 0:91 1:1 1 = 1:17 MM = EAF 2:8 (10) 1:2 = EAF 44 MM = 1:17 44 = 51 Costo complessivo: 51 * 300 * 19 = 51 * 5700 = 290700

Modello Intermedio Esempio Calcolo dei coefficienti correttivi EAF = 1 0:94 1:3 1; 11 1; 06 1 1 0:86 1 0:86 1:1 1 0:91 1:1 1 = 1:17 MM = EAF 2:8 (10) 1:2 = EAF 44 MM = 1:17 44 = 51 Costo complessivo: 51 * 300 * 19 = 51 * 5700 = 290700

Modello Intermedio Esempio Calcolo dei coefficienti correttivi EAF = 1 0:94 1:3 1; 11 1; 06 1 1 0:86 1 0:86 1:1 1 0:91 1:1 1 = 1:17 MM = EAF 2:8 (10) 1:2 = EAF 44 MM = 1:17 44 = 51 Costo complessivo: 51 * 300 * 19 = 51 * 5700 = 290700

Modello Intermedio Esempio Calcolo dei coefficienti correttivi EAF = 1 0:94 1:3 1; 11 1; 06 1 1 0:86 1 0:86 1:1 1 0:91 1:1 1 = 1:17 MM = EAF 2:8 (10) 1:2 = EAF 44 MM = 1:17 44 = 51 Costo complessivo: 51 * 300 * 19 = 51 * 5700 = 290700

1. Costi nella XP 2. Concetti di base 3. 4. I 5. Bibliografia Modello Base Modello Intermedio Modello Dettagliato Sommario

Modello Dettagliato Il modello dettagliato permette di modulare il valore assegnato ai 15 fattori di complessità (cost driver) in funzione di 4 fasi del ciclo di vita: 1. RPD Requirements & Product Design 2. DD Detailed Design 3. CUT Code and Unit Test 4. IT Integrate & Test

Modello Dettagliato a, b, c, d modello Dettagliato = a, b, c, d modello Intermedio

Modello Dettagliato I valori dei cost driver dipendono dalle fasi del ciclo di sviluppo. Esempio: ìefficienza del personale di analisîı (ACAP) PD DD CUT IT Molto basso 1.8 1.35 1.35 1.5 Basso 0.85 0.85 0.85 1.2 Nominale 1 1 1 1 Alto 0.75 0.9 0.9 0.85 Molto alto 0.55 0.75 0.75 0.7

Riepilogo

Riepilogo

Riepilogo Statistiche sull accettabilità di COCOMO I COCOMO base accettabile in circa il 25% dei casi. COCOMO intermedio accettabile in circa il 68% dei casi. COCOMO avanzato accettabile in circa 70% dei casi.

Riepilogo Statistiche sull accettabilità di COCOMO I COCOMO base accettabile in circa il 25% dei casi. COCOMO intermedio accettabile in circa il 68% dei casi. COCOMO avanzato accettabile in circa 70% dei casi.

Riepilogo Statistiche sull accettabilità di COCOMO I COCOMO base accettabile in circa il 25% dei casi. COCOMO intermedio accettabile in circa il 68% dei casi. COCOMO avanzato accettabile in circa 70% dei casi.

Riepilogo Statistiche sull accettabilità di COCOMO I COCOMO base accettabile in circa il 25% dei casi. COCOMO intermedio accettabile in circa il 68% dei casi. COCOMO avanzato accettabile in circa 70% dei casi.

1. Costi nella XP 2. Concetti di base 3. 4. I 5. Bibliografia Sommario

Bibliografia Riferimenti bibliografici 1. R. Pressman Ingegneria del software, Mc Graw Hill Italia, 5a edizione, 2007. 2. K. Beck Programmazione estrema, Addison-Wesley, 2000, capitolo 26. 3. Sito uffciale del metodo CoCoMo http://sunset.usc.edu/csse/research/cocomoii/cocomo_ main.html 4. B. Boehm, B. Clark, E. Horowitz, R. Madachy, R. Shelby, C. Westland, Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 Annals of Software Engineering, 1995. 5. B. Boehm, B. Clark, E. Horowitz, R. Madachy, R. Shelby, C. Westland, The COCOMO 2.0 Software Cost Estimation Model International Society of Parametric Analysts, 1995.