Book Review - Use Cases Patterns and Blueprints
If you're having trouble translating all the book knowledge of use cases into practical application, check out Use Cases Patterns and Blueprints by Gunnar Overgaard and Karin Palmkvist. A very nice work...
Part 1 - Introduction: Use-Case Patterns and Blueprints; Using Patterns and Blueprints in Use-Case Model Development
Part 2 - Use Cases: Use-Case Modeling - An Introduction; Use Cases; Modeling the System Environment; Structuring a Use-Case Model; Include - Reusing Existing Use Cases; Extend - Expanding Existing Use Cases; Include vs. Extend; More on Extend and Extension Points; Use-Case Generalization - Classification and Inheritance; Actor Generalization - Overlapping Roles; Describing Use Cases; Documenting a Use-Case Model; Mapping Use Cases onto Classes
Part 3 - Use-Case Patterns: Business Rules; Commonality; Component Hierarchy; Concrete Extension or Inclusion; CRUD; Large Use Case; Layered System; Multiple Actors; Optional Service; Orthogonal Views; Use-Case Sequence
Part 4 - Use-Case Blueprints: Access Control; Future Task; Legacy System; Login and Logout; Message Transfer; Passive External Medium; Report Generalization; Stream Input; Translator
Part 5 - Common Mistakes: Alternative Flow as Extension; Business Use Case; Communicating Use Cases; Functional Decomposition; Micro Use Cases; Mix of Abstraction Levels; Multiple Business Values; Security Levels with Actors
Glossary; References; Index
The feature I often find most useful in programming books is the liberal use of code samples that can be "appropriated" for your own use. But that feature seems to disappear quite often when you get into design work. You have to learn the methodology first, and then you're on your own for trying to figure out how it applies to your system. No samples, no code to steal, it's just slog away and hope you get it right. This book allows you to break out of that pattern (no pun intended) when it comes to writing up use cases. Overgaard and Palmkvist have taken their multiple years of experience with use cases and distilled down a number of repeating "patterns" that are seen over and over in many business systems. They then name the pattern, explain the type of situation that calls for it, shows the way it would be written up, and then they apply it to a few example uses. If you're the type of programmer or designer who likes to "look at the answers" to figure out how something is done, this book provides quite a few "answers" for you to study and learn from.
While the book is touted as being for all levels, I don't know that I'd recommend this as a learning guide for use cases. They do cover the basics, but it just didn't strike me as a good tutorial. Having said that, this should be the *second* book you buy in order to take your ability to work with use cases to a higher level.