A use case, in essence, presents a stylized storey about how an end user interacts with the system under certain conditions. The narrative text, an outline of activities or interactions, a template-based description, or a diagrammatic representation can all be used to tell the storey. A use case, in whatever shape it takes, portrays the programme or system from the perspective of the end user.
The first phase in developing a use case is to identify the “actors” who will be participating in the storey.
Actors are the various people (or devices) who use the system or product in the context of the defined function and behaviour. It is vital to remember that an actor and an end user are not always synonymous. Primary actors can be identified during the first iteration, and secondary actors can be identified when more about the system is learnt.
The primary actors interact in order for the system to perform the essential functions and provide the desired benefit. They interact frequently and directly with the programme. Secondary actors help the system so that primary actors can fulfil their jobs. Use cases can be developed once the actors have been identified.
According to Jacobson, a use case should address the following questions.
- Who is the primary actor, the secondary actor(s)?
- What are the actor’s goals?
- What preconditions should exist before the story begins?
- What main tasks or functions are performed by the actor?
- What exceptions might be considered as the story is described?
- What variations in the actor’s interaction are possible?
- What system information will the actor acquire, produce, or change?
- Will the actor have to inform the system about changes in the external environment?
- What information does the actor desire from the system?
- Does the actor wish to be informed about unexpected changes?