Use cases are a wonderfully simple concept, describe a system´s functional requirements by telling stories about how its usage delivers value to its actors. Yet, for such a simple concept, good use cases are really hard to write. Use case authors frequently must deal with the difficult questions of:
Usually the answers to most of these questions must be prefixed with a very unsatisfying "Well it depends...".
Starting with OOPSLA 98, a group of use case practitioners began contributing to the development of a use case pattern language. The pattern language tries to capture the knowledge and experience of successful use case developers such that it can be easily re-used by other use case developers. Patterns can capture of the solution to a difficult problem and cope with the fuzziness necessary with the answers to these questions.
This topic is of benefit to anyone who has tried to write use cases and has found it difficult, frustrating, and has not been satisfied with the results. This includes: developers, technical managers, business analysts, product managers, requirements engineers and anyone else who has a need to prepare or understand use cases.'