Given the many misconceptions in the software community regarding what use cases are, and how to develop and apply them, Bittner and Spence present a clear, pragmatic approach to use cases that focuses on the process of synthesizing use cases rather than simply the analytics of syntax, semantics, and diagrams. More than ample time is devoted to use case structure, syntax, semantics, and style. A significant percentage of the book addresses the process and logistical issues associated with team development of a use case model. Comprehensive process discussions are included regarding discovery of actors and use cases,preparing and conducting a use case workshop, finding use case mentors, building a representative team of stakeholders, reviewing use cases, and applying use cases across the lifecycle.
Chapter 10, Here There Be Dragons, will strike a chord with every experienced use case practitioner. As a consultant that develops and reviews use case models for customers, I found this chapter to be on the money. Bittner and Spence identify many improperly-used modeling techniques that often plague organizations during their initial adoption of use cases. Specifically, the sections regarding overuse of extend, include, and generalization relationships deserves much attention.
The Use Case syntax and semantics presented in Bittner and Spence's book is based on the foundational work developed by Ivar Jacobson. Straightforward and useful examples are presented for all of the use case artifacts discussed in the book. Unlike other use case texts that emphasize use case structure, form, and analytically oriented techniques, this book presents sufficient attention to notational elements and invests significantly more in describing pragmatic activities focused on synthesizing use cases that can be effectively leveraged across the lifecycle.
I have recommended Use Case Modeling to my clients as both an introductory as reference book for any project using use cases. The writing style lends itself to the entire spectrum of stakeholders involved in use case development from end users, architects, project managers, and developers.
If you are currently employing use cases, or are considering applying use cases on a project, this book is a MUST HAVE. It de-mystifies much of the confusion surrounding the practical application of use cases, and should be put on par with the early Object Oriented texts of Booch ,Rumbaugh, and Jacobson.