With the emergence of the Unified Modeling Language (UML) over the last few years, developers new to the advantages of thorough software-engineering practices now have a better notational system for designing more effective software. To use UML effectively, you will want to create use cases, which help describe the requirements of a system. In their concise and very readable book, the authors of Applying Use Cases show how use cases can benefit all aspects of the software-design process and let you create better software in less time.
This guide provides a case study for a mail-order business (with some e-commerce as well) as its central example. Use cases define how actors (i.e., users) are defined for all the various components of a mail-order business, including inventory, accounting, and order fulfillment. The authors suggest that while use cases are particularly useful at the beginning of a project cycle--for assessing risks and setting project timetables, for instance--they are also useful for testing and deployment of systems (specifically, for creating documentation and help manuals). The sample use cases--and supporting design documents--are what's best in this text. --Richard Dragan
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.