Software Engineering: A Practitioner’s Approach

Slides:



Advertisements
Similar presentations
Estimation for Software Projects
Advertisements

Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
PERENCANAAN PROYEK PERANGKAT LUNAK Nur Cahyo Wibowo, S.Kom, M.Kom.
Project Estimation: Metrics and Measurement
Chapter 26 Estimation for Software Projects
Project Estimation فرشاد آقابزرگی. Software Project Estimation.
Developed by Reneta Barneva, SUNY Fredonia Software Project Planning.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
A Good Manager Measures
SOFTWARE PROJECT PLANNING
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Software Engineering 2 Chapter 26: Estimate
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Project Planning CIS 375 Bruce R. Maxim UM-Dearborn.
Project Planning Instructor: Dr. Jerry Gao. Project Planning Jerry Gao, Ph.D. Jan Software Scope - Obtaining Information Necessary for Scope -
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Project Management
MODULE PLANNING &ESTIMATION.
Software Project Management
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
©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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Software cost estimation Predicting the resources required for a software development process 1.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,
Developed by Reneta Barneva, SUNY Fredonia Software Project Planning.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Software Engineering Software Project Planning. Objectives 1.To introduce project planning. 2.To examine the stages of project planning: scoping, estimation,
Project Planning and Estimation
Software Engineering Lecture 5 Software Project Planning 1.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
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
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Project Management Lecture # 6. Outline Recap Remaining Topics of Chapter 23 Project Scheduling (Chapter 24)
Software Engineering (CSI 321) Project Planning & Estimation 1.
Software Engineering Lecture 5: Project Planning.
Chapter 23 Estimation Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Intro to Estimating Part Art, Part Science. Importance of Good Estimates Time (Realistic Deadlines) most software projects are late because the time was.
Software Project Management
Unit II Planning and Management of software Projects.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
THE FAMU-CIS ALUMNI SYSTEM
Software Project Management
Chapter-7 ESTIMATION FOR SOFTWARE PROJECTS
Chapter 33 Estimation for Software Projects
For University Use Only
Estimation for Software Projects
Software Engineering (CSI 321)
Software Project Sizing and Cost Estimation
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Estimation
REKAYASA PERANGKAT LUNAK
Constructive Cost Model
Software Development & Project Management
Chapter 5: Software effort estimation- part 2
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,
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Software Engineering: A Practitioner’s Approach Chapter 23 Estimation Software Engineering: A Practitioner’s Approach 6th Edition Roger S. Pressman

Software Project Estimation (1) S/W is the most expensive element of virtually all computer based systems S/W cost and effort estimation will never be an exact science Too many variables Human Technical Environmental Political

Software Project Estimation (2) Options for estimation Delay estimation until late in the project Attractive, but not practical Base estimates on similar projects that have already been completed Unfortunately, past experience has not always been a good indicator of future results Use relatively simple decomposition techniques to generate project cost and effort estimates “Divide and conquer” approach Use one or more empirical models for software cost and effort estimation Can be used as a cross-check for the previous option and vice versa

Decomposition Techniques Two different points of view for the decomposition approach Decomposition of the problem Decomposition of the process But first, the project planner must Understand the scope of the s/w to be built Generate an estimate of its “size”

Software Sizing Sizing represents the project planner’s first major challenge Size refers to a quantifiable outcome of the s/w project (e.g. LOC and/or FP) Four different approaches to the sizing problem [PUT92] “Fuzzy Logic” sizing Function point sizing Standard component sizing Change sizing

An Example of LOC-Based Estimation (1) Function Estimated LOC User interface and control facilities (UICF) Two-dimensional geometric analysis (2DGA) Three-dimensional geometric analysis (3DGA) Database management (DBM) Computer graphics display facilities (CGDF) Peripheral control function (PCF) Design analysis modules (DAM) 2,300 5,300 6,800 3,350 4,950 2,100 8,400 Estimated lines of code 33,200

An Example of LOC-Based Estimation (2) Estimated lines of code = W = 33,200 Let, Average productivity = 620 LOC/pm = X Labor rate = $8,000 per month = Y So, Cost per line of code = Z = Y/X = $13 (approx.) Total estimated project cost = W*Z = $431,000 (approx.) Estimated effort = W/X = 54 person-months (approx)

An Example of FP-Based Estimation (1) Information Domain Value Count Weighting factor Simple Average Complex External Inputs (EIS) 3 X 4 6 = 9 External Outputs (EOs) 2 5 7 8 External Inquiries (EQs) Internal Logical Files (ILFs) 1 10 15 External Interface Files (EIFs) 20 Count Total 50 Figure 15.4: Computing function points

