Table of contents for Metrics and models in software quality engineering / Stephen H. Kan ; [foreword by Capers Jones].


Bibliographic record and links to related information available from the Library of Congress catalog. Note: Electronic data is machine generated. May be incomplete or contain other coding.


Counter




Chapter 1: What Is Software Quality? 1
1.1  Quality: Popular Views  1
1.2  Quality: Professional Views 2
1.2.1 The Role of the Customer 3
1.3  Software Quality  4
1.4  Total Quality Management 7
1.5  Summary    10
References 11

Chapter 2: Software Development Process Models 13
2.1   The Waterfall Development Model 14
2.2   The Prototyping Approach  19
2.3   The Spiral Model 21
2.4   The Iterative Development Process Model 24
2.5   The Object-Oriented Development Process 27
2.6   The Cleanroom Methodology  32
2.7   The Defect Prevention Pocess 35
2.8   Process Maturity Framework and Quality Standards 39
2.8.1 The SEI Process Capability Maturity Model 39
2.8.2 The SPRAssessmnent 44



2.8.3 The Malcolm Baldrige Assessment 45
2.8.4 ISO 9000 47
2.9   Summary   51
References  52

Chapter 3: Fundamentals of Measurement Theory  55
3.1   Definition, Operational Definition, and Measurement 55
3.2   Level of Measurement 59
3.3   Some Basic Measures 62
3.4   Reliability- and Validity  70
3.5   Measurement Errors 73
3.5.1  Assessing Reliability  75
3.5.2 Correction for Attenuation 76
3.6   Be Careful with Correlation  77
3.7   Criteria for Causality  80
3.8   Summary   82
References 83

Chapter 4: Software Quality Metrics Overview 85
4.1   Product Quality Metrics 86
4.1.1  The Defect Density Metric 87
4.1.2 Cstomer Problems Metric 96
4.1.3  Castomer Satisfaction Metrics 98
4.2  In-Process Quality Metrics 100
4.2.1 Defect Density During Machine Testing  100
4.2.2  Defect Arrival Pattern During Machine Testing  101
4.2.3 Pase-Based Defect Removal Pattern 103
4.2.4  Defect Removal Effectiveness 103
4.3   Metrics far Software Maintenance  105
4.3.1 Fix Backlog and Backlog Management Index 106
4.3.2 Fix Response Time and Fix Responsiveness 107
4.3.3 Percent Delinquent Fixes 108
4.3.4 Fix Quality 109
4.4   Examples of Metrics Programs 110
4.4.1 Motorola 110
4.4.2  Hewlett-Packard  115
4.4.3 IBM Rochester 116
4.5   Collecting Software Engineering Data  117
4.6   Summary   123
References 125



Chapter 5: Applying the Seven Basic Quality Tools
in Software Development 127
5.1  Ishikawa's Seven Basic Tools 128
5.2   Checklist 130
5.3   Pareto Diagram  133
5.4 Histogram 136
5.5  Run Charts  138
5.6   Scatter Diagram  140
5.7   Control Chart 143
5.8   Cause-and-Effect Diagram  152
5.9   Relations Diagram  154
5.10 Summary 156
References 158

Chapter 6: Defect Removal Effectiveness 159
6.1   Literature Review  160
6.2   A Closer Look at Defect Removal Effectiveness  164
6.3   Defect Removal Effectiveness and Quality Planning  172
6.3.1 Phase-Based Defect Removal Model 172
6.3.2  Some Characteristics of a Special Case Two-Phase Model 174
6.4   Cost Effectiveness of Phase Defect Removal 177
6.5   Defect Removal Effectiveness and Process Maturity Level 181
6.6   Summary   183
References 184

Chapter 7: The Rayleigh Model 187
7.1   Reliability Models  187
7.2   The Rayleigh Model 189
7.3   Basic Assumptions  192
7.4  Implementation  195
7.5   Reliability and Predictive Validity  203
7.6   Summary   205
References 206

Chapter 8: Exponential Distribution and Reliability Growth Models 207
8.1  The Exponential Model 208
8.2  Reliability Growth Models 211
8.2.1 Jelinski-Moranda Model 212
8.2.2 Littlewood Models 213
8.2.3  Goe-Okumoto Imperfect Debugging Model 213



8.2.4  Goel-Ooumoto Nonhomogeneous Poisson Process Model  213
8.2.5  Musa-Okumoto Logarithmic Poisson Execution Time Model 215
8.2.6 The Delayed S and Inflection S Models; 215
8.3   Model Assumptions 216
8.4   Criteria for Model Evaluation  218
8.5   Modeling Process 220
8.6   Test Compression Factor 224
8.7   Estimating the Distribution of Total Defects over Time  226
8.8   Summary   229
References 231

Chapter 9: Quality Management Models 235
9.1   The Rayleigh Model Framework  236
9.2   The Code Integration Pattern  242
9.3   The PTR Submodel 245
9.4   The PTR Arrival/Backlog Projection Model 249
9.5   Reliability Growth Models 254
9.6   Criteria for Model Evaluation  257
9.7   In-Process Metrics and Reports 258
9.8   Orthogonal Defect Classification  266
9.9   Summary   270
References 270

