Constructive Cost Model

Slides:



Advertisements
Similar presentations
Effort Estimation and Scheduling
Advertisements

Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
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 Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
Measuring process attributes. Good Estimates Predictions are needed for software development decision-making (figure 12.1) A prediction is useful only.
CSC 395 – Software Engineering
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
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.
S/W Project Management
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
ELP Helper MSE Project Presentation I Aghsan Ahmad Major Professor: Dr. Bill Hankley.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Group Members: Ayush Newatia, Barry Foye, Billy Felton, Kevin Anderson, Shahnaz Begum and Adam Jasinski Constructive Cost Model is a technique used to.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
Student Curriculum Planning System MSE Project Presentation I Kevin Sung.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
Effort Estimation ( 估计 ) And Scheduling ( 时序安排 ) Presented by Basker George.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
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
Estimation for Software Projects 1. Software Project Planning 2 The overall goal of project planning is to establish a pragmatic strategy for controlling,
Estimation using COCOMO
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.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Rating Very Very Extra Cost Drivers Low Low Nominal High High High Product Attributes Required software reliability Database size.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
INFSY 570 DR. R. OCKER Software Project Planning.
بشرا رجائی برآورد هزینه نرم افزار.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
THE FAMU-CIS ALUMNI SYSTEM
Chapter 33 Estimation for Software Projects
Project Cost Management
Methodologies and Algorithms
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Project Management
The Effects on Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
COCOMO Model Basic.
Chapter 5: Software effort estimation- part 2
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.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
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
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 Cost Estimation
COnstructive COst MOdel
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Constructive Cost Model COCOMO - II Constructive Cost Model

Planning Planning entails all activities that must be performed before starting the development work. Once the project is started, project control begins. The inputs to the planning activity are the requirements specification and the architecture description. The major issues project planning addresses are: Process planning Effort estimation Schedule and Resource Estimation Quality plans Configuration management plans Risk management Project monitoring plans

Process Planning For a project, during planning, a key activity is to plan and specify the process that should be used in the project. This means specifying the various stages in the process, the entry criteria for each stage, the exit criteria, and the verification activities that will be done at the end of the stage.

Effort Estimation For a given set of requirements it is desirable to know how much it will cost to develop the software, and how much time the development will take. The Bulk of the Cost involved is Human Resources, then other overheads(H/w, S/w etc.) Effort and schedule estimates are also required to determine the staffing level for a project during different phases. it is generally accepted that it is important to have a more scientific approach to estimation through the use of models.

Uncertainties in Effort Estimation At any point, the accuracy of the estimate will depend on the amount of reliable information we have about the final product. when the product is delivered, the effort can be accurately determined, as all the data about the project and the resources spent can be fully known by then. On the other extreme is the point when the project is being initiated. At this time, we have only some idea of the classes of data the system will get and produce and the major functionality of the system. There is a great deal of uncertainty about the actual specifications of the system. Specifications with uncertainty represent a range of possible final products, not one precisely defined product. Estimates at this phase of the project can be off by as much as a factor of four from the actual final effort.

Uncertainties in Effort Estimation

Uncertainties in Effort Estimation Once the design is complete, the estimates can be made still more accurately. Note that this figure is simply specifying the limitations of effort estimating strategies For actual effort estimation, estimation models or procedures have to be developed. Despite the limitations, estimation models have matured considerably and generally give fairly accurate estimates. For example, when the COCOMO model was checked with data from some projects, it was found that the estimates were within 20% of the actual effort 68% of the time. if the estimate is within 20% of the actual, the effect of this inaccuracy will not even be reflected in the final cost and schedule.

Building Effort Estimation Models An estimation model can be viewed as a "function" that outputs the effort estimate, It gets the input from the project specifications. The effort for a project is a function of many parameters, it is generally agreed that the primary factor that controls the effort is the size of the project, that is, the larger the project, the greater the effort requirement. One common approach therefore for estimating effort is to make it a function of project size, and the equation of effort is considered as EFFORT = a * SIZEb where a and b are constants, and project size is generally in KLOC or function points. Values for these constants for a particular process are determined through regression analysis, which is applied to data about the projects that has been performed in the past.

Building Effort Estimation Models Top Down Approach Bottom Up Approach

Top down Approach. This approach is called Top down Approach. as overall effort is first determined and then from this the effort for different parts are obtained. In this approach generally we do size estimation first and then effort estimation coz size estimation is easier than effort estimation. For estimating Size, system is divided into components, as it is easy to estimate for small component. After getting the size for all the components, we add the estimates of all the components. Same can not be applied on effort. Good Estimate of size will give good estimate of effort.

Bottom Up Approach. The project is first divided into tasks and then estimates for the different tasks of the project are first obtained. The overall estimate of the project is derived from the estimates of its parts. Once the project is partitioned into smaller tasks, it is possible to directly estimate the effort required for them, specially if tasks are relatively small. In Top Down approach required information is size, and in Bottom Up List of Tasks. Most of the time these two approaches are complementary.

