Software Cost Estimation

Approach I:
Using the COCOMO model

The Basic COCOMO Model is used, and the type of software development mode is the semi-detached mode.

The equations used are listed below.

where   E is the effort applied in person-months,
           D is the development time in chronological months,
           KLOC is the estimated number of delivered lines of code for the project (expressed in thousands).


Table of constants used for calculations

Software Project

ab

bb

cb

db

Organic Mode

2.4

1.05

2.5

0.38

Semi-detached Mode

3.0

1.12

2.5

0.35

Embedded Mode

3.6

1.20

2.5

0.32

 Calculations
The number of lines of code estimated is 2000.

Effort required, E = (3.0)(2)1.12
                        =  6.89  person-months
                        @ 7 person-months  

Development Time, D =  (2.5)(6.89)0.35
                                =  4.9  months


Productivity, P = KLOC / D
                      =  2 / 6.89
                      =  0.29  Klines of code per person-month

 Approach II: Using Function Point Analysis

 Three fundamental equations used to compute function points are: 

 where FP is the Function Points,
 UFP (Unadjusted Function Points) is the count-total,
 TCF is the Technical Complexity Factor,
 DI is the Degree of Influence, and Fi are the Factors of influence.

 To calculate DI, the following factors are rated on a scale of 0 to 5:

0                   1                      2                      3                         4                     5

No              Incidental        Moderate          Average       Significant       Essential 
Influence

S/N

Question

Rating

1

Does the system require reliable backup and recovery?

5

2

Are data communications required?

3

3

Are there distributed processing functions?

0

4

Is performance critical?

3

5

Will the system run in an existing heavily utilized operational environment?

0

6

Does the system require online data entry?

5

7

Does the online data entry require the input transaction to be built over multiple screens or operations?

0

8

Are the master files updated online?

2

9

Are the inputs, outputs, files, or inquires complex?

3

10

Is the internal processing complex?

4

11

Is the code designed to be reusable?

4

12

Are conversion and installation included in the design?

4

13

Is the system designed for multiple installations in different organizations?

5

14

Is the application designed to facilitate change and ease of use by the user?

5

Total (DI)  43 
TCP = 0.65 + 0.01 x DI = 1.08

Computation Table

Measurement Parameter

Weighting Factor

Sub-total

 

Simple

Average

Complex

Count

Value

Count

Value

Count

Value

Number of user inputs

0

3

7

4

0

6

28

Number of user outputs

1

4

0

5

0

7

4

Number of user inquires

1

3

0

4

0

6

3

Number of files

0

7

3

10

0

15

30

Number of external interfaces

0

5

0

7

0

10

0

Count-total (UFP)

 

 

65

Complexity Multiplier (TCF)

1.08

Function Points (FP)

70.2

The total number of function points is 70.2. The value 70.2 signifies the complexity of the project. However, cost estimates such as effort and development time cannot be directly calculated from the function points. These values are obtained by comparison of previously completed projects and their respective efforts and development times.

For example, assume that there is a completed project with 80 function points and effort of 90 person-months. If the current project has 70 function points, by comparison, the effort for this project would be (80/90) ´ 70 = 79.

These function points can also be used to calculate other attributes for cost estimation such as software productivity, quality and others, such as cost. The formulae used are given below.

Productivity = FP / person-months

Quality = defects / FP

Cost = $ / FP

Evaluation of the two approaches

The COCOMO model relies heavily on the team’s level of expertise with the programming language used. Also, it will penalise the implementations with greater lines of code, which achieves the same effect as one with fewer lines of codes. Classification of the project and the type of COCOMO model will indirectly affect the accuracy of the values calculated for the effort, development and productivity. Hence, there is a greater amount of ambiguity.

The Function Points approach does not rely on the factors used in the COCOMO model. It uses the readily countable information of the problem to calculate the points, thus making the estimation more accurate, and decreasing its ambiguity. In addition, this approach allows reusability of measures and helps in object-oriented approach of the software design, which is the approach the group is taking.

However, since the group has not worked on other projects previously, it is not possible to calculate the effort and development time from this approach.

In conclusion, the group will make use of the both the COCOMO Model approach and the Function Points approach as a measure of software cost estimation. This would allow for a compromise between the two methods and giving a more accurate cost estimate of this project.

Directions

Who are We ???  System Specification Project Schedule  Use Case Diagram
Requirements Model Software Design Procedure Design Coupling Analysis
Cohesion Analysis Testing