An Example of FP-Based Estimation (2)

An Example of FP-Based Estimation (3) Value Adjustment Factors 1.17

An Example of FP-Based Estimation (4) Now, FPestimated = count-total  [0.65 + 0.01   (Fi)] Fi (i = 1 to 14 are value adjustment factors) So, FPestimated = W = 320  [0.65 + 0.01  52] = 375 (approx.) Let, Average Productivity = X = 6.5 FP/pm Labor rate = Y = $8,000 per month Cost per FP = Z = Y/X = $1,230 (approx.) Total estimated project cost = W*Z = $461,000 (approx.) Estimated effort = W/X = 58 person-months (approx)

Empirical Estimation Models Uses empirically derived formulas to predict effort as a function of LOC or FP The empirical data are derived from a limited sample of projects So, no estimation model is appropriate for all classes of s/w and in all development environments The results obtained from such models must be used judiciously An estimation model should be calibrated to reflect local conditions

The Structure of Estimation Models (1) Derived using regression analysis on data collected from past s/w projects Overall structure, E = A + B  (ev)c Here, A, B, and C are empirically derived constants E is effort in person-months ev is the estimation variable (either LOC or FP) Some form of project adjustment component is also used

The Structure of Estimation Models (2) Example of a LOC-oriented estimation model (Bailey-Basili model) E = 5.5 + 0.73  (KLOC)1.16 Example of a FP-oriented estimation model (Kemerer model) E = -37 + 0.96 FP Estimation models must be calibrated for local needs.

The COCOMO II Model (1) COnstructive COst Model A hierarchy of estimation models Addresses the following areas Application composition model Early design stage model Post-architecture stage model Three different sizing options are available Object points Function points Lines of source code

The COCOMO II Model (2) The COCOMO II application composition model uses object points Object point is computed using counts of the number of Screens (at the user interface) Reports Components likely to be required to build the application

Figure 23.6: Complexity weighting for object types The COCOMO II Model (3) Object type Complexity weight Simple Medium Difficult Screen 1 2 3 Report 5 8 3GL component 10 Figure 23.6: Complexity weighting for object types

Figure 23.7: Productivity rate for object points The COCOMO II Model (4) Developer’s experience/capability Very low Low Nominal High Very High Environment maturity/capability PROD 4 7 13 25 50 Figure 23.7: Productivity rate for object points

The COCOMO II Model (5) NOP = (object points)  [(100-%reuse)/100] NOP = New Object Points Object Points = Weighted Total %reuse = Percent of reuse Estimated effort = NOP/PROD PROD = Productivity Rate PROD = NOP/person-month

The Software Equation [PUT92] (1) It is a multivariate model Has been derived from productivity data collected for over 4000 contemporary s/w projects E = [LOC  B0.333/P]3  (1/t4) Here, E = effort in person-months or person-years t = project duration in months or years B = “special skills factor” P = “productivity parameter”

The Software Equation [PUT92] (2) For small programs (KLOC = 5 to 15) B = 0.16 For programs greater than 70 KLOC B = 0.39 P = 2000 for development of real-time embedded s/w P = 10,000 for telecommunication and systems s/w P = 28,000 for business systems applications

The Software Equation [PUT92] (3) Simplified formulas tmin = 8.14 (LOC/P)0.43 in months for tmin > 6 months tmin = minimum development time E = 180 Bt3 in person-months for E  20 person-months Here t is represented in years

The Make/Buy Decision S/W acquisition options s/w may be purchased (or licensed) off the shelf “full-experience” or “partial-experience” s/w components may be acquired and then modified and integrated to meet specific needs s/w may be custom built by an outside contractor to meet the purchaser’s specifications

Creating a Decision Tree

Computing Expected Cost (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost = 0.30 ($380K) + 0.70 ($450K) build = $429 K similarly, expected cost = $382K reuse expected cost = $267K buy expected cost = $410K contr

Outsourcing S/W engineering activities are contracted to a third party who does the work at lower cost and, hopefully, higher quality S/W work conducted within a company is reduced to a contract management activity The decision to outsource can be either strategic or tactical Has both merits and demerits

Chapter 23 23.5, 23.6, 23.6.1, 23.6.3, 23.6.4 23.7 23.10 Exercises- 23.4, 23.5, 23.7