A Use Case is something that can be written after a context diagramme is written. A context diagramme provides an overview of the whole system with its interfaces to the outside world. The use cases are written on base of each of the individual interactions between the system an one of its external systems.
As an example, one may take the interaction between the system and the reporting environment for which an interface exists. Such interaction is developed into a use case. A use case is either a diagramme or a written overview how the interaction works.
The use case has next elements:
- It has a title that summarises the purpose of the use case.
- It indicates the main actor that is connected to the interface.
- It has a story that contains a set of testable statements on how the interaction works. Such a story always starts with the begin condition (what needs to be ready in order to allow the interaction to start), one or several steps and finally an end condition that shows how the system looks after the interaction.
The main story is a main success story – sometimes called the sunny day story. It assumes that the interactions reaches its goal. One may also feel the need to describe a situation where the action is cancelled. Such an additional situation may be described in a so-called extension.
Let me try to provide an example.
- Title: provide data for reporting purposes.
- Main actor: Reporting System.
- Story, begin condition. The data must be loaded in the data warehouse.
- Story: step1: Collect data in data warehouse.
- Story: step2: System sends data to Reporting Environment.
- Story: step3: Reporting System stores the data in its own environment.
- Story, end condition. Reporting System contains the data for reporting environment.
The most important limitation of the use case is that the use case does not yet contain a product description. It is focussed on understanding the user interpretation of the interaction between the future system and its external environment.
The product description is a next step. The product can be developped once the use cases are known and understood. In that case, the optimal solution can be given that provides an answer to the demands that are raised from the use cases.