Use Case Analysis: How to Identify Actors?
5-7 minutes
Identifying actors is one of the first steps in use case analysis. Each type of external entities with which the system must interact is represented by an actor. For example, the operating environment of a software system consists of the users, devices, and programs that the system interacts with. These are called actors which has the following characteristics:
- An actor in use case modeling specifies a role played by a user or any other system that interacts with the subject.
- An Actor models a type of role played by an entity that interacts with the subject(e.g., by exchanging signals and data), but which is external to the subject.
- Actors may represent roles played by human users, external hardware, or other subjects.
- Actors do not necessarily represent specific physical entities but merely particular facets (i.e., “roles”) of some entities that are relevant to the specification of its associated use cases.
- A single physical instance may play the role of several different actors and a given actor may be played by multiple different instances.
Types of actors include:
- Users
- database systems
- clients and servers
- cloud platforms
- devices
Identify Candidate Actors for Use Cases
Candidate actors include groups of users who will require help from the system toper form their tasks and run 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.
- These questions are useful in identifying actors:
- Which user groups require help from the system to perform their tasks?
- Which user groups are needed to execute the system’s most obvious main functions?
- Which user groups are required to perform secondary functions, such as system maintenance and administration?
- Will the system interact with any external hardware or software system?
- Any individual, group or phenomenon that fits one or more of these categories is a candidate for an actor.
Primary vs Supporting Actors
Primary actor of a use case is the stakeholder that calls on the system to deliver one of its services. It has a goal with respect to the system – one that can be satisfied by its operation. The primary actor is often, but not always, the actor who triggers the use case.
Supporting Actors: A supporting actor in a use case in an external actor that provides a service to the system under design.
Note That:
Supporting actors may or may not have goals that they expect to be satisfied by the use case, the primary actor always has a goal, and the use case exists to satisfy the primary actor. It might be an external server or a web service.
- A primary actor initiates an interaction with the system.
- The system initiates interactions with secondary actors.
Here are a few questions to guide the identification of primary and secondary actors:
Who are the primary actors?
- What roles do they play in the application domain?
- What are their roles? What tasks must they perform?
- How will they interact with the system? GUI? Telephone? Web?
Who are the secondary actors?
- What services do they provide?
- How will the system communicate with them? Network? Port?
- What specific APIs do secondary actors provide for communication and services?