Only 1 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Use Cases: Requirements i... has been added to your Cart
+ CDN$ 6.49 shipping
Used: Good | Details
Sold by Nearfine
Condition: Used: Good
Comment: A good reading copy. May contain markings or be a withdrawn library copy. Expect delivery in 20 days.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Use Cases: Requirements in Context (2nd Edition) Paperback – Jul 25 2003

4.3 out of 5 stars 14 customer reviews

See all 3 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 57.99
CDN$ 57.99 CDN$ 22.25

Harry Potter and the Cursed Child
click to open popover

Special Offers and Product Promotions

  • You'll save an extra 5% on Books purchased from, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)

Frequently Bought Together

  • Use Cases: Requirements in Context (2nd Edition)
  • +
  • Use Case Modeling
Total price: CDN$ 120.58
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 272 pages
  • Publisher: Addison-Wesley Professional; 2 edition (July 25 2003)
  • Language: English
  • ISBN-10: 0321154983
  • ISBN-13: 978-0321154989
  • Product Dimensions: 17.5 x 1.8 x 22.9 cm
  • Shipping Weight: 181 g
  • Average Customer Review: 4.3 out of 5 stars 14 customer reviews
  • Amazon Bestsellers Rank: #177,855 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From the Inside Flap

It has been an interesting three years since the first edition of this book was published. At that time, use cases were still an "interesting technique" but had not been widely adopted. Today, we see a software development marketplace where use cases are the standard practice for gathering requirements and have even migrated to other applications, including business processes and service offerings. We would not have predicted this wave of popularity in our happiest visions.

Of course, our book was not the only one in the last few years to proselytize use cases. But it has been gratifying to be part of this new technique's recognition in the software world. Given this trend, we've decided to publish a second edition of Use Cases, putting together the lessons we've learned since our original thoughts. And the lessons have been many. Our approach in the first edition was something we had created after several use-case-driven project efforts, but it was still a young process. Using it on many more projects since the book was published, we have had a chance to collaborate with many of the best minds in the software business and fine-tune the process into something much more workable, practical, and scaleable. We have also taken ideas from other emerging fields, including the ideas of chaordic organizations (Dee Hock 2000; Margaret Wheatley 2001; and others) as well as Drs. Theodore Williams and Hong Li of Purdue University and their Purdue Enterprise Reference Architecture. Both bodies of work have had a tremendous impact on how we've applied use cases on our projects and how we've recast our ideas in this new edition.

First and most noticeably, we have only three "F" iterations this time: Facade, Filled, and Focused. The last F (Finished) has proven troublesome on one project after another. First of all, in an iterative approach, nothing is ever truly finished. It is always evolving. Also, as an iteration, it really contained only the mesh between use cases and the user interface design. We have moved the user interface ideas into the Facade iteration because the evolution of the user interface should proceed in parallel with the creation of early use cases, not following it.

Another big change is our approach in our management chapter. Although we are not directly contradicting anything from before, we have expanded our explanation of iterative/incremental use-case-driven project management greatly in this edition. We call it holistic iterative/incremental, or HI/I (hi-eye). We believe this area of the lifecycle requires the most work of anything, since the waterfall project management processes from years past are not keeping up with the faster pace, more "chaordic" software lifecycles of today. We present our chapter on management here, but we eagerly look forward to other authors expanding on these ideas and inventing new ways of tackling this big problem. Also, the Project Management Institute (PMI) has made some gestures toward embracing some of the new software lifecycle ideas.

The appendixes in our first edition were regarded by many readers we heard from as the best and the worst parts of the book. We were the first to try to show partially complete use cases in our examples, which is a crucial step to understanding the iterative nature of use case creation. However, the presentation was quite confusing, because we repeated use cases through the four iterations, sometimes they changed, sometimes they didn't, and it was hard to tell what changed and when. This time we're taking a very different approach. We still want to tell the story of how use cases are applied to software requirements gathering, but we're doing it in a much less formal way. In each appendix, we've picked a style of application (large business application, technical subsystem, package evaluation, and so on) and shown how the use cases and other artifacts evolve through the story. We hope this will retain the good aspects of the first edition, but add some coherence to the evolution of use case versions.

