Question-Related to COCOMO model – 4

Using the Basic COCOMO 81 model ‘see the tables and example below’, calculate the effort required – ‘in person-months’, the overall development time, and the number of personnel required for the project described below.

  1. Effort = a (KLOC)b. person month
  2. Development Time = c (Effort)d months
  3. Number of People = Effort / Development Time   persons
Software Product Typeabcd
Organic2.41.052.50.38

Assume that the size of an organic-type software product has been estimated to be 32,000 lines of source code. Determine the effort required to develop the software Product, its duration, and the number of personnel.

Solution:

We know that

Effort = a (KLOC)b. person month

Development Time = c (Effort)d months

Number of People = Effort / Development Time   persons

Given that, estimated Lines of Code = 32,000 = 32 KLOC

Software Product Type / Modes of Development: Organic

Effort = a (KLOC)b person month

2.5 (32) 1.05 person month

95.13 person month

= 95 person month

Development Time = c (Effort) d Months

2.5 (95) 0.38 Months

14.1 Months

= 14 Months

Number of People = Effort / Development Time   persons

95 / 14 persons

11.65 persons

= 6.78 persons

= 7 persons

Question-Related to COCOMO model – 3

A company needs to develop a strategy for software product development for which it has a choice of two programming languages L1 and L2. The number of lines of code (LOC) developed using L2 is estimated to be twice the LOC developed with L1. The product will have to be maintained for five years. Various parameters for the company are given in the table below.

ParameterLanguage L1Language L2
Man years needed for developmentLOC / 10000LOC / 10000
Development Cost per yearRs. 10,00,0007,50,000
Maintenance Time5 Years5 Years
Cost of maintenance per yearRs. 1,00,000Rs. 50,000

The total cost of the project includes the cost of development and maintenance. What is the LOC for L1 for which the cost of the project using L1 is equal to the cost of the project using L2?

COCOMO MODEL

Solution:

Let’s Suppose LOC for the L1 = X

Given that: The number of lines of code (LOC) developed using L2 is estimated to be twice the LOC developed with L1.

Then LOC for the L2 = 2X

We know that:

The total cost of the project includes the cost of development and maintenance. And the LOC for L1 for which the cost of the project using L1 is equal to the cost of the project using L2.

Development cost of L1 + Maintenance cost of L1  =  Development cost for L2 + Maintenance cost of L2

Development cost of L1 = (X / 10,000) * 1,00,0000

Maintenance cost of L1 = 5 * 1,00,000

Development cost of L2 = (2X / 10,000) * 7,00,000

Maintenance cost of L2 = 5 * 50,000

{(X / 10,000) * 10,00,000 + 5 * 1,00,000 }  =  { (2X / 10,000) * 7,50,000 + 5 * 50,000}

5X  =  2,50,000

X = 5,000

The LOC for L1 for which the cost of the project using L1 is equal to the cost of the project using L2 = 5,000.

Question-Related to COCOMO model – 2

Using the Basic COCOMO 81 model (see the tables and formulae below), calculate the effort required (in person-months), the overall development time, and the number of personnel required for each product described below.

BASIC MODEL EQUATIONS

  1. Effort = a (KLOC)b. person month
  2. Development Time = c (Effort)d months
  3. Number of People = Effort / Development Time   persons
Software Product Typeabcd
Organic2.41.052.50.38
Semi-detached3.01.122.50.35
Embedded3.61.202.50.32

Product 1: A semi-detached mode product delivering 75,000 lines of code.
Product 2: An embedded mode product delivering 75,000 lines of code.
Product 3: An organic mode product delivering 75,000 lines of code.

Briefly comment on your estimations for the above products.

COCOMO MODEL

Solution:

We know that

Effort = a (KLOC)b. person month

Development Time = c (Effort)d months

Number of People = Effort / Development Time   persons

Given that, estimated Lines of Code = 75,000 = 75 KLOC

Product 1: Semi-detached Mode of Development

Effort = a (KLOC)b person month

3 (75) 1.12 person month

377.73 person month

378 person month

Development Time = c (Effort) d Months

2.5 (378) 0.35 Months

19.9 Months

20 Months

Number of People = Effort / Development Time   persons

378 / 20 persons

18.9 persons

19 persons

Product 2Embedded Mode of Development

Effort = a (KLOC)b person month

3.6 (75) 1.2 person month

640.288 person month

640 person month

Development Time = c (Effort) d Months

2.5 (640) 0.32 Months

19.7 Months

20 Months

Number of People = Effort / Development Time   persons

640 / 20 persons

32 persons

Product 3Organic Mode of Development

Effort = a (KLOC)b person month

2.5 (75) 1.05 person month

232.67 person month

233 person month

Development Time = c (Effort) d Months

2.5 (233) 0.38 Months

19.8 Months

20 Months

Number of People = Effort / Development Time   persons

233 / 20 persons

11.65 persons

12 persons

Question-Related to COCOMO model – 1

Suppose that a project was estimated to be 400 KLOC. Calculate the effort & time for each of the 3 modes of development.

Software Product Typeabcd
Organic2.41.052.50.38
Semi-detached3.01.122.50.35
Embedded3.61.202.50.32
COCOMO MODEL

Solution:

As we know the 3 modes of development are

  1. Organic
  2. Semi-detached
  3. Embedded

Also, we know that

Effort = a (KLOC)b person month

Time = c (Effort)d Months

Here, we are given KLOC = 400

Organic:

Effort = a (KLOC)b person month

2.4 (400)1.05 person month

1295 person month

Time = c (Effort) d Months

2.5 (1295) 0.38 Months

38 Months

Semi-detached:

Effort = a (KLOC)b person month

3 (400)1.12 person month

2462 person month