Example Here we Describe one Practical approach used in Commercial Organizations. First the major programs in the software are identified, Then each program unit is classified as simple, medium or complex. For each classification unit, an average effort for coding is decided. Once the number of units in the three categories of complexity is known and the estimated coding effort for each program is selected, the total coding effort for the project is known. From Coding Effort other effort are calculated. From these estimates, the total effort for the project is obtained. This approach lends itself to a judicious mixture of experience and data.

COCOMO Model A top-down model can depend on many different factors, instead of depending only on one variable, giving rise to multivariable models. We Can start with an initial estimate determined by using the static single-variable model equations, which depend on size, and then adjusting the estimates based on other variables This approach implies that size is the primary factor for cost; other factors have a lesser effect. Here we will discuss one such model called the COnstructive COst MOdel (COCOMO) developed by Boehm.

COCOMO Model This model also estimates the total effort in terms of person-months. The basic steps in this model are: 1. Obtain an initial estimate of the development effort from the estimate of thousands of delivered lines of source code (KLOC). 2. Determine a set of 15 multiplying factors from different attributes of the project. 3. Adjust the effort estimate by multiplying the initial estimate with all The multiplying factors.

COCOMO Model The initial estimate (also called nominal estimate) is determined by an equation, using KLOC as the measure of size. To determine the initial effort Ei in person-months the equation used is of the type Ei = a * (KLOC)b. The value a & b depends on the project type. In COCOMO the projects are divided into three categories. Organic Semidetached Embedded They roughly categories the complexity of the project.

COCOMO Model Organic projects being those that are relatively straightforward and developed by a small team. These are the projects with average complexity. Embedded are those that are ambitious and novel, with stringent constraints from the environment and high requirements for such aspects as interfacing and reliability. The constants a and b for different systems are: These values are determined form past data. COCOMO Model provide some global values that can be used until the first prototype is developed.

COCOMO Model There are 15 different attributes, called cost driver attributes^ that determine the multiplying factors. These factors depend on product, computer, personnel, and technology attributes e.g. software reliability (RELY) product complexity (CPLX) analyst capability (ACAP) application experience (AEXP) use of modern tools (TOOL) required development schedule (SCHD) They all have a rating scale, for which they all have the multiplying factor.

COCOMO Model E.g. for RELY the rating scale is very low, low, nominal, high, and very high. The multiplying factors for these ratings are .75, .88, 1.00, 1.15, and 1.40, respectively. So, if the reliability requirement for the project is judged to be low then the multiplying factor is .75

COCOMO Model The multiplying factors for ah 15 cost drivers are multiplied to get the effort adjustment factor (EAF). The final effort estimate, E, is obtained by multiplying the initial estimate by the EAF. That is, E = EAF * Ei.. By this method, the overall cost of the project can be estimated. For planning and monitoring purposes, estimates of the effort required for the different phases is also desirable. In COCOMO, effort for a phase is a defined percentage of the overall effort. The percentage of total effort spent in a phase varies with the type and size of the project.

COCOMO Model The percentages for an organic software project are given in Table. Using this table, the estimate of the effort required for each phase can be determined from the total effort estimate. E.g. if the total effort estimate for an organic software system is 20 PM and the size estimate is 20KLOC, then the percentage effort for the coding and unit testing phase will be 40 + (38 - 40)/(32 - 8) * 20 = 39%. The estimate for the effort needed for this phase is 7.8 PM. Here the requirement Phase is not considered as that is already done.

COCOMO Model In COCOMO Model, sometimes the Designing, Coding and Testing Phases are combined to call programming phase. Let us take an example of Office Automation System, Where major modules a.re 1) data entry 2) data update 3) query 4)report generator. It is also known that it falls under organic category. The sizes for the different modules and the overall system are estimated to be: Data Entry 0.6 KLOC Data Update 0.6 KLOC Query 0.8 KLOC Reports 1.0 KLOC TOTAL 3.0 KLOC

COCOMO Model From the requirements, the ratings of the different cost driver attributes are assessed. These ratings, along with their multiplying factors, are: Complexity High 1.15 Storage High 1.06 Experience Low 1.13 Programmer Capability Low 1.17 From these, the effort adjustment factor (EAF) is EAF = 1.15*1.06*1.13*1.17 = 1.61. The initial effort estimate for the project is obtained from the relevant equations. We have Ei = 3.2*31.05 = 10.14 PM Using the EAF, the adjusted effort estimate is E= 1.61* 10.14 = 16.3PM. Using the preceding table, we obtain the percentage of the total effort consumed in different phases.

COCOMO Model The office automation system's size estimate is 3 KLOC, so we will have to use interpolation to get the appropriate percentage (the two end values for interpolation will be the percentages for 2 KLOC and 8 KLOC). The percentages for the different phases are: design—16%, detailed design—25.83%, code and unit test—41.66%, and integration and testing—16.5%. With these, the effort estimates for the different phases are: