Actor modeling
Template:Wikify is deprecated. Please use a more specific cleanup template as listed in the documentation. |
Actor modeling is a way of software modeling, which focuses on software actors.
Reason for actor modeling
Actor modeling is most prominently used for the early modeling of requirements; through this it becomes possible to understand who the users and stakeholders of a system are and what their interests and needs are regarding that system. The increasing complexity of today’s systems makes it more appropriate to take this approach, instead of a traditional, more mechanically focused approach. When thinking along the dimensions of users and their needs, it is easier to comprehend what the system is designed to accomplish. This approach furthermore helps the users to define the requirements for the system. The approach of actor modeling is normally combined with the modeling of goals and task to give a better understanding of the situation the user is in.
The actor
The central entity of the Actor modeling – the actor itself – can be any kind of possible entity that is performing action. It may for example be a person, a department, or an organization. The goal of actor modeling is to understand the actor better. To do so, it is important to understand the actor, who he is and why he does what he does? The actor has attributes that define him:
- The actor has goals, skills and responsibilities.
- The actor performs tasks with a certain purpose in mind.
- The actor depends on other actors, resources or task.
Relations
The different actors in the model are in general not interdependent. It is therefore necessary to be able to put the actors in a context. This can be done through different kind of relations:
- Connections between actors (what is the relation between the actors)
- Relations to task (what does the user do)
- Relations to goals (what is the goal of the user)
- Dependencies (the user is dependant on other entities: users, tasks, goals)
Roles
Roles are concepts, which allow an impersonalized representation of an actor. It is possible to model a role and connect that role to the actor is filling that role. If the actor that fills the role stops to do so for whatever reason, it can be easily replaced by another actor that from that point on fills the role; this can be as a temporal replacement or as a long term arrangement. It is furthermore possible to assign new and/or different roles to an already existing actor. The advantage of this is that the model itself doesn’t need to be changed; only the connections between the actors and the roles need to be redone.
Examples
There are different modeling languages that support actor modeling. Examples for that are i* and EEML.