A Study of Software Metrics
A Study of Software Metrics
A Study of Software Metrics
22
Abstract
Poor size estimation is one of the main reasons major
software-intensive acquisition programs ultimately fail.
Size is the critical factor in determining cost, schedule, and
effort. The failure to accurately predict (usually too small)
results in budget overruns and late deliveries which
undermine confidence and erode support for your program.
Size estimation is a complicated activity, the results of
which must be constantly updated with actual counts
throughout the life cycle. Size measures include source
lines-of-code, function points, and feature points.
Complexity is a function of size, which greatly impacts
design errors and latent defects, ultimately resulting in
quality problems, cost overruns, and schedule slips.
Complexity must be continuously measured, tracked, and
controlled. Another factor leading to size estimate
inaccuracies is requirements creep which also must be
baseline and diligently controlled.
Software metrics measure different aspects of software
complexity and therefore play an important role in
analyzing and improving software quality. Pervious
research has indicated that they provide useful information
on external quality aspects of software such as its
maintainability, reusability and reliability.
Software
metrics provide a mean of estimating the efforts needed for
testing. Software metrics are often categorized into
products and process metrics.
Keywords: LOC-Line of Code, WMC-Weight Method per
Class, RFC-Response for class, LCOM- Lack of Cohesion,
CBO- Coupling Between object classes, DIT- Depth of
Inheritance Tree.
1.
RELATIONSHIP
BETWEEN
SOFTWARE
COMPLEXITY
METRICS
AND
VARIOUS
ATTRIBUTES OF SOFTWARE SYSTEM:
IJCEM International Journal of Computational Engineering & Management, Vol. 11, January 2011
ISSN (Online): 2230-7893
www.IJCEM.org
23
6. SIZE METRICS:
6.1 Line of Code: It is one of the earliest and simpler
metrics for calculating the size of computer program. It is
generally used in
calculating and comparing the
productivity of programmers.
Productivity is measured as LOC/man-month.
Any line of program text excluding comment or
blank line, regardless of the number of statements
or parts of statements on the line, is considered a
Line of Code.
6.2 Token Count:
In this metrics, a computer program is considered to be a
collection of tokens, which may be classified as either
operators or operands. All software science metrics can be
defined in terms of these basic symbols. These symbols are
called as token. The basic measures are
n1 = count of unique operators.
IJCEM
www.ijcem.org
IJCEM International Journal of Computational Engineering & Management, Vol. 11, January 2011
ISSN (Online): 2230-7893
www.IJCEM.org
24
Nz = n [0.5772 + ln (n) ]
where n is program vocabulary given as n = n1 + n2
Bimleshs Program Length Estimator [Nb]
Nb = n1 Log2 (n2) + n2 Log2 (n1)
where n1 : Number of unique operators which include
basic
operators,
keywords/reservewords
and
functions/procedures.
n2 : Number of unique operands.
Program Volume (V)
The programming vocabulary n = n1 + n2 leads to another
size measures which may be defined as :
V = N log 2 n
Potential Volume (V*)
It may be defined as V* = (n1* + n2 *) log2 (n1* + n2 *)
Where n1* is the minimum number of operators and n2* is
the minimum number of operands.
IJCEM International Journal of Computational Engineering & Management, Vol. 11, January 2011
ISSN (Online): 2230-7893
www.IJCEM.org
25
IJCEM International Journal of Computational Engineering & Management, Vol. 11, January 2011
ISSN (Online): 2230-7893
www.IJCEM.org
26
IJCEM International Journal of Computational Engineering & Management, Vol. 11, January 2011
ISSN (Online): 2230-7893
www.IJCEM.org
27
12 CONCLUSIONS:
A metrics program that is based on the goals of an
organization will help communicate, measure progress
towards, and eventually attain those goals. People will
work to accomplish what they believe to be important.
Well-designed metrics with documented objectives can
help an organization obtain the information it needs to
continue to improve its software products, processes, and
services while maintaining a focus on what is important. A
practical, systematic, start-to-finish method of selecting,
designing, and implementing software metrics is a valuable
aid. In this paper we study different type of software
metrics which are used during the software development.
References:
[1] Chidamber, Shyam and Kemerer, Chris, A metrics
Suite for Object Oriented Design, IEEE Transactions on
Software Engineering, June, 1994, pp. 476-492.
[2] Lorenz, Mark and Kidd, Jeff, Object Oriented Software
metrics, Prentice Hall Publishing, 1994.
[3] Victor R. Basili, Lionel Briand and Walcelio L. Melo
A validation of object-oriented design metrics as quality
indicators Technical report, Uni. of Maryland, Deptt. of
computer science, MD, USA.April 1995.
[4] The Role of Object Oriented metrics from
archive.eiffel.com/ doc/ manuals/ technology.
[5] Rajender Singh, Grover P.S., A new program
weighted complexity metrics proc. International
conference on Software Engg. (CONSEG97), January
Chennai (Madras) India, pp 33-39
[6] I. Brooks Object oriented metrics collection and
evaluation with software process presented at
OOPSLA93 Workshop on Processes and Metrics for
Object Oriented Software development, Washington, DC.
[7] Software quality metrics for Object Oriented System
Environments by Software Assurance Technology Center,
National Aeronautics and Space Administration.
IJCEM
www.ijcem.org