Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.

Slides:



Advertisements
Similar presentations
Project Estimation: Metrics and Measurement
Advertisements

Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Informatics 43 – May 12, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases 
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Information System Economics Software Project Cost Estimation.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
Estimation Why estimate? What to estimate? When to estimate?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
Software cost estimation Predicting the resources required for a software development process 1.
Large Scale Software Systems Derived from Dr. Fawcett’s Notes Phil Pratt-Szeliga Fall 2010.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Software Project Estimation IMRAN ASHRAF
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
بشرا رجائی برآورد هزینه نرم افزار.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
THE FAMU-CIS ALUMNI SYSTEM
Chapter 33 Estimation for Software Projects
Project Cost Management
Why is software engineering worth studying?
Software Prototyping.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Informatics 43 – May 10, 2016.
The Effects on Development
Software Maintenance
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Development & Project Management
Software cost estimation
Software Cost Estimation
COCOMO Model Basic.
Personal Software Process Software Estimation
Chapter 5: Software effort estimation- part 2
Chapter 5: Software effort estimation
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Chapter 33 Estimation for Software Projects
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Cost Estimation
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Software cost estimation
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Cost Estimation Van Vliet, chapter 7 Glenn D. Blank

Cost estimates: when and why When does a contractor estimate costs for building a house? Before construction begins, let alone payment Takes into account subcontracts for foundation, framing, plumbing, electrical, etc. Hierarchy, modularity and abstraction support estimates Who benefits from these cost estimates? Can cost estimates have similar advantages for software projects? On the other hand, can cost estimates for software projects be as accurate as for house contracts? Why or why not?

Person-months Most software cost estimates assume cost = effort Effort = man-month, i.e., a person’s work for a month Usually ignores cost of hardware or cost of maintenance Fred Brooks, The Mythical Man-Month, 1975: “Cost does indeed vary as the product of the number of men and the number of months. Progress does not. Hence the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. It implies men and months are interchangeable.” “Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them. This is true of reaping wheat or picking cotton; it is not even approximately true of systems programming.” “Adding manpower to a late project makes it later.”

LOC/KLOC LOC: lines of code KLOC: kilo lines of code, or (lines of code) / 1000 Still regarded as most accurate way to measure labor costs What are some uncertainties about measuring LOC? Should comment lines count? Or blank lines for formatting? How do we compare lines of assembly language vs. high-level language like C++ or Java? How do you know how many LOC the system will contain when it’s not implemented or even designed yet? How do you account for reuse of code?

Bottom up estimates Estimate the cost for each module or unit of code Sum the cost of the modules Add an estimate of integration costs Assumes that design is far enough along that all modules are defined Another bottom-up estimate: Break the work into subtasks small enough to estimate Person responsible for performing the subtask estimates the effort required Software architectural design work must be done before such an estimate is possible

Formal or algorithmic cost models Goal: compute the cost of a software project, with formulas and constant factors called “cost drivers” Formal cost models are thought to be the best way we have to predict the software development costs But for many projects it’s not possible to gather the input data needed At best, formal cost models yield estimates that are at most 25% off, 75% of the time, for the projects used to derive the model May imply more uncertainty for new projects (the ones we want to estimate)

COCOMO (1981)  COCOMO – COnstructive COst Model Basic formula is: Effort = bKLOC c where b, c are constants whose values depend on the project characteristics Basic COCOMO distinguishes three classes of projects: Organic: small teams develops software in known environment, so developers can contribute early: b=2.4, c=1.05 Embedded: Environment is inflexible and constrained, i.e., air traffic control or embedded weapons systems, b=3.6, c=1.20 Semidetached: Team members have varying levels of experience working on larger projects, b=3.0, c=1.12 Intermediate COCOMO – factors in 15 additional cost drivers, i.e., complexity of software, documentation needs, etc. E.g., if complexity is low, adjust this factor by 0.85 (40*0.84=34 months) What do you think of measuring cost factors this way? Detailed COCOMO – phase sensitive, uses separate multipliers for each project phase, from requirements through integration

Function Point analysis (1979, 1983) Rather than counting LOC, count data structures (“function points”) Intended to be a user-oriented measure of system function Particularly suitable for business applications Less well suited for systems such as compilers, real-time systems, etc. Key inputs are number of: Input types, output types, inquiry types, logical internal files, interfaces May also apply corrections for differences in complexity of data types After computing the function points, map them to LOC Formula depends on the particular programming language to be used Based on older, batch-oriented systems Object Point analysis may be more suitable for interactive, screen-oriented systems Note: objects are screens, reports and 3GL modules, not OOP classes

COCOMO 2 (1995, 1997) Tuned to applications and life-cycle practices of 90’s and 2000’s Three different models applied at different life cycle stages: Application Composition model Intended for prototypes, using components or CASE tools Similar goal as for Function Point analysis Based on counting Object Points (instead of function points) Early Design model For the architectural design phase Incorporates some aspects of Function Point analysis Post-Architecture model For the development stage Most detailed Similar to the original COCOMO model Adds many new cost drivers: Personnel capabilities, use of software tools, multi-site development, etc.