Always Learning

Advanced Search

Succeeding with Use Cases

Succeeding with Use Cases

Working Smart to Deliver Quality

Richard Denney

May 2005, Paperback, 336 pages
ISBN13: 9780321316431
ISBN10: 0321316436
This title is no longer available.

This title cannot be purchased online
  • Print pagePrint page
  • Email this pageEmail page
  • Share

From a "problem/solution" perspective, use cases solve some of the greatest

problems in software engineering; but they don't solve all the problems in the

software world. This book focuses on the topic of quality. The author has

borrowed from other disciplines, picking up the bits that are good at solving

problems, and bringing them back to the use case community. The book then

shows how to re-apply these technique with use cases to solve problems you

are having with use cases.

As use cases continue to mature and gain further acceptance, future

improvements in use case driven development are likely to arise from the

cross-pollination with other areas of software engineering. This book looks at

four unique areas -- Quality Function Deployment (QFD), Formal

Methods/Safety-Critical System, Software Reliability Engineering, and Software

Configuration Management in the form of Requirements Management tools.

The book pulls practical ideas from each of these four areas that can be applied

to use case driven development and help organizations work smart to boost the

quality of their delivered products.

Build on Use Cases to Deliver Higher-Quality, Higher-Value Software

You can dramatically improve software quality and value by integrating use cases with best-practice software quality engineering disciplines.

Richard Denney presents practical, cost-effective techniques that help your entire development organization deliver superior software.

Using realistic examples, Denney demonstrates how to complement use cases with Quality Function Deployment (QFD), Software Reliability Engineering (SRE), Model-Based Specification (preconditions, postconditions, and invariants), Requirements Configuration Management, and Project Portfolio Management. Denney's techniques address challenges faced by project and product managers, team leads, developers, designers, software engineers, and testers alike. These techniques offer immense value no matter what methodology you use—from the Unified Process to Extreme Programming.

  • Use QFD to make sure you release products that are true to your business drivers

  • Drive your project's vision vertically, from senior management and marketing to the development team

  • Align/synchronize distributed development horizontally across component teams, product teams, and business groups

  • Use SRE to maximize reliability and customer satisfaction—while minimizing engineering costs

  • Build use case operational profiles that help you spend development dollars more intelligently

  • Get solid metrics that tell you when it's time to stop testing

  • Use Model-Based Specification to sharpen your analysis of potential failures

  • Understand precondition and postcondition realities they never mentioned in "Use Case 101"

  • Design effective test cases using preconditions, postconditions, and invariants

  • Use Configuration Management of Use Cases to help your company work smarter

  • Leverage use cases in Project Portfolio Management—quite possibly the most valuable process improvement you can make

  • Calculate ROI on your company's investments in a requirements management tool and process

© Copyright Pearson Education. All rights reserved.




1. An Introduction to QFD: Driving Vision Vertically.

Through the Project

The Language Gap

QFD in Use Case-Driven Projects

Business Drivers in QFD

The "Chaos" of Projects and the Importance of Prioritization

Running a QFD Workshop: Mega Motors Example

Workshop Overview

Identify Use Cases

Analyze Relationship of Use Cases to Business Drivers

Analyze Correlations Between Use Cases

First Matrix Complete; QFD Workshop Status Check

"Flipping the Matrix": Deployment to Quality Requirements

Flipping the Matrix: Deployment to Vehicle Components

Workshop Conclusion and Summary

Chapter Review

2. Aligning Decision Making and Synchronizing Distributed Development Horizontally in the Organization.

Using QFD to Align Decision Making Horizontally Across a Company

A Brief Overview of Oil and Gas Exploration

The Problem: Selecting A Shared Earth Modeling Development Kit

O&G's QFD Road Map

Matrix 1: Prioritize Use Cases

Matrix 2: Prioritize Non-Functional Requirements

Matrix 3: Prioritize Earth Modeling Techniques

Matrix 4: Prioritize Shared Earth Modeling Dev Kits

Example Conclusion and Summary

Using QFD to Synchronize Distributed Development Horizontally Across Component Teams

Entropy Happens in Distributed Software Development

Planning the Length of Iterations and Number of Use Cases per Iteration in Distributed Software Development

Chapter Review


3. Operational Profiles: Quantifying Frequency of Use of Use Cases.

Operational Profile of Use Case Scenarios

Decision Graphs

Pareto Principle and Guesstimates

Working Smarter: Scenarios of a Use Case

Time-Boxing an Inspection

Bottom-Up Estimation of Tests Needed per Scenario

Operational Profile of a Use Case Package

Sanity Check Before Proceeding

Use Case Relationships

Sales Order Example

Probability that Include/Extend Use Cases Are Actually Used

Concluding Thoughts About Use Case Relationships

Working Smarter: Use Case Packages

Time-Boxing for a Package of Use Cases

Transitioning from High-Level to Low-Level Planning

Air Bags and Hawaiian Shirts

Extending Operational Profiles to Address Critical Use Cases

What Does "Critical" Mean?

It's a Calculated Risk

Hardware Widget Example

Profiling Risk in Use Cases

What Have You Got to Lose?

Chapter Review

4. Reliability and Knowing When to Stop Testing.

What Is "Reliability"?

Software Reliability is User-Centric and Dynamic

Software Reliability Is Quantifiable

Reliability: Software Versus Hardware

