Se 7th
Se 7th
LAB Manual
PART A
Experiment No.07
A.1 Aim:
Estimation of Project Metrics using COCOMO
A.2 Prerequisite:
1. Preliminary requirements
2. Knowledge about how to estimate cost and time
A.3 Outcome:
After successful completion of this experiment students will be able to
1) Categorize project using COCOMO, and estimate effort and development time
required for a project.
A.4 Theory:
Cost: How much would it cost to develop a software? A software may be just pieces of code,
but one has to pay to the managers, developers, and other project personnel.
Duration: How long would it be before the software is delivered to the clients?
Effort: How much effort from the team members would be required to create the software?
COCOMO was proposed by Boehm. According to him, there could be three categories
of software projects: organic, semidetached, and embedded. The classification is
done considering the characteristics of the software, the development team and
environment. These product classes typically correspond to application, utility and
system programs, respectively. Data processing programs could be considered as
application programs. Compilers, linkers, are examples of utility programs. Operating
systems, real-time system programs are examples of system programs. One could
easily apprehend that it would take much more time and effort to develop an OS than
an attendance management system.
COCOMO models are defined for 3 classes of project- organic, semidetached, and
embedded.
Boehm suggested that estimation of project parameters should be done through three
stages: Basic COCOMO, Intermediate COCOMO, and Complete COCOMO.
Basic COCOMO Model: The basic COCOMO model helps to obtain a rough
estimate of the project parameters. It estimates effort and time required for
development in the following way:
Project attributes
Advantages of COCOMO:
COCOMO is a simple model, and should help one to understand the concept of
project metrics estimation.
Drawbacks of COCOMO:
COCOMO uses KLOC, which is not a proper measure of a program's size. Indeed,
estimating the size of software is a difficult task, and any slight miscalculation
could cause a large deviation in subsequent project estimates. Moreover,
COCOMO was proposed in 1981 keeping the waterfall model of project life cycle
in mind [2]. It fails to address other popular approaches like prototype,
incremental, spiral, agile models. Moreover, in present day a software project
may not necessarily consist of coding of every bit of functionality. Rather,
existing software components are often used and glued together towards the
development of a new software. COCOMO is not suitable in such cases.
PART B
(PART B : TO BE COMPLETED BY STUDENTS)
(Students must submit the soft copy as per following segments within two hours of the
practical. The soft copy must be uploaded on the Blackboard or emailed to the concerned lab in
charge faculties at the end of the practical in case the there is no Black board access available)
B.1 Conclusion:
Question of Curiosity
(To be answered by student based on the practical performed and learning/observations)
o 3 types
o 5 types
o 5 types
o no such categorization
Answer:- A) 3 Types
2) In Intermediate COCOMO model, Effort Adjustment Factor (EAF) is derived
from the effort multipliers by
o Adding them
o Multiplying them
o Taking their weighted average
o Considering their maximum
Answer:- B) Multiplying them
3. Project metrics are estimated during which phase?
o Feasibility study
o Planning
o Design
o Development
Answer:- B)Planning
4. Suppose you are developing a software product in the organic mode. You have estimated
the size of the product to be 70695 lines of code, compute effort and development time.
Assuming cost of 25,000 person month calculate total cost of product.
(constant aa = 2.4. bb = 1.05, bc = 2.5, bd = 0.38)
=> The total cost of the product is approximately 4,241,700.
5. Given: modules with sizes: 4k, 2k, 1k, 2k, 3k
find: a) Overall cost & schedule estimates (consider organic Mode)
● a = 2.4
● b = 1.05
● c = 2.5
● d = 0.38
Effort (E) = a * (Size)^b = 2.4 * (12)^1.05 Effort (E) ≈ 2.4 * 18.55 ≈ 44.52 person-months
Development Time (D) = c * (Effort)^d = 2.5 * (44.52)^0.38 Development Time (D) ≈ 2.5 *
Total Cost (Cost) = Effort * Cost per person-month = 44.52 * $25,000 Total Cost (Cost) ≈
$1,113,000
So, the overall cost estimate is approximately $1,113,000, and the schedule estimate is
approximately 11.85 months.
● a = 3.0
● b = 1.12
● c = 2.5
● d = 0.35
● Component B: 3 KLOC
● Component C: 5 KLOC
Now, let's calculate the effort, development time, and cost for each component:
For Component B (3 KLOC): Effort (E) = 3.0 * (3)^1.12 ≈ 8.16 person-months Development
Time (D) = 2.5 * (8.16)^0.35 ≈ 6.08 months Cost (Cost) = Effort * Cost per person-month =
Now, calculate the total cost and schedule for different phases/components:
Total Cost for Different Phases/Components = Cost for Component A + Cost for Component
B
+ Cost for Component C Total Schedule for Different Phases/Components = Schedule for
Component A + Schedule for Component B + Schedule for Component C
Total Cost = $250,500 + $204,000 + $357,750 = $812,250 Total Schedule = 7.47 months +
So, the total cost for different phases/components in the semi-detached mode is
approximately
B.2 Conclusion:
The COCOMO model categorizes projects into three types, EAF is derived by
multiplying effort multipliers, and project metrics are estimated during the planning
phase, with cost and schedule estimates varying based on the selected mode.