by Schneider, Geri
Perfect for software engineers and project managers, Applying Use Cases, Second Edition, shows you how to implement use cases effectively to design better software in less time. This concise and jargon-free text gives you some best practices to try out in your software shop.
While many titles on software engineering get bogged down in software engineering theory, this book is a friendly and intelligent exception to the rule. The authors deliver a clearly presented tour of the basics of designing effective use cases organized around a single large case study for an order-processing system. The key steps in developing and refining use cases are illustrated with dialogues between hypothetical participants, framed by commentary. From defining a project scope to identifying risks and then creating basic and advanced use cases, guidelines and sample documents are provided to help you get started.
The material on integrating how-to document success and failure scenarios as actors work with software is particularly good. (The successful "basic path" is documented first, and then you learn about what can go wrong in alternative failure paths.) The authors are very clear about how use cases work together, even including or inheriting from one another. Managers will appreciate the presentation of a method (and formula) to calculate how long a given project will take based on the number and complexity of its use cases. This title makes judicious use of UML throughout (including activity diagrams) that can supplement written textual descriptions of use cases. Final chapters examine how to fit use cases into the entire project development lifecycle, from implementing to deploying a design.
Applying Use Cases proves that computer books don't have to be 1,000 pages long to provide real expertise on writing better applications. This is an extremely worthwhile choice for any developer or IT manager seeking to deliver higher quality software in less time. --Richard Dragan