Guideline for identifying actors and Use Cases
Find the external entities with which the system under development must interact. Candidates include groups of users who will require help from the system to perform their tasks and execute the system’s primary or secondary functions, as well as external hardware, software, and other systems.
Define each candidate actor by naming it and writing a brief description. Includes the actor’s area of responsibility and the goals that the actor will attempt to accomplish when using the system. Eliminate actor candidates who do not have any goals.
Guideline for identifying Use Cases
These questions are useful in identifying actors:
- Who will supply, use, or remove information from the system?
- Who will use the system?
- Who is interested in a certain feature or service provided by the system?
- Who will support and maintain the system?
- What are the system’s external resources?
- What other systems will need to interact with the system under development?
Review the list of stakeholders that you captured in the Vision statement. Not all stakeholders will be actors (meaning, they will not all interact directly with the system under development), but this list of stakeholders is useful for identifying candidates for actors.
Guideline for identifying use cases
The best way to find use cases is to consider what each actor requires of the system. For each actor, human or not, ask:
- What are the goals that the actor will attempt to accomplish with the system?
- What are the primary tasks that the actor wants the system to perform?
- Will the actor create, store, change, remove, or read data in the system?
- Will the actor need to inform the system about sudden external changes?
- Does the actor need to be informed about certain occurrences, such as unavailability of a network resource, in the system?
- Will the actor perform a system startup or shutdown?
Understanding how the target organization works and how this information system might be incorporated into existing operations gives an idea of system’s surroundings. That information may reveal other use case candidates.
Give a unique name and brief description that clearly describes the goals for each use case. If the candidate use case does not have goals, ask yourself why it exists, and then either identify a goal or eliminate the use case.