All Exams Test series for 1 year @ ₹349 only
Question

A simple stand - alone software utility is to be developed in ’C’ programming by a team of software experts for a computer running Linux and the overall size of this software is estimated to be 20,000 lines of code. Considering (a, b) = (2.4, 1.05) as multiplicative and exponention factor for the basic COCOMO effort estimation equation and (c, d)=(2.5, 0.38) as multiplicative and exponention factor for the basic COCOMO development time estimation equation, approximately how long does the software project take to complete ?  

The correct answer is

11.52 months

Estimating Software Project Development Time with Basic COCOMO

This problem asks us to estimate the development time for a simple software utility using the Basic COCOMO (Constructive Cost Model) estimation model. COCOMO is a widely used model for estimating the effort, cost, and schedule for software projects.

The Basic COCOMO model provides equations to estimate Effort (in Person-Months) and Development Time (in Months) based on the estimated size of the software, typically measured in Kilo Lines of Code (KLOC).

Understanding the Basic COCOMO Formulas

The basic COCOMO formulas are:

  • Effort (E) = $a \times (\text{KLOC})^b$ Person-Months
  • Development Time (D) = $c \times (\text{Effort})^d$ Months

Where:

  • E is the estimated effort in person-months.
  • D is the estimated development time in months.
  • KLOC is the size of the software in thousands of lines of code.
  • a, b, c, and d are coefficients that depend on the project type (mode).

Applying COCOMO to the Software Project

First, let's identify the given information from the problem:

  • Software Size = 20,000 lines of code
  • Multiplicative and exponentiation factors for Effort (a, b) = (2.4, 1.05)
  • Multiplicative and exponentiation factors for Development Time (c, d) = (2.5, 0.38)

Step 1: Convert lines of code to KLOC.

The size is given as 20,000 lines of code. We need to convert this to KLOC.

KLOC = $\frac{\text{Lines of Code}}{1000}$

KLOC = $\frac{20,000}{1000} = 20$

So, the size of the software is 20 KLOC.

Step 2: Calculate the estimated Effort using the COCOMO effort equation.

Using the formula E = $a \times (\text{KLOC})^b$ with $a=2.4$, $b=1.05$, and KLOC $= 20$:

Effort = $2.4 \times (20)^{1.05}$

Let's calculate $(20)^{1.05}$. Using a calculator, $20^{1.05} \approx 23.23

Effort $\approx 2.4 \times 23.23$

Effort $\approx 55.752$ Person-Months

Step 3: Calculate the estimated Development Time using the COCOMO development time equation.

Using the formula D = $c \times (\text{Effort})^d$ with $c=2.5$, $d=0.38$, and Effort $\approx 55.752$:

Development Time = $2.5 \times (55.752)^{0.38}

Let's calculate $(55.752)^{0.38}$. Using a calculator, $55.752^{0.38} \approx 4.609

Development Time $\approx 2.5 \times 4.609$

Development Time $\approx 11.5225$ Months

Conclusion on Software Development Time

Based on the Basic COCOMO model with the given parameters and estimated size of 20 KLOC, the approximate software project development time is 11.5225 months.

Comparing this result with the given options:

  • 10.52 months
  • 11.52 months
  • 12.52 months
  • 14.52 months

Our calculated development time of approximately 11.52 months closely matches one of the options.

Revision Table: COCOMO Estimation

COCOMO Factor Value Description
KLOC 20 Software size in thousands of lines of code
a 2.4 Effort multiplicative factor (Basic COCOMO)
b 1.05 Effort exponentiation factor (Basic COCOMO)
c 2.5 Development Time multiplicative factor (Basic COCOMO)
d 0.38 Development Time exponentiation factor (Basic COCOMO)
Effort (E) $\approx 55.75$ Person-Months Total effort required for the project
Development Time (D) $\approx 11.52$ Months Calendar time required to complete the project

Additional Information: COCOMO Model Modes

The basic COCOMO model uses different sets of coefficients (a, b, c, d) depending on the complexity or "mode" of the software project. The three main modes in Basic COCOMO are:

  • Organic Mode: Projects that are relatively small, simple, and familiar. The team is experienced with the application area and the development environment. Development is carried out in a stable environment.
  • Semi-Detached Mode: Projects that are intermediate in size and complexity. The team may have mixed experience, and the environment may have some constraints. This mode falls between Organic and Embedded modes.
  • Embedded Mode: Projects that are complex, innovative, and require stringent constraints (hardware, software, operational). The team may have less experience with the specific environment or application.

The coefficients (2.4, 1.05) for effort and (2.5, 0.38) for development time provided in this problem correspond to the Organic Mode in the standard basic COCOMO model. This fits well with the description of developing a "simple stand-alone software utility" by "software experts".

COCOMO also has Intermediate and Detailed versions that include cost drivers, which are factors that influence effort and schedule, such as product attributes, hardware attributes, personnel attributes, and project attributes.

Was this answer helpful?

Important Questions from Software Development Models

  1. The process of compiling an intermediate language program into actual machine language on the target platform before execution is known as _______.

    I. Just-in-time compiling

    II. first-in-time compiling

  2. The model in which the requirements are implemented by its category is

  3. RAD software process model stands for

  4. Arrange the following types of Cohesion from best to worst type.

    (A) Logical Cohesion

    (B) Sequential Cohesion

    (C) Communication Cohesion

    (D) Temporal Cohesion

    (E) Procedural Cohesion

    Choose the correct answer from the options given below:

  5. Which of the following is not one of the principles of agile software development method?

Need Expert Advice?

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App