Software Development with Linux

Book Review Object Oriented Software Metrics

SUN, 01 MAR 2009

Every software developer has heard about software metrics, if only for the famous lines of code metric. But many other software metrics exists, and that's what Mark Lorenz and Jeff Kidd offer in "Object-Oriented Software Metrics".

Published in 1994 by Prentice Hall in its Object-Oriented Series, Object-Oriented Software Metrics is a short book (approximately 145 pages), which provides 40 different metrics. The metrics are separated in 10 categories. For every metric discussed, you get :

  • Name of the metric

  • Its meaning

  • Project results (statistics collected by the authors)

  • Affecting factors

  • Related metrics

  • Thresholds

  • Suggested actions

The book doesn't offer a lot more stuff than those metrics descriptions. You have a small introduction to software metrics stating why they are important to software development. At the end, you have recommendations and tips about using and integrating them for your project.

I would recommend this book for peoples who already know about software metrics and to use them. They would found many interesting metrics in the book.

For those new to that, you may found that it's a little bit short on the descriptions, and you may not be convinced about the usefulness of all of this. And for its price (~70$), you may get a more general book about this topic first.

Mark Lorenz is the founder and president of Hatteras Software Inc and previously worked at IBM's Object-Oriented Technology Center. Jeff Kidd worked with Mark and helped him in his development of OO metrics tools.

If you want to start using some metrics for your projects, there are plenty of tools available, even some open source software. If you search a little bit, you'll probably found one that fit your desired metric and programming language. Here's software metrics tools available in Kubuntu :

  • sloccount : source lines of code for many programming language

  • gcov : code coverage for GCC

  • cccc : c and c++ counter

  • jdepend : many metrics for Java