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.