A Use Case is a UML modeling element that describes how a user of the proposed system interacts with the system to perform a discrete unit of work. It describes and signifies a single interaction over time that has meaning for the end user (person, machine or other system), and is required to leave the system in a complete state: the interaction either completed or rolled back to the initial state. A Use Case:
|•||Typically has requirements and constraints that describe the essential features and rules under which it operates|
|•||Can have an associated Sequence diagram illustrating behavior over time; who does what to whom, and when|
|•||Typically has scenarios associated with it that describe the work flow over time that produces the end result; alternative work flows (for example, to capture exceptions) are also enabled|
The following is an example Use Case diagram:
If extending a Use Case, you can specify the points of extension with Use Case Extension Points. To display the attributes, operations or constraints of a Use Case on a diagram, use Rectangle Notation.
Enterprise Architect also provides two stereotyped Use Cases: the Test Case and the Business Use Case.
OMG UML Specification:
The OMG UML specification (UML Superstructure Specification, v2.1.1, p. 592) states:
A UseCase is a kind of behaviored classifier that represents a declaration of an offered behavior. Each Use Case specifies some behavior, possibly including variants, that the subject can perform in collaboration with one or more actors.