Advanced Use Case Modeling
The toughest challenge in building a software system that meets the needs of your audience lies in clearly understanding the problems that the system must solve. Advanced Use Case Modeling presents a framework for discovering, identifying, and modeling the problem that the software system will ultimately solve.
Software developers often employ use cases to specify what should be performed by the system they're constructing. Although use case-driven analysis, design, and testing of software systems has become increasingly popular, little has been written on the role of use cases in the complete software cycle. This book fills that need by describing how to create use case models for complex software development projects, using practical examples to explain conceptual information.
The authors extend the work of software visionary Ivar Jacobson, using the Unified Modeling Language (UML) as the notation to describe the book's models. Aimed primarily at software professionals, Advanced Use Case Modeling also includes information that relates use case technique to business processes.
This book presents a process for creating and maintaining use case models in a framework that can be fully customized for your organization. The authors, pioneers in the application of use cases in software development, bring their extensive experience to cover topics such as:
- A process model for applying a use case model
- How to keep your use case modeling effort on track
- Tips and pitfalls in use case modeling
- How to organize your use case model for large-system development
- Similarities between Advanced Use Case Modeling and the Rational Unified Process framework
- Effect of use cases on user interface design
- Guidelines for quality use case modeling
Review By: Michelle Carrier
06/17/2010"Advanced Use Case Modeling" is well organized, easy to understand, and easy to apply. The methods proposed for implementation are simple to follow. The authors begin with clear definitions of use cases, how to organize and prioritize them, how to start from an initial use case, and how to add more details as more requirements are captured. Authors Armour and Miller are realists. Their approach results in a method that is not too heavy for a small company and not too frightening for users who are unaccustomed to this methodology.
As the authors state, "Like all things in the software development project, balance is critical to the successful use of these techniques." The better the use cases are written and understood, the better the tests will be. When we test a product, it is essential to know the actors--their expectations, needs, and priorities. In many cases if the actors are not properly identified, the tests will not be properly targeted. And if the developer doesn't know the actors, the product can miss the initial objective. Nearly everyone in the business has encountered those costly mistakes caused by a misunderstanding of the initial vision. "Advanced Use Case Modeling" contains the methods we need to avoid these errors. The test case method forces the developer to ask the right question about the product.
This book contains an example of a complete cycle of development, making it a good reference to keep nearby. "Advanced Use Case Modeling" is probably the reference for use case implementation.