• Table of Contents Metrics and Models in Software Quality Engineering, Second Edition By Stephen H. Kan Publisher : Addison Wesley Pub Date : September 20, 2002 ISBN : 0-201-72915-6 Pages : 560 "This is the single best book on software quality engineering and metrics that I've encountered."-Capers Jones, from the Foreword Metrics and Models in Software Quality Engineering, Second Edition, is the definitive book on this essential topic of software development. Comprehensive in scope with extensive industry examples, it shows how to measure software quality and use measurements to improve the software development process. Four major categories of quality metrics and models are addressed: quality management, software reliability and projection, complexity, and customer view. In addition, the book discusses the fundamentals of measurement theory, specific quality metrics and tools, and methods for applying metrics to the software development process. New chapters bring coverage of critical topics, including: In-process metrics for software testing Metrics for object-oriented software development Availability metrics Methods for conducting in-process quality assessments and software project assessments Dos and Don'ts of Software Process Improvement, by Patrick O'Toole Using Function Point Metrics to Measure Software Process Improvement, by Capers Jones In addition to the excellent balance of theory, techniques, and examples, this book is highly instructive and practical, covering one of the most important topics in software development--quality engineering. • Table of Contents Metrics and Models in Software Quality Engineering, Second Edition By Stephen H. Kan Publisher : Addison Wesley Pub Date : September 20, 2002 ISBN : 0-201-72915-6 Pages : 560 Copyright Foreword to the Second Edition Foreword to the First Edition Preface Themes of This Book Organization of This Book Suggested Ways to Read This Book Acknowledgments Chapter 1. What Is Software Quality? Section 1.1. Quality: Popular Views Section 1.2. Quality: Professional Views Section 1.3. Software Quality Section 1.4. Total Quality Management Section 1.5. Summary References Chapter 2. Software Development Process Models Section 2.1. The Waterfall Development Model Section 2.2. The Prototyping Approach Section 2.3. The Spiral Model Section 2.4. The Iterative Development Process Model Section 2.5. The Object-Oriented Development Process Section 2.6. The Cleanroom Methodology Section 2.7. The Defect Prevention Process Section 2.8. Process Maturity Framework and Quality Standards Section 2.9. Summary References Chapter 3. Fundamentals of Measurement Theory Section 3.1. Definition, Operational Definition, and Measurement Section 3.2. Level of Measurement Section 3.3. Some Basic Measures Section 3.4. Reliability and Validity Section 3.5. Measurement Errors Section 3.6. Be Careful with Correlation Section 3.7. Criteria for Causality Section 3.8. Summary References Chapter 4. Software Quality Metrics Overview Section 4.1. Product Quality Metrics Section 4.2. In-Process Quality Metrics Section 4.3. Metrics for Software Maintenance Section 4.4. Examples of Metrics Programs Section 4.5. Collecting Software Engineering Data Section 4.6. Summary References Chapter 5. Applying the Seven Basic Quality Tools in Software Development Section 5.1. Ishikawa's Seven Basic Tools Section 5.2. Checklist Section 5.3. Pareto Diagram Section 5.4. Histogram Section 5.5. Run Charts Section 5.6. Scatter Diagram Section 5.7. Control Chart Section 5.8. Cause-and-Effect Diagram Section 5.9. Relations Diagram Section 5.10. Summary References Chapter 6. Defect Removal Effectiveness Section 6.1. Literature Review Section 6.2. A Closer Look at Defect Removal Effectiveness Section 6.3. Defect Removal Effectiveness and Quality Planning Section 6.4. Cost Effectiveness of Phase Defect Removal Section 6.5. Defect Removal Effectiveness and Process Maturity Level Section 6.6. Summary References Chapter 7. The Rayleigh Model Section 7.1. Reliability Models Section 7.2. The Rayleigh Model Section 7.3. Basic Assumptions Section 7.4. Implementation Section 7.5. Reliability and Predictive Validity Section 7.6. Summary References Chapter 8. Exponential Distribution and Reliability Growth Models Section 8.1. The Exponential Model Section 8.2. Reliability Growth Models Section 8.3. Model Assumptions Section 8.4. Criteria for Model Evaluation Section 8.5. Modeling Process Section 8.6. Test Compression Factor Section 8.7. Estimating the Distribution of Total Defects over Time Section 8.8. Summary References Chapter 9. Quality Management Models Section 9.1. The Rayleigh Model Framework Section 9.2. Code Integration Pattern Section 9.3. The PTR Submodel Section 9.4. The PTR Arrival and Backlog Projection Model Section 9.5. Reliability Growth Models Section 9.6. Criteria for Model Evaluation Section 9.7. In-Process Metrics and Reports Section 9.8. Orthogonal Defect Classification Section 9.9. Summary References Chapter 10. In-Process Metrics for Software Testing Section 10.1. In-Process Metrics for Software Testing Section 10.2. In-Process Metrics and Quality Management Section 10.3. Possible Metrics for Acceptance Testing to Evaluate Vendor-Developed Software Section 10.4. How Do You Know Your Product Is Good Enough to Ship? Section 10.5. Summary References Chapter 11. Complexity Metrics and Models Section 11.1. Lines of Code Section 11.2. Halstead's Software Science Section 11.3. Cyclomatic Complexity Section 11.4. Syntactic Constructs Section 11.5. Structure Metrics Section 11.6. An Example of Module Design Metrics in Practice Section 11.7. Summary References Chapter 12. Metrics and Lessons Learned for Object-Oriented Projects Section 12.1. Object-Oriented Concepts and Constructs Section 12.2. Design and Complexity Metrics Section 12.3. Productivity Metrics Section 12.4. Quality and Quality Management Metrics Section 12.5. Lessons Learned from OO Projects Summary References Chapter 13. Availability Metrics 13.1 Definition and Measurements of System Availability Section 13.2. Reliability, Availability, and Defect Rate Section 13.3. Collecting Customer Outage Data for Quality Improvement Section 13.4. In-process Metrics for Outage and Availability Summary References Chapter 14. Measuring and Analyzing Customer Satisfaction Section 14.1. Customer Satisfaction Surveys Section 14.2. Analyzing Satisfaction Data Section 14.3. Satisfaction with Company Section 14.4. How Good Is Good Enough Section 14.5. Summary References Chapter 15. Conducting In-Process Quality Assessments Section 15.1. The Preparation Phase Section 15.2. The Evaluation Phase Section 15.3. The Summarization Phase Section 15.4. Recommendations and Risk Mitigation Section 15.5. Summary References Chapter 16. Conducting Software Project Assessments Section 16.1. Audit and Assessment Section 16.2. Software Process Maturity Assessment and Software Project Assessment Section 16.3. Software Process Assessment Cycle Section 16.4. A Proposed Software Project Assessment Method Section 16.5. Summary References Chapter 17. Dos and Don'ts of Software Process Improvement Section 17.1. Measuring Process Maturity Section 17.2. Measuring Process Capability Section 17.3. Staged versus Continuous�Debating Religion Section 17.4. Measuring Levels Is Not Enough Section 17.5. Establishing the Alignment Principle Section 17.6. Take Time Getting Faster Section 17.7. Keep It Simple � or Face Decomplexification Section 17.8. Measuring the Value of Process Improvement Section 17.9. Measuring Process Adoption Section 17.10. Measuring Process Compliance Section 17.11. Celebrate the Journey, Not Just the Destination Section 17.12. Summary References Chapter 18. Using Function Point Metrics to Measure Software Process Improvements Section 18.1. Software Process Improvement Sequences Section 18.2. Process Improvement Economics Section 18.3. Measuring Process Improvements at Activity Levels Section 18.4. Summary References Chapter 19. Concluding Remarks Section 19.1. Data Quality Control Section 19.2. Getting Started with a Software Metrics Program Section 19.3. Software Quality Engineering Modeling Section 19.4. Statistical Process Control in Software Development Section 19.5. Measurement and the Future References A Project Assessment Questionnaire Copyright Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. AS/400 and eServer iSeries are registered trademarks of International Business Machines Corporation. Lotus Notes and Lotus 1-2-3 are trademarks or registered trademarks of Lotus Development Corporation. The publisher offers discounts on this book when ordered in quantity for bulk purchases and special sales. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside of the U.S., please contact: International Sales (317) 581-3793 [email protected] Visit Addison-Wesley on the Web: www.awprofessional.com Library of Congress Cataloging-in-Publication Data Kan, Stephen H. Metrics and models in software quality engineering / Stephen H. Kan—2nd ed p. cm. 1. Computer software—Quality control I. Title QA76.76Q35 K35 2003 005.1'068'5--dc21 2002027737 Copyright © 2003 by Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the