Time = c (Effort) d Months

2.5 (2462) 0.35 Months

38.4 Months

Embedded

Effort = a (KLOC)b person month

3.6 (400)1.2 person month

4772 person month

Time = c (Effort) d Months

2.5 (4772) 0.32 Months

38 Months

Different project Modes/Types used in the Basic COCOMO 81

Basic COCOMO model: It estimates the software roughly and quickly. It is mostly useful for small medium-sized software. There are three modes of development.

  1. Organic
  2. Semi Detached
  3. Embedded

We used these three different modes of development to calculate the project effort, development time, average staff size, and productivity according to different criteria which are shown below.

 ORGANICSEMI DETACHEDEMBEDDED
Size2 50 KLOC50 300 KLOC300 & Above KLOC
Team SizeSmall SizeMedium SizeLarge Size
Developer ExperienceExperienced Developers NeededAverage Experienced PeopleVery Little Previous experience
EnvironmentFamiliar EnvironmentLess FamiliarSignificant environment changes (Almost new environment)
InnovationLittleMediumMajor
DeadlineNot TightMediumTight
ExamplePayroll SystemUtility Systems, DBMSAir Traffic monitoring, ATM

Features of the COCOMO Models

COCOMO MODEL
  • An empirical model based on project experience.
  • Well-documented, independent model which is not tied to a specific software vendor.
  • Long history from initial version published in 1981 (COCOMO-81) through various instantiations to COCOMO 2
  • COCOMO 2 takes incorporates a range of sub-models that produce increasingly detailed software estimates such as the early design model, reuse model, etc

COCOMO MODEL

As software engineers, we have to face major questions from clients, management, and others. i.e. what is the time and Cost?

Estimating the cost of the project is one of the most challenging jobs for the Software Engineer. One of the best ways to calculate the cost of the project is COCOMO. COCOMO stands for the Constructive Cost Model. It is a Constructive Cost Model which is based on LOC (Lines of Code) the project estimation is done based on the total lines of codes required to develop the system. i.e. Size of the system defines the cost of the project.

Co = Constructive

Co = Cost

Mo= Model

COCOMO = Constructive Cost Model

COCOMO was first developed by Barry W. Boehm in 1981 as a model that is used to estimate the effort, cost, development time, average staff size, productivity, etc.

It is a hierarchy of software cost estimation models. It consists of three hierarchies of increasingly detailed and accurate forms.

  1. Basic COCOMO model
  2. Intermediate COCOMO model
  3. Detailed COCOMO model

Basic COCOMO model: It estimates the software roughly and quickly. It is mostly useful for small-medium-sized software. There are three modes of development.

  1. Organic
  2. Semi Detached
  3. Embedded

We used these three different modes of development to calculate the project effort, development time, average staff size, and productivity according to different criteria which are shown below.

 ORGANICSEMI DETACHEDEMBEDDED
Size2 50 KLOC50 300 KLOC300 & Above KLOC
Team SizeSmall SizeMedium SizeLarge Size
Developer ExperienceExperienced Developers NeededAverage Experienced PeopleVery Little Previous experience
EnvironmentFamiliar EnvironmentLess FamiliarSignificant environment changes (Almost new environment)
InnovationLittleMediumMajor
DeadlineNot TightMediumTight
ExamplePayroll SystemUtility Systems, DBMSAir Traffic monitoring, ATM

BASIC MODEL EQUATIONS

  1. Effort = a (KLOC)b person month
  2. Development Time = c (Effort)d months
  3. Average Staff Size = Effort / Development Time   persons
  4. Productivity = KLOC / Effort    KLOC/ Person-Month
Software Product Typeabcd
Organic2.41.052.50.38
Semi-detached3.01.122.50.35
Embedded3.61.202.50.32

Different between Verification & Validation

Verification & Validation

Verification refers to the set of tasks that ensure that software correctly implements a specific function.

Validation refers to a different set of tasks that ensure that the software that has been built is traceable to customer requirements.

Software Testing

What are the main objectives of Software Testing?

  • Finding Errors / Bugs in Software
  • Requirement Verification
  • Performance
  • An Indication of quality

Functional Points Calculation 1

Given the following values, compute F.P when all complexity adjustment factors and weighting factors are average.

  • User I/P = 50
  • User O/P = 40
  • User Inquires = 35
  • User Files = 6
  • External Interfaces = 4
Functional UnitWighting Factors
LowAverageHigh
External Inputs (EI)346
External Outputs (EO)457
External Enquired (EQ)346
Internal Logic Files (ILF) 71015
External Interface Files (EIF)5710
COCOMO MODEL

Solution:

Here, we are given functional units as:

  • User I/P = 50
  • User O/P = 40
  • User Inquires = 35
  • User Files = 6
  • External Interfaces = 4

Also, we are given,

Complexity Adjustment Factors are average.

0 – No Influences

1 – Incidental

2 – Moderate

3 – Average

4 – Significant

5 – Essential

And Weighting Factors are also average.

AVERAGE complexity weights = {4, 5, 4, 10, 7} for the 5 complexities respectively.

Now,

We know that,

Final F.P = UFP X CAF

Where UFP (Unadjusted Functional Points)

Unadjusted Functional Points

And CAF (Complexity Adjustment Factor)

Complexity Adjustment Factor
UFP Calculation
Unadjusted Function Points

UFP = 50 x 4 + 40 x 5 + 35 x 4 + 6 x 10 + 4 x 7

UFP = 200 + 200 + 140 + 60 + 28

UFP = 628

CAF = 0.65 + 0.01 (14 x 3)

CAF = 1.07

F.P = UFP x CAF

F.P = 628 x 1.07

F.P = 671.96

Therefore Function Points = 671.96