Object-Orientation FAQ

3.15) What Is Available on OO Metrics?

This section is still building.
[Berard 93] contains an elaborate bibliography and section on OO metrics.
[Booch 94] also contains some coverage.
Also:
Object Oriented Software development
Mark Lorenz ISBN 0-13-726928-5
Prentice Hall
Software Metrics
Grady-Caswell ISBN 0-13-821844-7
Prentice Hall
Measuring Software Design Quality
Card-Glass ISBN 0-13-568593-1
Prentice Hall
From: trilk@informatik.tu-muenchen.de (Joern Trilk)
Newsgroups: comp.object,comp.lang.c++,comp.lang.smalltalk,comp.databases.object
Subject: Re: In search of OO Metrics
Date: 20 Jun 1994 14:29:27 GMT
Organization: Technische Universitaet Muenchen, Germany
>...
Here are some references:
@article{inheriting:1993,
    author  = {G. Michael Barnes and Bradley R. Swim},
    title   = {Inheriting software metrics},
    journal = {JOOP},
    year    = {1993},
    month   = {Nov./Dec.},
    volume  = {6},
    number  = {7},
    pages   = {27-34}
}
@article{a-new-metr:1993,
    author  = {J.-Y. Chen and J.-F. Lu},
    title   = {A new metric for object-oriented design},
    journal = {Information and Software Technology},
    year    = {1993},
    month   = apr,
    volume  = {35},
    number  = {4},
    pages   = {232-240}
}
@inproceedings{towards-a-:1991,
    author  = {Shyam R. Chidamber and Chris F. Kemerer},
    title   = {Towards a Metrics Suite for Object Oriented Design},
    booktitle = {OOPSLA '91 Proceeedings},
    year    = {1991},
    pages   = {197-211}
}
@inproceedings{software-m:1992,
    author  = {J. Chris Coppick and Thomas J. Cheatham},
    title   = {Software Metrics for Object-Oriented Systems},
    booktitle = {CSC '92 Proceedings},
    year    = {1992},
    pages   = {317-322}
}
@inproceedings{some-metri:1991,
    author  = {B. Henderson-Sellers},
    title   = {Some metrics for object-oriented software engineering},
    booktitle = {TOOLS Proceedings},
    year    = {1991},
    pages   = {131-139}
}
@article{object-ori:1993,
    author  = {Wei Li and Sallie Henry},
    title   = {Object-Oriented Metrics that Predict Maintainability},
    journal = {J. Systems Software},
    year    = {1993},
    volume  = {23},
    pages   = {111-122}
}
@inproceedings{workshop-r:1992,
    author  = {Teri Roberts},
    title   = {Workshop Report - Metrics for Object-Oriented Software Development},
    booktitle = {OOPSLA '92 (Addendum to the Proceedings)},
    year    = {1992},
    pages   = {97-100}
}
@techreport{softwareme:1991,
    author  = {A. Buth},
    title   = {Softwaremetriken f{ü}r objekt-orientierte Programmiersprachen},    institution = {Gesellschaft f{ü}r Mathematik und Datenverarbeitung},
    year    = {1991},
    month   = jun,
    number  = {545},
    type    = {Arbeitspapiere der GMD}
}
The Software Engineering FAQ lists the following references concerning
metrics for object-oriented systems:
Date: 26 Jan 1993 Originally collected by: ZUSE%DB0TUI11.BITNET@vm.gmd.de
(Horst Zuse) 
a. Morris Kenneth L.  Metrics for Object-Oriented Software Development
   Environments (master's thesis). 1989, MIT.
b. Rocacher, Daniel: Metrics Definitions for Smalltalk.  Project ESPRIT 1257,
   MUSE WP9A, 1988.
c. Rocacher, Daniel: Smalltalk Measure Analysis Manual.  Project ESPRIT 1257,
   MUSE WP9A, 1989.
d. Lake, Al: A Software Complexity Metric for C++.  Annual Oregon Workshop on
   Software Metrics, March 22-24, 1992, Silver Falls, Oregon, USA.
e. Bieman, J.M.: Deriving Measures of Software Reuse in Object Oriented
   Systems.  Technical Report #CS91-112, July 1991, Colorado State Universty,
   Fort Collins/ Colorado, USA.
Hope this helps,
	Joern
----------------------------------------------------------------------
Joern Trilk			Phone: ++49-89-2105-2391
Institut fuer Informatik (H1)	Fax:   ++49-89-2105-5296
TU Muenchen			Email: trilk@informatik.tu-muenchen.de
80290 Muenchen
----------------------------------------------------------------------
Newsgroups: comp.software-eng
From: scottw@advsysres.com (Scott A. Whitmire)
Subject: Re: Any good OO metrics?
Organization: Advanced Systems Research
Date: Mon, 28 Nov 1994 05:58:29 GMT
In <3baqhn$crg@newsbf01.news.aol.com>, cjdavies@aol.com (Cjdavies) writes:
>Has anyone come up with metrics that work realistically for OO
>development?  The old lines of code, cyclomatic complexity and Halstead
>metrics don't work so well with OO languages such as Smalltalk (or any
>language that facilitates reuse).  Also, has anyone adapted function
>points to OO languages?  Any ideas would be most welcome.
>Thanks,
>Colin Davies.
Several people have been working in metrics for oo development.  For a quick
synopsis, check out my article in the "Encyclopedia of Software Engineering"
edited by John Marciniak and published by John Wiley & Sons.  The article
gives an overview of the work being done in the field, and what needs to be
done.  It is a couple of years old now, but there really isn't that much going
on.
I did run into one book called "Object-Oriented Software Metrics" (I forget the
authors), but I didn't think much of it.
Your assessment of LOC, cyclomatic complexity, and Halsted are right on the
money.
As for function points and OO, I think you'll find two papers useful.  The first
is a chapter I wrote for the "Software Engineering Productivity Handbook" edited
by Jessica Keyes and published by McGraw-Hill.  It applies standard function points
to OO software.  I suspect you'll find standard function points wanting.  I use
an extension I developed a couple of years ago called 3D function points.  I have
an electronic (plain text) version of the paper I can send if you like.
Metrics and OO development are fairly new to each other.  I am working on ways to
measure such design characteristics as cohesion, coupling, complexity, similarity
and the like.  I haven't been too thrilled with the work that has been done so far.
Much of it has serious theoretical and technical flaws.
Scott A. Whitmire             scottw@advsysres.com
Advanced Systems Research
25238 127th Avenue SE         tel:(206)631-7868
Kent Washington 98031         fax:(206)630-2238
Consultants in networking, network-based applications, and software metrics.
3.16) What Are Visual Object-Oriented Programming Systems?
See also http://union.ncsa.uiuc.edu/HyperNews/get/computing/visual.html.
There is also a comp.lang.visual and FAQ, similar to the www html above.
Visual programming is the use of graphics and graphical techniques in
computer programming.  It is becoming more common to see many
approaches to visual/graphical programming languages emerging that
incorporate the object-oriented programming philisophy.  Toward this
end, developers of new programming languages and programming
environments are exploring how to combine visual programming with
object-oriented programming by investigating how the basic concepts of
OOP -- data abstraction, instantiation, composition, and
specialization -- create new opportunities for programming using
visual means of construction.
A workshop on this topic was conducted at the 1993 OOPSLA, and a
workshop summary appeared as part of the 1993 OOPSLA Addendum.  Several
of the presenters at the workshop developed full versions of their
presentations, which are available in book form:
	Visual Object-Oriented Programming: Concepts and Environments,
	Margaret Burnett, Adele Goldberg, and Ted Lewis, editors,
	Prentice-Hall/Manning Publications, Englewood Cliffs, NJ, 1995.
	http://www.cs.orst.edu/techpub/vlib/vlib/Visual-OOP/CARD.html
-----
Margaret Burnett        .       e-mail: burnett@cs.orst.edu
Assistant Professor       .       WWW page: http://www.cs.orst.edu/~burnett/
Computer Science Dept.      .
Oregon State University       .
Corvallis, Oregon 97331 USA     .
3.17) What Tutorials Are Available On Object-Oriented Concepts and Languages?
Date: Thu, 25 May 95 17:31:21 EDT
From: wheeler@ida.org (David Wheeler)
A list of C/C++ tutorials, including online tutorials, is maintained at:
  http://vinny.csd.mu.edu/learn.html
Note that C and C++ are treated together.  One of the tutorials listed is the
course: "Introduction to Object Oriented Programming Using C++", a self-paced
class within the Globewide Network Academy [GNA]; this course may be found at:
  http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
Another course listed is the Coronado Enterprises C++ Tutorial, which assumes
that the user is already familiar with C (not necessarily ANSI C).  It may be
downloaded from:
  anonymous@oak.oakland.edu:simtel/msdos/cpluspls/cptuts22.zip
  anonymous@oak.oakland.edu:simtel/msdos/cpluspls/cptutt22.zip
One Ada 95 on-line tutorial is Lovelace, which is intended for those who are
already familiar with other algorithmic programming languages and are somewhat
familiar with object orientation.  Lovelace is available at:
  anonymous@lglftp.epfl.ch:/pub/Ada/HTML/lovelace.zip
  http://lglwww.epfl.ch/Ada/Tutorials/Lovelace/lovelace.html
Other Ada tutorials are listed in:
  http://lglwww.epfl.ch/Ada/Tutorials/Lovelace/othert.html
The Sather home page includes a list of Sather tutorials in its "Getting
Started" section:
  http://http.icsi.berkeley.edu/Sather/
The BETA language is introduced in:
 http://www.daimi.aau.dk/~beta/Tutorials/BETAintroduction/BETAintroduction.html
A large list of SELF-related papers available electronically is at:
  http://self.stanford.edu/papers/papers.html
The Booch design method is briefly described in
  http://www.itr.ch/tt/case/BoochReferenz/
For a list of many different resources of computer-language-specific
information, see the YAHOO list of computer languages at:
  http://www.yahoo.com/Computers/Languages/

This document was translated by ms2html v1.8 on 01.06.95.