aStore Proxy » The Web Entreprenuer Store


New Releases Books Electronics Music DVD Toys
Top Sellers Books Electronics Music DVD Toys
Product Details
Succeeding with Use Cases: Working Smart to Deliver Quality

Succeeding with Use Cases: Working Smart to Deliver Quality
By Richard Denney

List Price: $49.99
Price: $40.45 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

28 new or used available from $25.05 Average customer review:
(10 customer reviews)


Product Details

  • Amazon Sales Rank: #1622035 in Books
  • Published on: 2005-05-06
  • Original language: English
  • Number of items: 1
  • Dimensions: .82" h x 6.98" w x 9.38" l, 1.38 pounds
  • Binding: Paperback
  • 336 pages

Editorial Reviews

From the Back Cover

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.

About the Author

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://softwarequalityconsulting.blogspot.com/

© Copyright Pearson Education. All rights reserved.

Excerpt. © Reprinted by permission. All rights reserved.

Preface

If the Unified Software Development Process (USDP) were a coloring book, I'm afraid I'd be characterized as one of those kids who just can't color within the lines. I've been using use-case-like "things" for quite some time, although they may have been called something else: workflows, scenarios when Object Modeling Technique (OMT) came out, and then eventually use cases. But the funny thing is, more often than not I wasn't using them like the USDP described them being used. Rather, I was combining them first with this technique, and then that one. It's not that I was trying to be a rebel; use cases just seemed to fit in nicely with other techniques to solve a problem. Eventually, as the USDP matured, I began to notice that others were starting to mention QFD in conjunction with use cases and discuss operational profiles of use cases. Scott Ambler added project portfolio management to his Enterprise Unified Process, an extension to USDP; and preconditions and postconditions actually became an official part of use cases. It finally occurred to me: other people were coloring outside the lines too! The motivation for this: problems that were best solved with techniques that were not a part of USDP proper; problems for which other disciplines already had solutions.

It was this realization that led to this book: that my experiences with disciplines, such as QFD, Software Reliability Engineering, Model-based Specification (preconditions, postconditions, and invariants), Requirements Configuration Management, and Project Portfolio Management combined with use cases might benefit others in the use case development community.

This book presents what I hope you will agree is a whole new set of perspectives on use case-driven development. Innovation, solutions to problems, and ways of working smarter often arise when ideas from multiple areas are combined. As use cases continue to mature, future improvements in use case-driven development are likely to arise from just such cross-pollination of use cases with other disciplines of software engineering. This book looks at four areas that focus on quality engineering.

  1. Quality Function Deployment (QFD)

  2. Software Reliability Engineering

  3. Model-Based Specification (Preconditions, Postconditions, and Invariants)

  4. Requirements Configuration Management/Project Portfolio Management

From each discipline, the book pulls practical, 20/80, "high bang for the buck" ideas that help you and your organization work smart to deliver quality products in use case-driven development.1

Overview of Parts and Chapters

The book is organized into four parts—one per quality engineering discipline—with two chapters each. Here's an overview of what you'll find in each part of the book.

Part 1—Quality Function Deployment

Like it or not, software development is increasingly becoming a team sport! And it's a game being played on a "two dimensional field." Chapter 1, "An Introduction to QFD: Driving Vision Vertically Through the Project," introduces QFD, a team-oriented product-planning tool that is used to translate business drivers into the technical requirements and design aspects of a product. You will learn how to use QFD in use case-driven development as a mechanism for moving vision verticallythe first dimension of the playing fieldthrough projects starting at the senior management/marketing level, where vision is hatched and business priorities are being set, downward to the development team level, so that the product that is released is true to the original vision and business priorities.

The second dimension in which the "team sport" of use case-driven development is played out in a company is horizontally. Chapter 2, "Aligning Decision Making and Synchronizing Distributed Development Horizontally in the Organization," looks at the factors that make use case-driven distributed development difficult and the combined use of QFD and use cases to align decisions and synchronize use case-driven development horizontally across multiple component or product teams, or business groups in a company. You'll learn how to use QFD and simple optimization problem-solving tools to find the optimum duration for a development iteration and the optimum set of high-priority use cases that can be implemented in that time across distributed teams.

Part 2—Software Reliability Engineering

Software Reliability Engineering (SRE) is about increasing customer satisfaction by delivering a reliable product, while minimizing engineering costs. Use case-driven development and SRE are a natural match, both being usage-driven styles of product development. What SRE brings to the party is a discipline for focusing time, effort, and resources on use cases in proportion to their estimated frequency of use or criticality, called an operational profile. In Chapter 3, "Operational Profiles: Quantifying Frequency of Use of Use Cases," you'll learn how to build an operational profile for the scenarios that make up a single use case and for a package of use cases. Examples are provided to illustrate the use of operational profiles to enable you to work intelligently in how you plan the activities that affect your product reliability. The chapter concludes by showing how to extend operational profiles to address risk profiling of use case packages.

Your product has been in final system test for days—or has it been weeks? Surely it must be time to stop testing and release it! Chapter 4, "Reliability and Knowing When to Stop Testing," looks at another important concept that Software Reliability Engineering brings to use case development: A concrete way to talk about "reliability." This includes how to define it, measure it, set goals in terms of it, and track it in testing. In this chapter, you will learn how to set quantitative reliability goals in the form of a failure intensity objective. The development and testing group then tracks product reliability in system tests against this objective providing a sound method to determine when the reliability goal has been reached, testing can terminate, and the product can be released.

Part 3—Model-Based Specification (Preconditions, Postconditions, and Invariants)

In Chapter 5, "Preconditions, Postconditions, and Invariants: What They Didn't Tell You, But You Need to Know!" you are introduced to a time-tested technique for specifying the expected behavior of abstract data types and objects—model-based specification—and learn how to apply it in a fresh way to pose sharp questions in use case failure analysis: the analysis of potential ways a system, specified by a use case, might fail. In doing so, you'll learn some things about preconditions and postconditions they forgot to mention in "Use Case 101." The chapter concludes with ideas on how to work smartly in applying model-based specification, including the section "The Absolute Least You Need to Know: One Fundamental Lesson and Three Simple Rules," which, if you get nothing else from the chapter, will give you a take away you can apply to any and all use cases right away. The goal of this chapter is nothing less than providing you a whole new perspective on use case preconditions and postconditions.

Not only does the model-based specification with its preconditions, postconditions, and invariants provide an integrated basis for use case failure analysis, taken as a unit they are a veritable triple threat test case. In Chapter 6, "Triple Threat Test Design for Use Cases," you'll learn how to take the preconditions, postconditions, and invariants generated from failure analysis in the previous chapter and design test cases from them using Robert Binder's Extended Use Case Test Design Pat...

aStore Proxy for aStore SEO