Software Metrics: A Rigorous and Practical Approach, Third Edition, 3rd Edition (e-Book) book cover

Software Metrics

A Rigorous and Practical Approach, Third Edition

By Norman Fenton, James Bieman

© 2014 – CRC Press

617 pages | 155 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781439838228
pub: 2014-10-01
eBook (VitalSource) : 9781439838235
pub: 2014-10-01
from $32.95

FREE Standard Shipping!
e–Inspection Copy

About the Book

A Framework for Managing, Measuring, and Predicting Attributes of Software Development Products and Processes

Reflecting the immense progress in the development and use of software metrics in the past decades, Software Metrics: A Rigorous and Practical Approach, Third Edition provides an up-to-date, accessible, and comprehensive introduction to software metrics. Like its popular predecessors, this third edition discusses important issues, explains essential concepts, and offers new approaches for tackling long-standing problems.

New to the Third Edition

This edition contains new material relevant to object-oriented design, design patterns, model-driven development, and agile development processes. It includes a new chapter on causal models and Bayesian networks and their application to software engineering. This edition also incorporates recent references to the latest software metrics activities, including research results, industrial case studies, and standards.

Suitable for a Range of Readers

With numerous examples and exercises, this book continues to serve a wide audience. It can be used as a textbook for a software metrics and quality assurance course or as a useful supplement in any software engineering course. Practitioners will appreciate the important results that have previously only appeared in research-oriented publications. Researchers will welcome the material on new results as well as the extensive bibliography of measurement-related information. The book also gives software managers and developers practical guidelines for selecting metrics and planning their use in a measurement program.


"The wait for a new edition of this book is over. Long considered the go-to text for its thorough coverage of software measurement and experimentation, the new edition succeeds splendidly in bringing the field up to date while including new and important topics. … updated with the latest results from recent advances in software measurement research and practice. … The authors do an outstanding job of balancing formal analysis topics with examples that ground the reader in practical application. … Both researchers and practitioners alike will gain a valuable understanding of why measurement is critical for quality improvements in software development processes and software products. … With this updated edition, this book solidifies its standing as the most complete reference text for software measurement."

—Computing Review, April 2015

"I have been using this book as my primary reference on software metrics for over 20 years now. It still remains the best book by far on the science and practice of software metrics. This latest edition has some important updates, especially with the inclusion of material on Bayesian networks for prediction and risk assessment."

—Paul Krause, University of Surrey, Guildford, UK

"Great introduction to software metrics, measurement, and experimentation. This will be a must-read for my software engineering students."

—Lukasz Radlinski, PhD, West Pomeranian University of Technology, Szczecin, Poland

"I have loved this book from the first edition and with each new edition it just keeps getting better and better. I use this book constantly in my software engineering research and always recommend it to students. It is so much more than a software metrics book; to me it is an essential companion to rigorous empirical software engineering."

—Dr. Tracy Hall, Department of Computer Science, Brunel University, Uxbridge, UK

"This new edition of Software Metrics succeeds admirably in bringing the field of software measurement up to date and in delivering a wider range of topics to its readers as compared to its previous edition. I have both reviewed and used the book in my software measurement courses and find it to be one of the most advanced and well structured on the market today, tailored for training software engineers in both theoretical and practical aspects of software measurement. I look forward to continuing the use of the book for teaching purposes and am very comfortable offering my recommendation for this book as a primary textbook for graduate or undergraduate courses on software measurement. Thank you again for providing such a quality book to our software engineering education programs."

—Olga Ormandjieva, Associate Professor, Department of Computer Science and Software Engineering, Concordia University, Canada

"This book lucidly and diligently covers the nuts and bolts of software measurement. It is an excellent reference on software metric fundamentals, suitable as a comprehensive textbook for software engineering students and as a definitive manual for industry practitioners."

—Mohammad Alshayeb, Associate Professor of Software Engineering, King Fahd University of Petroleum and Minerals

Table of Contents

Fundamentals of Measurement and Experimentation

Measurement: What Is It and Why Do It?

Measurement in Everyday Life

Measurement in Software Engineering

Scope of Software Metrics

The Basics of Measurement

The Representational Theory of Measurement

Measurement and Models

Measurement Scales and Scale Types

Meaningfulness in Measurement

A Goal-Based Framework for Software Measurement

Classifying Software Measures

Determining What to Measure

Applying the Framework

Software Measurement Validation

Performing Software Measurement Validation

Empirical Investigation

Principles of Empirical Studies

Planning Experiments

Planning Case Studies as Quasi-Experiments

Relevant and Meaningful Studies

Software Metrics Data Collection

Defining Good Data

Data Collection for Incident Reports

How to Collect Data

Reliability of Data Collection Procedures

Analyzing Software Measurement Data

Statistical Distributions and Hypothesis Testing

Classical Data Analysis Techniques

Examples of Simple Analysis Techniques

More Advanced Methods

Multicriteria Decision Aids

Overview of Statistical Tests

Metrics for Decision Support: The Need for Causal Models

From Correlation and Regression to Causal Models

Bayes Theorem and Bayesian Networks

Applying Bayesian Networks to the Problem of Software Defects Prediction

Bayesian Networks for Software Project Risk Assessment and Prediction

Software Engineering Measurement

Measuring Internal Product Attributes: Size

Properties of Software Size

Code Size

Design Size

Requirements Analysis and Specification Size

Functional Size Measures and Estimators

Applications of Size Measures

Problem, Solution Size, Computational Complexity

Measuring Internal Product Attributes: Structure

Aspects of Structural Measures

Control Flow Structure of Program Units

Design-Level Attributes

Object-Oriented Structural Attributes and Measures

No Single Overall "Software Complexity" Measure

Measuring External Product Attributes

Modeling Software Quality

Measuring Aspects of Quality

Usability Measures

Maintainability Measures

Security Measures

Software Reliability: Measurement and Prediction

Basics of Reliability Theory

The Software Reliability Problem

Parametric Reliability Growth Models

Predictive Accuracy

Recalibration of Software Reliability Growth Predictions

Importance of the Operational Environment

Wider Aspects of Software Reliability

Appendix: Solutions to Selected Exercises



Summary, Exercises, and Further Reading appear at the end of each chapter.

About the Authors

Norman Fenton, PhD, is a professor of risk information management at Queen Mary London University and the chief executive officer of Agena, a company that specializes in risk management for critical systems. He is renowned for his work in software engineering and software metrics. His current projects focus on using Bayesian methods of analysis to risk assessment. He has published 6 books and more than 140 refereed articles and has provided consulting to many major companies worldwide.

James M. Bieman, PhD, is a professor of computer science at Colorado State University, where he was the founding director of the Software Assurance Laboratory. His research focuses on the evaluation of software designs and processes, including ways to test nontestable software, techniques that support automated software repair, and the relationships between internal design attributes and external quality attributes. He serves on the editorial boards of the Software Quality Journal and the Journal of Software and Systems Modeling.

About the Series

Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Software Development & Engineering / General