We've found on many, many projects that the idea of use case hierarchies does nothing but add confusion. Creating use cases that are "high level" and then "detailed" use cases later is hurting the requirements process. Hierarchies that are taller and more complex (some books advocate four-level hierarchies or more) create more and more distance from the original business requirements. Even though our original process had only two levels of hierarchy (system context-level use case and one level below) we always had trouble with teams who wanted to add levels and confuse themselves. Similarly, using > and > stereotypes on use case associations adds an unnecessary level of problems, which has caused us to eliminate their usage except in very specific circumstances. To this end, we've added a new tool to our familiar set of tools and filters: the hierarchy killer. We hope you have fun killing hierarchies everywhere.

Use cases are different from other types of requirements techniques in many ways, but one particular difference is in the realm of traceability. Use cases are much more traceable back to the business needs, and also traceable into the software development artifacts, to everything from UML analysis and design artifacts to testing, documentation, training, security, and even parts of the architecture. We've decided to dedicate a chapter to this traceability phenomenon of use cases, to show opportunities for making sure the team is "working on the right thing."

Finally, in the interests of keeping up-to-date with the technological tools of requirements gathering, we've listed the tools available at this writing and given some ideas as to their best use. Since these tools change so quickly (and books get written so slowly, especially by us!) we decided to keep this brief.We hope you enjoy this second edition of Use Cases: Requirements in Context. We've enjoyed creating the updates and going through the publishing cycle again with our publishers at Pearson Education. Please feel free to contact us with your ideas, experiences, and comments anytime. Our e-mail addresses are listed at the end of the last chapter in the book.

Preface to the First Edition

Use Cases: Requirements in Context originally came about, as most books probably do, as the result of a complaint. We felt that there weren't any good books that addressed use cases for requirements gathering. It seemed that a lot of people agreed that use cases were a perfectly good tool to solve the requirements problem, but no one had put down on paper any detailed process to help people understand how to use them this way.

Requirements gathering has been a problem on almost every project we've been involved with. The fuzzy nature of requirements makes working with them slippery and unintuitive for most software analysts. Use cases are the first tool we've seen that addresses the specification and communication concerns usually associated with requirements gathering.

Although use cases in themselves are quite intuitive, the process around them is often done poorly. The questions that people have--How many iterations do I do? How fine-grained should a use case be?--are not answered or even addressed in most texts. This is probably because they are hard questions and the answers can vary greatly from one situation to another. However, they are important questions, and we decided to describe our own best practices as a first volley in what we hope will become a spirited industry dialog on how to generate requirements that will address user needs.

Use Cases: Requirements in Context is a practical book for the everyday practitioner. As consultants in the information technology industry, we employ use cases to specify business systems as part of our daily lives. We think we understand the issues facing people when they deliver software using tools such as the Unified Modeling Language and use cases. Our main intent is not to describe use case notation, although we do address that. Instead, we show a requirements process that addresses requirements gathering in a way that produces quality results.

While writing, we considered the factors that cause problems in requirements gathering, and we developed a use case method for delivering a requirements-oriented set of deliverables. The methodology breaks down the activity of producing requirements into a series of steps, and it answers the questions that usually come up when people employ use cases. This book relates directly to the real work of delivering a specification, managing that effort with a team, and getting the most bang for your buck.

We hope you enjoy this book. It was a labor of love for us. This is a process that works well for us. If it works for you, too, that's great. If it doesn't, perhaps you can adapt some of the tools, ideas, or suggestions to your own way of addressing the requirements problem.


From the Back Cover

This book describes how to gather and define software requirements using a process based on use cases. It shows systems analysts and designers how use cases can provide solutions to the most challenging requirements issues, resulting in effective, quality systems that meet the needs of users.

Use Cases, Second Edition: Requirements in Context describes a three-step method for establishing requirements--an iterative process that produces increasingly refined requirements. Drawing on their extensive, real- world experience, the authors offer a wealth of advice on use-case driven lifecycles, planning for change, and keeping on track. In addition, they include numerous detailed examples to illustrate practical applications.

This second edition incorporates the many advancements in use case methodology that have occurred over the past few years. Specifically, this new edition features major changes to the methodology's iterations, and the section on management reflects the faster-paced, more "chaordic" software lifecycles prominent today. In addition, the authors have included a new chapter on use case traceability issues and have revised the appendixes to show more clearly how use cases evolve.

The book opens with a brief introduction to use cases and the Unified Modeling Language (UML). It explains how use cases reduce the incidence of duplicate and inconsistent requirements, and how they facilitate the documentation process and communication among stakeholders.

