Software Project Cost and Effort Estimation Tools Presented by Jeffrey Menchion

advertisement
Software Project Cost and
Effort Estimation Tools
Presented by Jeffrey Menchion
Overview


Software Cost Estimation is an empirical
process to be applied to find out basically the
effort and development.
Accurate software cost estimated are critical
to both developers and customers.

Underestimating cost


Lead to exceeding budget, underdeveloped functions,
poor quality, failure to complete project on time.
Overestimating cost

Too many resources committed to the project, result in
not winning a contract which could lead to loss of jobs.
Objectives



Survey most widely used software project
cost and effort estimation tools.
Provide comparisons studies between
different tools (similarities and differences).
Use at least 9 tools in the survey.
Metrics







Platform
Downloadable version available
Use (commercial or academic)
Ease of use (download, open, user guide if
provided)
Cost estimation methods (algorithmic or nonalgorithmic)
Software size (lines of code (LOC), function points
(FP), or feature point)
Software Updates (Lifetime or fee applied)
Metrics

Software sizing



Line of Code
Function points
Cost estimation (Models may be classified
into 2 major categories: algorithmic and nonalgorithmic.)


Algorithmic
Non-algorithmic
Software sizing





Line of Code: This this is the number of lines of the
delivered source code of the software, excluding
comments and blank lines.
Although LOC is programming language dependent,
it is the most widely used software size metric.
Most models relate this measurement to the
software cost.
Exact LOC can only be obtained after the project
has been completed.
Estimating the code size of a program before it is
actually built is almost built is almost as hard as
estimating the cost of the program.
Software sizing

A typical method for estimating the code size is to use experts’
judgment together with a technique called PERT.

It involves experts’ judgment of three possible code-sizes: Sl, the
lowest possible size; Sh, the highest possible size; and Sm, the most
likely size.

The estimate code-size S is computed as:
S l  S h  4S m
S
6
Software sizing

Function points: This is a measurement based on
the functionality of the program. The total number
of function points depends on the counts of distinct
(in terms of format or processing logic) types in the
following five classes:
1.
2.
3.
4.
5.
User-input types: data or control user-input types
User-output types: output data types to the user that leaves
the system
Inquiry types: interactive inputs requiring a response
Internal file types: files (logical groups of information) that
are used and shared inside the system
External file types: files that are passed or shared between
the system and other systems
Software sizing

Each type of these types is individually
assigned one of three complexity levels of {1
= simple, 2 = medium, 3 = complex} and
given a weighting value that varies form 3 (for
simple input) to 15 (for complex internal files).
Software sizing

The unadjusted function-point counts (UFC)
is given as:
5
3
UFC   N ijWij
i 1 j 1
where Nij and Wij are respectively the
number and weight of types of class i with
complexity j.
Software sizing

For example, if the raw function-point counts
of a project are 2 simple inputs (Wij = 3), 2
complex outputs (Wij = 7) and 1 complex
internal file (Wij = 15). Then UFC = 2*3 + 2*7
+ 1*15 = 35.
Cost Estimation

Non-algorithmic Method

Analogy costing: This method requires one or
more completed projects that are similar to the
new project and derives the estimation through
reasoning by analogy using the actual costs of
previous projects.
Cost Estimation

Algorithmic Method

The algorithmic methods are based on
mathematical models that produce cost estimate
as a function of a number of variables, which are
considered to be the major cost factors. Any
algorithmic model has the form:
Effort = f(x1, x2, …, xn)
where {x1, x2, …xn} denote the cost factors.
Cost Estimation

Algorithmic methods

Power function models have the general form:
Effort = aXSb
where S is the code-size, and a, b are functions of
the other costs factors.
Cost Estimation Tools


QUEST (QUality ESTimates)
(http://www.projectexperts.com/products/quest.html)

EstimatorPal
(http://www.effortestimator.com/epal.html)

Crystal Ball
(http://www.oracle.com/appserver/businessintelligence/crystalball/index.html )

Goldenseal
(http://www.turtlesoft.com/)

ArchANGEL
(http://dec.bournemouth.ac.uk/ESERG/ANGEL/)
Cost Estimation Tools

RASS Estimate
(http://rasstools.com/default.aspx)

USC COCOMO II
(http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.ht
ml)

Construx Estimate
(http://www.construx.com/Page.aspx?nid=68)

PMPal
(http://www.metricssoftware.com/MSI-PMPal.html)
Cost Estimation Metrics
Use
Cost estimation
Tools
Platform
Downloadable
Version
Commercial
QUEST
Windows
yes
X
X
EstimatorPal
Windows
yes
X
X
Crystal Ball
Windows
yes
X
Goldenseal
Mac OS
Windows
yes
X
ArchANGEL
yes
RASS
Estimate
Windows
yes
USC
COCO
MO II
Windows
yes
Construx
Estimate
Windows
yes
Windows
yes
PMPal
Academics
X
Algorithmic
Software
sizing
NonLine
Function
algori
O
Po
f
thmic
int
C
o
s
t
X
X
X
X
X
X
X
X
X
X
X
Updates
X
X
X
X
X
X
X
X
X
X
X
X
Conclusion


Questions
Suggestions
Download