Succeeding with Use Cases
Working Smart to Deliver QualityRichard Denney
May 2005, Paperback, 336 pagesISBN13: 9780321316431
ISBN10: 0321316436
This title is ordered on demand which may result in extended delivery times.
Description
- Back Cover
- Table of Contents
- Features
- Author
- Reviews
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.
- Description
Back Cover
- Table of Contents
- Features
- Author
- Reviews
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.
- Description
- Back Cover
Table of Contents
- Features
- Author
- Reviews
Preface.
Acknowledgments.
I. QUALITY FUNCTION DEPLOYMENT.
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
II. SOFTWARE RELIABILITY ENGINEERING.
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
III. MODEL-BASED SPECIFICATION (PRECONDITIONS, POSTCONDITIONS, AND INVARIANTS).
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
IV. USE CASE CONFIGURATION MANAGEMENT.
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
V. APPENDICES.
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
References.
Index.
- Description
- Back Cover
- Table of Contents
Features
- Author
- Reviews
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 http://www.software-quality-consulting.com.
© Copyright Pearson Education. All rights reserved.
