CS 4448 - Fall 1998
Object-Oriented Programming and Design
Talk 4.4
by
Jim Gibbens
Automated Metrics and Object-Oriented
Development
by
Jagdish Bansiya and Carl Davis
- Introduction
The authors are Jagdish Bansiya and Carl Davis who are lecturer
and
chairman, respectivley, of the Computer Science department at the
University of
Alabama in Huntsville. The article Automated Metrics and
Object-Oriented Development is a discussion about a tool that they
combined to develop that supports over 30 object-oriented metrics.
- What is Quality Metrics for Object Oriented
Development?
Quality Metrics for Object-Oriented Development (QMOOD++) is an automated
tool
that supports over 30 object-oriented metrics. Metrics are a way of
seeing how object oriented some software is.
- The Metrics
The following are some of the more important metrics, DSC, which is
the System size in classes, NOH, which is the Number of Hierarchies,
NIC, the Number of Independent Classes, NSI, the Number of Single
Inheritance, NMI, the Number of Multiple Inheritance. Some other
important metrics are ADI, Average Depth of Inheritance, AWI,
Average
Width of Inheritance, ANA, Average Number of Ancestors, DOI, Depth
of
Inheritance, NOC, Number of Children and NOA, Number of Ancestors.
A
final list of important metrics is NOM, Number of Methods, CIS Class
Interface Size, NOI, number of Inline (Trivial) Methods, and NOP,
Number of Polymorphic Methods.
- Metrics Use
QMOOD++ (Quality Metric Object-Oriented Development) is a tool used
to
collect information about all the above mentioned metrics and
others.
The QMOOD++ then allows the user the ability to analyze the data
collected. This allows the user to run QMOOD++ over the software as
it is being developed, thus deciding if the development is truly
Object-Oriented and using reuse to develop the software. While the
ability exists to compare between two different programs, it is not
real useful information. The best use of QMOOD++ is to continually
run it against a project as it is developed to verify that the
developers are doing everything Object-Orientedly or to run against
updated versions of a software package. Running QMOOD++ continually
while the software is developed or against monthly release will
allow
the user to track the different metrics over a period of time and
show
the developers increase reuse of classes and methods on those
classes.
- Conclusion
As the authors point out "a difference in metric values does not in
itself make one system or product better than another." Metrics do
provide an objective way to track changes and can be used to help
guide future development.
- For an executable of the program and sample files go to
Visit http://indus.cs.uah.edu
Copyright © University of Colorado. All rights reserved.
Revised: September 27, 1998