Software Cost Estimation - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Software Cost Estimation

Description:

K is the total lifecycle effort in programmer-years. C is the technology constant ... 45.26 programmer-years. The daily productivity of the programmers can be ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 42
Provided by: pagesP
Category:

less

Transcript and Presenter's Notes

Title: Software Cost Estimation


1
Software Cost Estimation
2
Cost Estimation
  • Estimating the cost of software development,
    usually in terms of programmer-months.
  • The development time, staffing levels, and
    productivity may also be estimated

3
Purpose and Use of Estimations
  • feasibility
  • pricing
  • planning
  • staffing
  • managing

4
Estimate
5
Estimate versus actual
6
Problems with software development estimations
  • Programmer variability
  • Product complexity
  • Variability of goal

7
1) variability of programmer's ability
  • 161 in programming time

8
2) product complexity
  • application programs
  • (separate, organic)
  • data-processing, scientific
  • utility programs
  • (semi-detached)
  • compilers, linkers, analyzers
  • system programs
  • (embedded)
  • o.s., dbms, real-time

9
3) variability of goals
  • goal size man-hours
  • min size 33 30
  • min memory 52 74
  • code clarity 90 40
  • execute fast 100 50
  • min effort 126 28
  • clear output 166 30

10
Traditional approaches
  • Putnam, Boehm, et al.
  • based on size (lines of code)
  • formulas for estimating cost

11
Size Estimation
  • a) estimate modules
  • min minimum size
  • best best guess of size
  • max maximum size
  • b) estimate expected size
  • expected size
  • E(i) (min 4best max) / 6
  • total size S E1 E2 ... En

12
Size Estimation continued
  • c) estimate standard deviation
  • s.d. of E(i) (max - min) / 6
  • s.d. of S (sd2 sd2 ... sd2)1/2

13
An Example of Size Estimation
  • Mod Min Best Max E sd
  • 1 20 30 50 31.6 5
  • 2 30 80 200 91.6 28.3
  • 3 100 150 200 150 16.6
  • 4 80 110 180 116.6 16.6
  • 5 40 70 90 68.3
    8.3
  • 6 30 90 110 83.3 13.3
  • 7 60 80 100 80
    6.6
  • S 31.691.6 150116.668.383.380 621.4
  • sd(25800.9275.6275.668.9176.943.6).5
  • (1666.5).5 40.8

14
Programmer Productivity
  • Application Programs
  • PM 2.4 (KDSI)1.05
  • Utility Programs
  • PM 3.0 (KDSI)1.12
  • Systems Programs
  • PM 3.6 (KDSI)1.20

15
Example for productivity
  • Size Appl Util Sys
  • 5K 13.0 18.2 24.8
  • 10K 26.9 39.5 57.1
  • 15K 41.2 62.2 92.8
  • 20K 55.8 86.0 131.1
  • 25K 70.5 110.4 171.3
  • 30K 85.3 135.3 213.2
  • 35K 100.3 160.8 256.6
  • 40K 115.4 186.8 301.1
  • 45K 130.6 213.2 346.9
  • 50K 145.9 239.9 393.6

16
Development Time (Months)
  • Application Programs
  • TDEV 2.5 (PM) 0.38
  • Utility Programs
  • TDEV 2.5 (PM) 0.35
  • Systems Programs
  • TDEV 2.5 (PM) 0.32

17
Example for development time
  • size appl util sys
  • 5K 6.63 6.90 6.99
  • 10K 8.74 9.06 9.12
  • 15K 10.27 10.62 10.66
  • 20K 11.52 11.88 11.90
  • 25K 12.60 12.97 12.96
  • 30K 13.55 13.93 13.91
  • 35K 14.40 14.80 14.75
  • 40K 15.19 15.59 15.53
  • 45K 15.92 16.33 16.25
  • 50K 16.61 17.02 16.92

18
Average Staffing Levels
  • Calculate by dividing PM by TDEV

19
Example for staffing levels
  • size appl util sys
  • 5K 1.96 2.63 3.55
  • 10K 3.08 4.37 6.26
  • 15K 4.01 5.87 8.71
  • 20K 4.84 7.23 11.02
  • 25K 5.60 8.51 13.21
  • 30K 6.30 9.72 15.33
  • 35K 6.97 10.87 17.39
  • 40K 7.60 11.98 19.39
  • 45K 8.20 13.05 21.35
  • 50K 8.79 14.09 23.27