Failure Intensity

Visualizing Failure Intensity with a Reliability Growth Curve

Selecting a Unit of Measure for Failure Intensity

Setting a Failure Intensity Objective

But What's the Right Failure Intensity Objective?

The Swamp Report

Dashboard Layout

Establish Planned Test Coverage as per Operational Profile

Initialize Dashboard Before Each Test Iteration

Update the Dashboard at the End of Each Test Iteration

Tracking the Swamp Through Time

Determining the Effectiveness of Your SRE-Based Test Process

Final Notes on DDE

Chapter Review


5. Use Case Preconditions, Postconditions, and Invariants: What They Didn't Tell You, But You Need to Know!

Sanity Check Before Proceeding

A Brief History of Preconditions and Postconditions

Calculating Preconditions from Postconditions

Use Case Overview

Step 1. Find a "Risky" Postcondition: Model as an Equation

Step 2. Identify a Potential Failure: State an Invariant

Step 3. Compute the Precondition

Why Does This Work?!

Modeling State Change

Model-Based Specification

Reasoning About State Through Time

Use Case Overview

Step 1. Find "Risky" Postconditions: Model as Equations

Step 2. Identify a Potential Failure: State an Invariant

Step 3. Calculate Preconditions

Exploring Boundary Condition Failures

Step 1. Identify Postconditions Associated with Boundaries of Operation

Step 2. State an Invariant the Postconditions Should Not Violate

Step 3. Calculate Preconditions

Further Thoughts: Preconditions, Postconditions, and Invariants in Use Cases

Preconditions and Postconditions of Individual Operations Versus the Use Case as a Whole

Scope of Preconditions and Postconditions: Scenario Versus Whole Use Case

Postconditions Can Have More than One Precondition

Weak and Strong Preconditions

Types of Invariants in Use Cases

Working Smart in How You Apply What You've Learned

Prioritize Where You Apply Model-Based Specification

Stick to Numeric Problems

The Absolute Least You Need to Know: One Fundamental Lesson and Three Simple Rules

Chapter Review

6. Triple Threat Test Design for Use Cases.

"Triple Threat" Test Cases?

Threat #1-The Precondition

Threat #2-The Postcondition

Threat # 3-The Invariant

Applying the Extended Use Case Test Design Pattern

Step 1. Identify Operational Variables

Step 2. Define Domains of the Operational Variables

Step 3. Develop the Operational Relation

Step 4. Build Test Cases

Closing Thoughts

Chapter Review


7. Calculating Your Company's ROI in Use Case Configuration Management.

Overview of ROI

Requirements Management Tools

Calculating the ROI

Conventions and Starting Assumptions

Assumptions About Cost of a Fully Burdened Employee

Initial Actual Data about Use Cases

The Cost

Cost of Tools, Training, Consulting, and Rollout Team

Cost of Tool Use Overhead

Cost of Added Review and Rigor

The Benefits

Savings from Staff Working more Efficiently

Savings from Avoiding the Cost of Lost Use Cases from Staff Churn

Savings from Avoiding Cost of Unnecessary Development

Savings from Reducing the Cost of Requirements-Related Defects

Bottom Line: Benefit to Cost Ratio

Dealing with Uncertainty in the Model

Chapter Review

8. Leveraging Your Investment in Use Case CM in Project Portfolio Management.

What this Chapter Is (and Isn't) About

The Good Thing About Use Cases...

Use Case Metadata (Requirements Attributes)

How Are You Currently Invested?

Inventory of Projects

Metadata Needed for Use Cases

Assign Use Case to Project and Estimate Effort

Checking the Mix

Managing the Pipeline

Full Time Equivalent (FTE) Models of the Project Portfolio

Run Chart of FTEs Through Time

Tracking the Status of the Portfolio via Use Cases

Status of Use Cases

Tracking the Progress of Projects with the Status of Use Cases

Chapter Review


Appendix A: Sample Use Case.

Appendix B: Bare-Bones Project Portfolio Database and Use Case Metadata.

Bare-Bones Portfolio Database

Use Case Metadata

Checking the Mix of Project Types

Appendix C: Run Chart of FTEs Required by Project Portfolio.

Query to Sum Use Case Effort by Project Code

Query to Prepare Data for Import to Microsoft Project

Appendix D: Reports for Tracking Progress of Projects in Portfolio.

Metadata for Use Case Status

Report for Tracking Status of Projects in the Portfolio by Use Case Status



Increase software quality, while minimizing development costs, by leveraging industry best practices for quality management in use cases.

° Launch your development efforts to another level with an entirely new set of perspectives on use case driven development

° Deliver true "bang for the buck" with proven techniques for improving software quality and increasing ROI

° Learn to extend the power of use cases as well as proven methodologies such as RUP and Extreme Programming

Richard Denney is a software quality consultant with more than twenty-five years of experience in software development and process management. Denney has been a principal in process improvements for the oil industry's two largest suppliers of software solutions, Schlumberger and Landmark Graphics (a Halliburton company), and as an affiliate consultant with TeraQuest Metrics, Inc. (part of Borland Software Corporation). Based in Austin, TX, Denney holds B.A. and M.S. degrees in Computer Science from the University of Texas at Austin, and is certified through the Product Development and Management Association (PDMA). For supplemental information or to contact the author, visit

© Copyright Pearson Education. All rights reserved.