0% found this document useful (0 votes)
26 views

Se 7th

Uploaded by

swayamvhatkar6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Se 7th

Uploaded by

swayamvhatkar6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Terna Engineering College

Computer Engineering Department


Program: Sem V

Course: Software Engineering

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:

Project Estimation Techniques


A software project is not just about writing a few hundred lines of source code to achieve a
particular objective. The scope of a software project is comparatively quite large, and such
a project could take several years to complete. However, the phrase "quite large" could only
give some (possibly vague) qualitative information. As in any other science and engineering
discipline, one would be interested to measure how complex a project is. One of the major
activities of the project planning phase, therefore, is to estimate various project parameters
in order to take proper decisions. Some important project parameters that are estimated
include:
Project size: What would be the size of the code written say, in number of lines, files,
modules?

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: COCOMO (Constructive Cost Model)

 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.

 Organic: A development project is said to be of organic type, if The project deals


with developing a well understood application, The development team is small,
The team members have prior experience in working with similar types of
projects

 Semi-detached: A development project can be categorized as semidetached


type, if The team consists of some experienced as well as inexperienced staff,
Team members may have some experience on the type of system to be
developed
 Embedded: Embedded type of development project are those, which Aims to
develop a software strongly related to machine hardware Team size is usually
large.

 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:

 Intermediate COCOMO Model:The basic COCOMO model considers that effort


and development time depends only on the size of the software. However, in real
life there are many other project parameters that influence the development
process. The intermediate COCOMO take those other factors into consideration
by defining a set of 15 cost drivers (multipliers) as shown in the table below [i].
Thus, any project that makes use of modern programming practices would have
lower estimates in terms of effort and cost. Each of the 15 such attributes can be
rated on a six-point scale ranging from "very low" to "extra high" in their relative
order of importance. Each attribute has an effort multiplier fixed as per the
rating. The product of effort multipliers of all the 15 attributes gives the Effort
Adjustment Factor (EAF).

Cost drivers for Intermediate COCOMO (Source:


http://en.wikipedia.org/wiki/COCOMO)
Cost Drivers Ratings

Very Low Low Nominal High Very High Extra


High
Product attributes
Required software reliability 0.75 0.88 1.00 1.15 1.40
Size of application database 0.94 1.00 1.08 1.16
Complexity of the product 0.70 0.85 1.00 1.15 1.30 1.65
Hardware attributes
Run-time performance constraints 1.00 1.11 1.30 1.66
Memory constraints 1.00 1.06 1.21 1.56
Volatility of the virtual machine environment 0.87 1.00 1.15
1.30
Required turnabout time 0.87 1.00 1.07 1.15
Personnel attributes
Analyst 1.46 1.19 1.00 0.86 0.71
capability
Application 1.29 1.13 1.00 0.91 0.82
s
experience
Software 1.42 1.17 1.00 0.86 0.70
engineer
capability
Virtual 1.21 1.10 1.00 0.90
machine
experience
Programmi 1.14 1.07 1.00 0.95
ng language
experience

Project attributes

Application 1.24 1.10 1.00 0.91 0.82


of software
engineering
methods

Use of 1.24 1.10 1.00 0.91 0.83


software
tools
Required 1.23 1.08 1.00 1.04 1.10
developme
nt schedule

EAF is used to refine the estimates obtained by basic COCOMO as follows:

Effort|corrected = Effort * EAF

Tdev|corrected = 2.5 * (Effort| corrected) c

 Complete COCOMO Model (Advanced COCOMO): Both the basic and


intermediate COCOMO models consider a software to be a single homogeneous
entity -- an assumption, which is rarely true. In fact, many real life applications
are made up of several smaller sub-systems. (One might not even develop all the
sub-systems -- just use the available services). The complete COCOMO model
takes these factors into account to provide a far more accurate estimate of
project metrics.

To illustrate this, consider a very popular distributed application: the ticket


booking system of the Indian Railways. There are computerized ticket counters
in most of the railway stations of our country. Tickets can be booked / cancelled
from any such counter. Reservations for future tickets, cancellation of reserved
tickets could also be performed. On a high level, the ticket booking system has
three main components:

Database, Graphical User Interface (GUI), Networking facilities

Among these, development of the GUI is considered as an organic project type;


the database module could be considered as semi-detached software. The
networking module can be considered as embedded software. To obtain a
realistic cost, one should estimate the costs for each component separately, and
then add it up.

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)

Roll No. 50 Name: Swayam Kishor Vhatkar

Class : TE Comps A Batch : A3


Date of Experiment: Date of Submission:
Grade :

B.1 Conclusion:

Question of Curiosity
(To be answered by student based on the practical performed and learning/observations)

1) According to the COCOMO model, a project can be categorized into

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)

b) Cost & schedules for different phases / components (consider semidetached


mode)
=> a) Total Size (KLOC) = 4 + 2 + 1 + 2 + 3 = 12 KLOC

Now, use the COCOMO parameters for the organic mode:

● a = 2.4

● b = 1.05

● c = 2.5

● d = 0.38

Calculate the overall effort (Effort) and development time (D):

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 *

4.74 ≈ 11.85 months

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.

b) In the semi-detached mode, the COCOMO parameters are as follows:

● a = 3.0

● b = 1.12

● c = 2.5

● d = 0.35

We have three components: Component A, Component B, and Component C, with the


following sizes:
● Component A: 4 KLOC

● Component B: 3 KLOC

● Component C: 5 KLOC

Now, let's calculate the effort, development time, and cost for each component:

For Component A (4 KLOC): Effort (E) = 3.0 * (4)^1.12 ≈ 10.02 person-months


Development Time (D) = 2.5 * (10.02)^0.35 ≈ 7.47 months Cost (Cost) = Effort * Cost per
person-month =

10.02 * $25,000 ≈ $250,500

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 =

8.16 * $25,000 ≈ $204,000

For Component C (5 KLOC): Effort (E) = 3.0 * (5)^1.12 ≈ 14.31 person-months


Development Time (D) = 2.5 * (14.31)^0.35 ≈ 9.71 months Cost (Cost) = Effort * Cost per
person-month =

14.31 * $25,000 ≈ $357,750

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 +

6.08 months + 9.71 months ≈ 23.26 months

So, the total cost for different phases/components in the semi-detached mode is
approximately

$812,250, and the total schedule estimate is approximately 23.26 months.

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.

You might also like