Use Cases: Requirements in Context, 2 edition
Authors: Daryl Kulak, Eamonn Guiney
Venue:  (2003)

From the Book:Use Cases: Requirements in Context 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. In fact, even as we write today, in late 1999, there is no book of this sort that we know of. 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 businesssystems 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. The sample use cases and use case diagrams that appear throughout the book are also presented in Appendixes B and C. These appendixes demonstrate the development of the use cases and other requirements analysis artifacts through each phase of their development. Appendix B documents a business system for real estate, and Appendix C documents a business system for the garment industry. 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.