20
COCOMO Effort Multipliers
  • product attributes
  • required reliability 0.75 - 1.40
  • data-base size 0.94 -
    1.16
  • product complexity 0.70 - 1.65
  • computer attributes
  • execution time constraint 1.00 - 1.66
  • main storage constraint 1.00 - 1.56
  • virtual machine volatility 0.87 - 1.30
  • computer turnaround time 0.87 - 1.15

21
Mythical Man-Month
  • Phrase defined by Frederick Brooks
  • People and time are not always interchangeable

22
Programmers vs Time
23
Putnam's Cost Estimation Model
  • Macro-estimation model
  • Relationship between cost and the amount of time
    available for the development effort.
  • The model supports the 'mythical man-month' idea

24
Putnam's Model
  • Based on Lines of Code
  • Rayleigh Curve
  • Shows Instantaneous Programmer-power vs Time
  • Empirically verified on other projects

25
Rayleigh Curve
  • The rayleigh curve is a product of at times e
    raised to the -bt squared
  • The at dominates at first giving a steep rise and
    then the negative power of e lowers the value
    slowly

26
Putnams Model
  • y instantaneous programmer-power
  • K total lifecycle cost ( in programmer-years)
  • t time from beginning of project
  • td delivery time
  • e 2.71828...

27
Software Equation
  • There must be a relationship between the
    lifecycle development effort, the development
    time and the size of the project.
  • This relationship is given in the Software
    Equation

28
Software Equation
  • Ss CK1/3 td4/3
  • where
  • Ss is the estimated size of the software system
  • K is the total lifecycle effort in
    programmer-years
  • C is the technology constant
  • td is the development time (in years)

29
Example 1 (part 1)
  • Ss 100 K and ymax 40 people
  • Using the programmerpower as a constraint, the
    shortest development time can be estimated.
  • The maximum programmerpower occurs at the
    delivery time (i.e. t td).
  • This implies that ymax (K/td)e-1/2
  • This gives K/td 65.95.

30
Example 1 (part 2)
  • Assuming that the technology constant is
    approximately 10000 , we can substitute into the
    Software Equation.
  • By solving for K and substituting, we get td
    1.722 years.
  • By substituting the value for td, we get K
    113.57 programmer-years.

31
Example 1 (part 3)
  • The development cost is 40 of K or 45.26
    programmer-years.
  • The daily productivity of the programmers can be
    calculated. Assuming that there are 250 workdays
    per year, the programmer productivity per day is
    equal to S/(.4K 250) lines, or 8.837 lines/day.

32
Distribution of effort
  • effort
    schedule
  • size (kdsi) 32 128 32
    128
  • plan/req 6 6 12
    13
  • pre design 16 16 19
    19
  • detail dsgn 24 23
  • code/unit 38 36 55
    51
  • sys test 22 25 26
    30

33
OTHER ESTIMATES
  • Walston-Felix
  • E 5.2 L0.91
  • E man-months
  • L thousand lines of code
  • Bailey-Basili (1981)
  • E 3.4 .72 DL1.17 /- 25
  • DL thousand lines of developed code plus
    comments

34
Function Points
  • Attempting to measure functionality
  • Widely used in business applications

35
Program Features
  • outputs
  • inquiries
  • inputs
  • files
  • interfaces

36
Weights for features
  • simple average complex
  • outputs 4 5 7
  • inquiries 4 5 7
  • inputs 3 4 6
  • files 7 10
    15
  • interfaces 5 7 10

37
Questions
  • Does the system require reliable backup and
    recovery?
  • Are data communications required?
  • Are there distributed processing functions?
  • Is performance critical?
  • Will the system run in an existing, heavily
    utilized operational environment?

38
Questions
  • Does the system require on-line data entry?
  • Does the on-line data entry require the input
    transaction to be built over multiple screens or
    operations?
  • Are the master files updated on-line?
  • Are the inputs, outputs, files, or inquiries
    complex?
  • Is the internal processing complex?

39
Questions
  • Is the code designed to be reusable?
  • Are conversion and installation included in the
    design?
  • Is the system designed for multiple installations
    in different organizations?
  • Is the application designed to facilitate change
    and ease of use by the user?

40
Adjusted Function Points
  • The following equation is used to produce the
    final function point value
  • FP FP_total K1 K2 SUM(Fi)
  • Where
  • FP_total is the sum of all function point entries
    from the above table.
  • K1, K2, and weighting factors are determined
    empirically.
  • Fi are the sum of complexity adjustment values
    based on responses to the following questions.

41
Adjustment Weights
Write a Comment
User Comments (0)
About PowerShow.com