Use Cases

Use Cases define the set of services that make up a complete system. Each Use Case describes a service undertaken on behalf of an "Actor". The sequence of steps needed to implement the service is explored during discussions with typical users. The user knows how the product being developed is to function, and should have an understanding of the results of choices made about its operation. Conventionally the Use Case should branch minimally.

Use Cases therefore start with the great benefit of being drawn up in a manner familiar to a real user. They provide the additional benefit of being able to be modelled in a straightforward way. The first model that is developed from a Use Case explores the sequence of messages and operations that the Use Case describes. This model (which is part of the UML) helps by making an early check on the correctness and completeness of the Use Case's definition. In other words, this method facilitates very early verification of the system under development, avoiding wasted effort later in development.