Chapter 10: In-Process Metrics for Software Testing 271
10.1 In-Process Metrics for Software Testing  272
10.1.1 Test Progress S Curve 272
10.1.2 Testing Defect Arrivals over Time 279
10.1.3 Testing Defect Backlog over Tine 283
10.1.4 Product Size over Time 285
10.1.5 CPU Utilization during Test 286
10.1.6 System Crashes and Hangs 289
10.1.7 Mean Time to Unplanned IPL 291
10.1.8 Critical Probins: Show Stoppers 293
10.2 In-Process Metrics and Quality Management 294
10.2.1 Effort/Outcome Model 298
10.3 Possible Metrics for Acceptance Testing to Evalhate
Vendor-Developed Softwae 302
10.4 How Do You Know Your Product is Good Enough to Ship? 304
10.5 Summary    308
References 309



Chapter 11: Complexity Metrics and Models 311
11.1 Lines of Code  312
11.2 Halstead's Software Science 314
11.3 Cyclomatic Complexity  315
11.4 Syntactic Constructs 318
11.5 Structure Metrics 319
11.6 An Example of Module Design Metrics in Practice 322
11.7 Summary   328
References 329

Chapter 12: Metrics and Lessons Learned for Object-Oriented Projects 331
12.1 Object-Oriented Concepts and Constructs 331
12.2 Design and Complexity Metrics 334
12.2.1 Lorenz Metrics and Rules of Thumb 334
12.2.2 Some Metrics Examples 336
12.2.3 The CK 00 Metrics Suite 337
12.2.4 Validation Studies and FurtherExamples 339
12.3 Productivity Metrics 343
12.4 Quality and Quality Management Metrics 347
12.5 Lessons Learned for 00 Projects 351
12.6 Summary   356
References 357

Chapter 13: Availability Metrics 359
13.1 Definition and Measurements of Systean Availability  360
13.2 Reliability, Availability, and Defect Rate 362
13.3 Collecting Customer Outage Data for Quality Improvement 366
13.4 In-Process Metrics for Outage and Availability  372
13.5 Summary    394
References 394

Chapter 14: Measuring and Analyzing Customer Satisfaction 375
14.1 Customer Satisfaction Surveys 376
14.1.1 Methods of Survey Data Collection  376
14.1.2 Sampling Methods 377
14.1.3 Sample Size 379
14.2 Analyzing Satisfaction Data 381
14.2.1 Specific Attributes and Overall Satisfaction  382
14.3 Satisfaction with Company 388
14.4 How Good Is Good Enough? 390



14.5 Summary 394
References 394

Chapter 15: Coaducting In-Process Quality Assessments 397
15.1 The Preparation Phase 399
15.1.1 What Data Should I Look At? 399
15.1.2 Don't Overlook Qualitative Data 400
15.2 The Evaluation Phase 402
15.2.1 Quantitative Data 402
15.2.2 Qualitative Data 403
15.2.3 Evaluation Criteria 405
15.3 The Summarization Phase  406
15.3.1 Summarization Strategy 406
15.3.2 The OverallAssessment 406
15.4  Recommendations and Risk Mitigation  408
15.5 Summary 410
References 411

Chapter 16: Conducting Software Project Assessments 413
16.1 Adit and Assessment 414
16.2 Software Process Maturity Assessment and Software Project Assessment 415
16.3 Software Process Assessment Cycle 417
16.4 A Proposed Software Project Assessment Method  420
16.4.1 Preparation Phase 421
16.4.2 Facts Gathering Phase 1 422
16.4.3 Questionnaire Customization and Finalization 423
16.4.4 Facts Gathering Phase 2 425
16.4.5 Possible Improvement Opportunities and Recommendations 426
16.4.6 Team Discussions of Assessment Results and Recommendations 428
16.4.7 Assessment Report 429
16.4.8 Summary 433
16.5  Summary   434
References 435

Chapter 17: Dos and Don'ts of Software Process Improvement 437
17.1 Measuring Process Maturity  438
17.2 Measuring Process Capability  440
17.3 Staged versus Continuous-Debating Religion 440
17.4 Measuring Levels Is Not Enough  441
17.5 Establishing the Alignment Principle 443
17.6 Take Time Getting Faster 444



17.7  Keep It Simple-or Face Decomplexification  446
17.8 Measuring the Value of Process Improvement 447
17.9 Measuring Process Adoption  448
17.10 Measuring Process Compliance 449
17.11 Celebrate The Journey, Not Just the Destination  450
17.12 Summary 451
References 452

Chapter 18: Using Function Point Metrics to Measure
Software Process Improvement 453
18.1 Software Process Improvement Sequences 455
18.1.1 Stage 0: Software Process Assessment and Baseline 455
18.1.2 Stage 1: Focus on Management Technologies 456
18.1.3 Stage 2: Focus on Software Processes and Methodologies 457
18.1.4 Stage 3: Focus on New Tools and Approaches 457
18.1.5 Stage 4: Focus on infrastructure and Specialization  457
18.1.6 Stage 5: Focus on Reusability  458
18.1.7 Stage 6: Focus on Industry Leadership 458
18.2  Process Improvement Economies 459
18.3 Measuring Process Improvemnents at Activity Levels 462
18.4  Summary   466
References 467

Chapter 19: Concluding Remarks 469
19.1 Data Quality Control 470
19.2 Getting Started with a Software Metrics Program  472
19.3  Software Quality Engineering Modeling  475
19.4  Statistical Process Control in Software Development 481
19.5 Measurement and the Future  484
References 485