Guideline: Logical Roles Model
The Logical Roles Model defines the roles and actors, along with their structure, involved in and important to the 'system'. This guideline explains how to develop a Logical Roles Model.
Relationships
Main Description

Purpose

A primary purpose of modeling actors is to describe how the activities are interacted with by various internal and external actors, and most importantly by its customers and partners. All interactions of actors with activities are defined. Employees that interact with activities and process are also modeled as actors. The Logical Roles Model shows the primary person responsible for a task. The Logical Roles Model will contribute to the definition of new / revised job descriptions. 

Note: Roles are not defined at the business level—they are define in the Logical Perspective. This is because roles imply a decision regarding the implementation of the associated activity (i.e., manual, user, or automated). These decisions are only made at the Logical level. Therefore only Actors are defined, but roles defined at the Logical level may be added to the Business Roles Model if desired. 

Security

Security is another important aspect of the logical roles model—at least a start is made at understanding this aspect, with it being finalized in the Technical Roles Model. By modeling the roles, and optionally the roles that different kinds of users require, a good picture of the security required within the processes and systems involved is created.

Role Structure and understanding security requirements 

This model, along with the logical process model will indicate how the roles structure relates to tasks and processes, and therefore in turn what access and actions these roles need to have to logical entities. The appropriate IT security construct my then be defined to support these required accesses and processes. 

Diagrams used in the logical roles model are:

  • Roles Summary Diagram
  • Roles in Context Diagrams 

Roles Summary Diagram

A roles summary diagram is used to detail the structure of Actors and also of Roles. It also shows the relationships between Actors & Roles and logical activities. At the business level roles model was very simple, but at the logical level the architectural decision required to detail roles are made (i.e., automation vs. manual vs. interactive)—with this analysis and details being defined at the logical level the roles are properly defined. The main objective of the logical roles model (once the set of roles is defined) is to understand the structure of the roles and actors in the Summary Diagram. This structuring supports two objectives:

  • Operations - having a structure to the roles clarifies how the various actors interact with the enterprise, to the point of identifying overlaps and re-use. This will ultimately reduce the implementation complexity (i.e., the GUIs that these roles interact with) and to provide flexibility.
  • Security - understanding how roles participate in processes identify the actions involved and the entities involved, thereby identifying the IT security required for and equated to the role. Roles-based security is the solution assumption—but remember that these RBAC aspects are not finalized until the Technical Perspective is defined.

This diagram is used to define the structure of roles and actors that interact with the system, which is important to do at the logical level, as noted above. This structure reveals how the GUIs or interfaces to the system's activities are shared or used, by the various roles, or by specific (or generalized) actors with the system. 

Structure of roles within the enterprise 

For example, if required and useful, a diagram similar to the above could be produced to illustrate the roles assumed by various employees or classes of employees, within the system. The structure defined here has direct implications on the system and Technical level solutions in terms of how logical activities collaborate, and on the IT security measures required to secure the more sensitive logical activities.

User specific roles model - middle manager 

In this example a Middle Manager actor is shown (and stereotyped as «LogicalActor») as assuming the following roles:  

  • Employee - permitting him/her to access all employee-related logical activities (e.g. HR leave services, etc.).
  • Manager - permitting him/her to perform general management duties (e.g. access "management only" reports etc.).
  • Budget Manager - permitting him/her to manage a budget among other activities (e.g. Financial services, etc.).
  • HR Management - permitting him/her to manager subordinates and their roles/assignments (e.g. HR Management, etc.).
  • Check-in Agent - permitting him/her to assume the duties of a Check-in Agent, presumably only under special circumstances.

Note that all roles interact with and are defined by "User Activities" or "Manual Activities".

Roles in Context

A "roles-in-context" diagram is used to detail the interactions of roles and actors with the activities in the system. This example diagram is similar to the one above, the ThuNorTech process Perform Lab Study, but is a simplified version showing only the relevant activities and with extraneous information removed, but with the roles added.


 

Roles-in-context model - Gather and Analyze Information 



GUI Optimization

Part of the analysis of the Roles Model is the optimization of the interface needed by Users and Actors. Analysis of the processes in association with users, actors, and roles provides a complete picture of what is involved from the user perspective. This end-to-end process and interface analysis defines the cohesion of interfaces, the set of interfaces involved along with how these interfaces relate to each other. Therefore, optimizations of these interfaces, of the GUIs, can be defined.

There will be GUIs in systems that don’t necessarily correspond to an activity in the process model; for example, monitoring roles, reporting roles, client support roles (i.e., lookup tasks). How will this come into play in this approach to modeling? Do these have to be included in the Logical Process Model somehow? The importance of these aspects of the GUI will dictate how to handle them in the Roles Model. If important enough, these roles and associated interfaces (GUIs) should be included in the models, along with how they relate to the other GUIs (e.g., are they integrated or separate, or some other approach).

RBAC

Going too granular with roles is difficult to manage, but aggregating roles too much is inflexible. Define a correlation (RBAC) grid and analyze the optional through various grid structures in terms of Actors vs. Users vs. Roles vs. activities. Once this is understood and finalized, the difficult and complex job of drilling down into individual user/actor/role actions becomes easier.

In the example above, for example, would it better for the "Agent" to have the "Check-in Agent" role, the "Ticket Agent" role, and "Agent Manager" role that is a sub-type of "Middle Manager". A whole set of analysis is done to understand and optimize this structure—this is at the heart of the Roles Model. This analysis often isn’t done or at best poorly understood. The end result is to define the mapping of roles to privileges at the technical level—part of the Technical Roles Model.

A matrix is used to capture this RBAC information. Two kinds of matrixes are used, either the protected object centric or the set of protected objects presentation. They both capture the same information, but the latter may be more practical in terms of managing and using the information.  Also see: Guideline: CRUD Matrix.

RBAC permissions matrix for Protected Object “X”

Action

Role

Create

Read

Update

Delete

Execute

Manager

ü





ü



Author

ü

ü

ü

ü



Editor



ü

ü





Publish



ü

ü



ü

RBAC permissions matrix for a set of Protected Objects

Object

Role

Order

Invoice

Customer

Employee

Product

Sales VP

crud

crud

crud

crud

crud

Sales Manager

crude

crud

ru

r

r

Sales Rep

crud

r

ru

r

r

Stock Manager

-

-

-

r

ru

crude = create; read; update; delete; execute

RBAC (coarse) permissions matrix for activity Protected Objects (logical)

The activities in a process are in the first column (from the Perform Lab Study process diagram above), and associated with defined roles. At the Logical level the analysis of roles is incomplete complete. Optimizations need to be explored and defined; optimizations of roles and also of associated GUIs. In the table below, the Lab Manager role is naturally allowed to do all of the activities, except Edit Tech Report.

Role

Activity/Action

Lab Manager

Lab Team Lead

Lab Engineer

Tech Writer

Check-out Lab Study

ü







Plan Study

ü







Request Demo Products

ü

ü





Receive and Log Demo Products

ü

ü





Prepare Test Scripts & Data

ü

ü





Set-up Equipment

ü

ü





Do Tests

ü



ü



Analyze Test Results

ü



ü



Write Tech Report

ü



ü



Edit Tech Report







ü


For the optimized definition, see: Technical Roles Model.