Use Case Diagram icon Use Case Diagram
   

Use cases are a means for specifying required usages of a system. Typically, they are used to capture the requirements of a system, that is, to explain what a system is supposed to do.

A use case model is shown on a use case diagram. The use-case model is a model of the system's intended functions and its environment and serves as a contract between the customer and the developers. Because it is a very powerful planning instrument, the use-case model is generally used in all phases of the development cycle.

The manager uses it to plan the development and the customer approves the use-case model. When you have that approval, you know the system is what the customer wants. You can also use the model to discuss the system with the customer during development.

The architect checks the use-case model to identify architecturally significant functionality; designers use it as a basis for their work and to get a system overview; testers use it to plan testing activities (use case and integration testing) as early as possible.

Documentation writers review the use cases as a basis for writing the system's user guides.

A unified Modeling Language diagram example showing use cases in a flight reservation system