In general a use case is a description of what a system is used for, and who uses it, without getting into details of how it it performs its functions. A use case focuses on the externally visible aspects of a system. Use cases capture the functional requirements of the system that users use to perform their tasks. Each type of user is called an actor . Actors can be people or other systems.
Actors communicate with the system by sending and receiving messages .
Use cases are explained and elaborated through scenarios . A scenario is a specific path through a use-case. A scenario can be used to desrcibe a typical pattern of use, such as add a new customer, or it could be used to describe an exceptional situation, such as customer's order denied by credit card service. A use case can be thought of as a primarily straight line state diagram, where there is a main path forward from start to intermediate to end states, with some alternative routings. Each scenario exercises one of these paths.