Software engineering
Software engineering
1. Objective (s):
After completing this experiment, student will be able to:
Categorize projects using COCOMO, and estimate effort and development
time required for a project
Estimate the program complexity and effort required to recreate it using
Halstead's metrics
2. 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?
In this experiment we will focus on two methods for estimating project metrics:
COCOMO and Halstead's method.
COCOMO
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:
Effort = a * (KDSI)b PM
Tdev= 2.5 * (Effort)c Months
Person required= Effort/Tdev
where,
KDSI is the estimated size of the software expressed in Kilo Delivered
Source Instructions
a, b, c are constants determined by the category of software project
Effort denotes the total effort required for the software development,
expressed in person months (PMs)
Tdev denotes the estimated time required to develop the software
(expressed in months)
The value of the constants a, b, c are given below:
Software Project a b c
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 http://en.wikipedia.org/wiki/COCOMO
4. Output: