Alistair Cockburn's Writing Effective Use Cases is an approachable, informative, and very intelligent treatment of an essential topic of software design. "Use cases" describe how "actors" interact with computer systems and are essential to software-modeling requirements. For anyone who designs software, this title offers some real insight into writing use cases that are clear and correct and lead to better and less costly software. The focus of this text is on use cases that are written, as opposed to modeled in UML. This book may change your mind about the advantages of writing step-by-step descriptions of the way users (or actors) interact with systems. Besides being an exceptionally clear writer, the author has plenty to say about what works and what doesn't when it comes to creating use cases. There are several standout bits of expertise on display here, including excellent techniques for finding the right "scope" for use cases. (The book uses a color scheme in which blue indicates a sea-level use case that's just right, while higher-level use cases are white, and overly detailed ones are indigo. Cockburn also provides notational symbols to document these levels of detail within a design.)
This book contains numerous tips on the writing style for use cases and plenty of practical advice for managing projects that require a large number of use cases. One particular strength lies in the numerous actual use cases (many with impressive detail) that are borrowed from real-world projects, and demonstrate both good and bad practices. Even though the author expresses a preference for the format of use cases, he presents a variety of styles, including UML graphical versions. The explanation of how use cases fit into the rest of the software engineering process is especially good. The book concludes with several dozen concrete tips for writing better use cases.
Software engineering books often get bogged down in theory. Not so in Writing Effective Use Cases, a slender volume with a practical focus, a concise presentation style, and something truly valuable to say. This book will benefit most anyone who designs software for a living. --Richard Dragan

Topics covered:
Introduction to use cases
Usage narratives
Actors and goals
Graphical models for use cases
Scope for use cases (enterprise-level through nuts-and-bolts use cases)
Primary and supporting actors
Goal levels: user goals, summary level, and subfunctions
Preconditions, triggers, and guarantees
Main success scenarios
Extensions for describing failures

Formats for use cases (including fully dressed one- and two-column formats)
Use case templates for five common project types
Managing use cases for large projects
CRUD use cases
Business-process modeling
Missing requirements
Moving from use cases to user-interface design
Test cases
eXtreme Programming (XP) and use cases
Sample problem use cases
Tips for writing use cases
Use cases and UML diagrams

Book Info
(Pearson Education) An up-to-date guide to writing use cases, expanding on the classic treatments into intermediate and advanced concepts, making this guide appropriate for all skill levels. Softcover. DLC: Application software--Development.