Use cases are an integral part of UML and RUP so enterprise-level programmers need to know them. They are most useful in the planning stages of large projects to provide a sanity check and a framework. The authors demonstrate the use case process with a hypothetical project to develop a new mail order company. Somewhat twee "discussions" between the fictional developers humanise the subject and provide an unusual degree of narrative tension for such an academic work.
About two thirds of the book is concerned with teaching you how use case is employed. It covers documentation, diagramming, levels of detail and the review process. There's also discussion on splitting large projects and construction/delivery of the system. In the appendices you'll find resources--books and Web sites--documentation templates, UML notation and the order processing system itself taken as far as designing graphic interfaces.
All in all, a thoroughly readable, hands on, introduction to an important and useful project design tool. --Steve Patient
Use case analysis is a methodology for defining the outward features of a software system from the user's point of view. Applying Use Cases, Second Edition, offers a clear and practical introduction to this cutting-edge software development technique. Using numerous realistic examples and a detailed case study, you are guided through the application of use case analysis in the development of software systems.
This new edition has been updated and expanded to reflect the Unified Modeling Language (UML) version 1.3. It also includes more complex and precise examples, descriptions of the pros and cons of various use case documentation techniques, and discussions on how other modeling approaches relate to use cases.
Applying Use Cases, Second Edition, walks you through the software development process, demonstrating how use cases apply to project inception, requirements and risk analysis, system architecture, scheduling, review and testing, and documentation. Key topics include:
- Identifying use cases and describing actors
- Writing the flow of events, including basic and alternative paths
- Reviewing use cases for completeness and correctness
- Diagramming use cases with activity diagrams and sequence diagrams
- Incorporating user interface description and data description documents
- Testing architectural patterns and designs with use cases
- Applying use cases to project planning, prototyping, and estimating
- Identifying and diagramming analysis classes from use cases
- Applying use cases to user guides, test cases, and training material
An entire section of the book is devoted to identifying common mistakes and describing their solutions. Also featured is a handy collection of documentation templates and an abbreviated guide to UML notation.
You will come away from this book with a solid understanding of use cases, along with the skills you need to put use case analysis to work.