Artifact: Use Case
This artifact captures the sequence of actions a system performs that yields an observable result of value to those interacting with the system.
Domain:  Requirements
Work Product Kinds:  Model Element
Purpose

The primary purpose of the Use Case is to capture the required system behavior from the perspective of the end-user in achieving one or more desired goals.

Use Cases are used for many different roles for many purposes, including:

  • By customers to describe -- or at least approve -- the description of the system's behavior.
  • By potential users to understand the system's behavior.
  • By architects to identify architecturally significant functionality.
  • By developers to understand the required system behavior, thus identifying classes from the use cases' flows of events.
  • By testers as a basis from which to identifying a subset of the required test cases.
  • By managers to plan and assess the work for each iteration.
  • By those who write user documentation, so they can understand the system behavior from the perspective of the sequence of use that should be described in the documentation.
Relationships
Illustrations
Tailoring
Representation Options

Decide the extent to which Use Cases will be elaborated:

  • describe only major flows?
  • describe only the most important use cases?
  • fully describe preconditions and postconditions?
  • describe scenarios first and then rise the level of abstraction by writing the use case flows?

Some projects apply use cases informally to discover requirements, but document and maintain these requirements in another form. How you tailor Use Cases may depend on project size, team experience, your tool set, customer relationship, and so forth. See  Guideline: Detail Use Cases and Scenarios for guidance related to documenting Use Cases.

More Information