Stakeholders who are new to Use Cases may find the following short definitions useful:
- Actor - Any external person or thing which interacts with the system and attempts to achieve some goal. An actor is a role, not a specific person or thing.
- Use Case - Describes one way to use the system. Usually written as a set of steps to achieve a goal.
- User Story - A short description of a feature. Stories are similar to use cases, but don't contain detailed steps and scenarios.
- Requirement – Describes non-behavioral aspects of the system, such as usability, performance, reliability, supportability, etc. Requirements can also be used to describe the behavioral (a.k.a. functional) aspects of the system, but generally that task is left to use cases.
- Package - Used to organize your actors, use cases and requirements into smaller chunks of related items. Very similar to folders in Windows.
Use cases are composed of these components (among others):
- Main success scenario - Describes the activities performed in order to accomplish the use case goal. Sometimes called the "sunny day" scenario, it should describe the most common flow of events where nothing goes wrong.
- Extension - Describes an alternative flow or failure condition of the main success scenario. The extension number refers to the step in the main success scenario that it corresponds to. If the extension can happen at any time, it begins with *.
- Precondition - Describes the state of the system before the use case executes. Preconditions are verifiable assertions made about what has already happened.
- Success Guarantee - Also known as post conditions. Describes the state of the system after successful completion of the use case.