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 ?
11.52 months
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).
The basic COCOMO formulas are:
Where:
First, let's identify the given information from the problem:
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
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:
Our calculated development time of approximately 11.52 months closely matches one of the options.
| 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 |
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:
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.
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
The model in which the requirements are implemented by its category is
RAD software process model stands for
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:
Which of the following is not one of the principles of agile software development method?