The book shows you how to:

  • Describe the context of relationships and interactions between actors and applications using use case diagrams and scenarios
  • Specify functional and nonfunctional requirements
  • Create the candidate use case list
  • Break out detailed use cases and add detail to use case diagrams
  • Add triggers, preconditions, basic course of events, and exceptions to use cases
  • Manage the iterative/incremental use case driven project lifecycle
  • Trace back to use cases, nonfunctionals, and business rules
  • Avoid classic mistakes and pitfalls

The book also highlights numerous currently available tools, including use case name filters, the context matrix, user interface requirements, and the authors' own "hierarchy killer."


See all Product Description

Customer Reviews

4.3 out of 5 stars
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback
Programmers naturally hate use cases. They seem boring, and having seen hundreds of them (written by others and handed to me) over the years, I had lost hope that this practice would ever be of any benefit. I had grown tired of constantly reading varying levels of abstraction and 'use-case-itis'. All this, despite the fact that Jacobson's original work and the UDP incorporation of use cases as central to that process was clearly a better way to go than wading through hundreds, sometimes thousands of pages of 'shall' statements that accompany most projects (and too often, lead to their failure).
Then I read this book. I now use it regularly in every requirements-related class I teach, and I tell every programmer I meet to buy this book. Imagine a use case book that programmers can actually get excited about! This book blazes new territory and its practical insights and humor make it a fun read, as well.
Here are the great highlights:
1. Properly scoping and relating use cases
2. Introducing Business Rules as 'first-class citizens"
3. Applying UDP iterations to the use case development process.
These last two items make the book stand out. Understanding the importance of business rules as enterprise-wide invariants that span use cases is ground-breaking. The four UDP iterations are ingenious because they can help to enforce the proper level of abstraction, which is a big problem area for use cases. Try it, you'll like it!
In addition, the book is loaded with great practical advice and examples of good (and bad!) use case text.
Read more ›
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
The best thing about this book is that the authors are not meekly presenting just a stream of bland bromides that echo the sentiments of a million other talking heads. On the contrary, they are quite opinionated and their opinions often illuminate some of the most important issues in the whole raging process debate. Specifically, their discussion of the uselessness of requirements that just appear as a gigantic list of commandments is truly on target. (The writers espouse attaching requirements to the appropriate [and specific] use case.) They also do a good job of dealing with the issue of scope and developing use cases for specific uses. Everyone who's read about use cases has confronted the issue of how to 'refine' them but this book does a better job than most at underlining the importance of scope in the iterative process.
The downsides of this book (IMHO) are:
1. The diagrams are all very simplistic. There really is no point in using a pictographic medium if there's nothing there.
2. The models that are talked about are also too simplistic (but I say that about every book).
3. There is a little bit of smugness about how *their* way is the sane and obvious answer to all that ails developers.
Still, I think this is one of the best Use Case books out there.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
I saw this book in a stall, while searching for some other book. I had a glance at it and really liked the simplicity and practical approach. Once I bought it and read it completely, I felt happy to find such a great book on Requirements Study. To read and understand this book you need not have a lot of experience or a Requirements Specialist. I feel anyone from Programmer to Project Manager will find this book very useful. The authors teach you in a very practical manner, how to come out with good Use Cases. I enjoyed reading this book, applied the concept in my projects while doing Requirements Study and now can happily recommend this book to others.
Three cheers to the authors for a great work.
Note: I found Craig Larmen, while talking about Use Cases in his best selling book on UML and Patterns talks highly about this book.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
This book is a "not so bad" book on Use Cases. It shows clearly how the Use Cases are completed iteratively, with clearly named completion levels. The book also tackle the problem of detailed rules attached to Uses Cases as well as risk list mitigation. On the bad side, I don't like the Use Cases decomposition the authors adopt and, even if a case study is a good idea, two case studies which spend the half of the book seems too much. Another thing about the iterative approach : to oulines the difference between 2 iterations, it should be interesting to use 2 colors or at least bold characters.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
Being in the middle of a messy project this book came to me a little late. I consider is one of the best introductions to
the understanding of what a use case is and WHAT things you should put in it. Everbody has suffered for long endless meetings discussing which is the scope of the use cases and how it should be used, I strongly recomend to read this book before start arguing.
I give it four starts because it lacks in some way of paths that can work as guidelines trough the process, although is not the focus of this book, it would very useful to include a couple of pages reviewing this subject.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most recent customer reviews