Software Metrics: A Rigorous and Practical Approach (2nd edition)

Published by PWS ISBN (0534-95429-1), 1998


(originally published by International Thomson Computer Press, 1996)

(If you have a copy of this book see Errata list)

Although not always acknowledged as essential to good software engineering, software metrics play an important role. Measurement is used to assess situations, track progress, evaluate effectiveness, and more. But the gap between how we do measure and how we could measure is still larger than it should be. A key reason for this gap between potential and practice has been the lack of a coordinated, comprehensive framework for understanding and using measurement. The rigorous measurement framework introduced by the highly successful first edition of Software Metrics: A Rigorous Approach in 1991 has helped to advance the role of measurement by inspiring discussion of important issues, explaining essential concepts, and suggesting new approaches for tackling long-standing problems.

As one of the first texts on software metrics, the first edition broke new ground by introducing software engineers to measurement theory, graph-theoretic concepts, and new approaches to software reliability. This second edition brings the coverage of software metrics fully up-to-date. The book has been comprehensively re-written and re-designed to reflect changing developments in software metrics, most notably their widespread acceptance in industrial practice. This edition stresses the original framework for software metrics, but emphasizes its practical applications. Based on measurement theory and a classification of entities as products, processes and resources, the framework has been expanded to include notions of process visibility and goal-directed measurement. The theory is liberally illustrated with case studies and examples to illustrate the application of each idea and technique.

The new edition also reflects classroom and industrial feedback about the first edition. Thus, the text now includes extensive case studies, and more worked examples and exercises. Every section of the book has been improved and updated, including new sections on process maturity and measurement, the Goal-Question-Metric paradigm, metrics planning, experimentation, empirical studies, object-oriented metrics, and metrics tools. The book continues to provide an accessible and comprehensive introduction to software metrics, now an essential facet of the software engineering process.

This book is designed to suit several audiences. It is structured as the primary text book for an academic or industrial course on software metrics and quality assurance. But it is also a useful supplement for any course in software engineering. Because of its breadth, the book is a major reference book for academics and practitioners, as it makes accessible important and interesting results that have appeared only in research-oriented publications. Researchers in software metrics will find special interest in the material reporting new results, and in the extensive annotated bibliography of measurement-related information. Finally, the book offers help to software managers and developers who seek guidance on establishing or expanding a measurement program; they can focus on the practical guidelines for selecting metrics and planning their use.

The book is arranged in three parts. Part I offers the reader a basic understanding of why and how we measure. It examines and explains the fundamentals of measurement, experimentation, and data collection and analysis. Next, Part II explores software engineering measurement in greater detail, with comprehensive information about a range of specific metrics and their uses, illustrated by a wealth of examples and case studies. Finally, Part III provides a management perspective on software measurement, explaining how to plan a measurement program, what has been successful in other organizations, and how measurement can be used to evaluate the effectiveness of techniques and tools. The book also includes an annotated bibliography, a glossary, and answers to selected exercises from the main chapters.

If you have a copy of this book see Errata list

Return to Norman Fenton's books

Return To Norman Fenton's home page