Interview Questions for Business Analysts and Systems Analysts

Recent Interview Questions | Search | Subscribe (RSS)


What is the difference between a Primary and Secondary Actor in Use Case Modeling?

Posted by Chris Adams

Article Rating // 45958 Views // 7 Additional Answers & Comments

Categories: Business Analysis, Systems Analysis, Unified Modeling Language (UML), Use Cases


Use Case modeling is used to diagrammatically depict a system and those people or processes that interact with it.  This system can be a business system (a process) or an application system (computer or web based).  To understand the scope of the system under consideration a system boundary is used.  Anything depicted within the system boundary is part of the system under consideration, while anything outside of it is not.  Use cases are then used to define a group of user-system interactions that together deliver value to the user of the system.  These users are called actors.

Primary actors are people, or at times even other systems, that require the assistance of the system under consideration to achieve their goal.  They initiate the use cases of the system (business processes or application functionality).  A use case within the system may have more than one primary actor, since more than one type of role may initiate the processes or functionality of the system.

The system, and its use cases, often rely on other people, business processes, or applications in order to obtain a result or specific information required to achieve its goal.  These are called Secondary Actors.  A secondary actor is one from which the system requires assistance to complete the use case.  A secondary actor never initiates the use case.  It is invoked by the system’s use cases in order to obtain information or a result.  There may also be many secondary actors of a system.



Leslie posted on Tuesday, June 9, 2009 9:34 PM
It depends:
Leslie posted on Tuesday, June 9, 2009 9:42 PM
For a system use case, THE primary actor is the person or system initiating the use case.
For a business use case, THE primary actor is the person getting benefit from the use case.

Yes, I say THE primary actor, because I always use a generalization relationship to create a superactor that plays the role of all other primary actors. In this manner if something changes we only have to edit the one actor and all subactors inherit that change from the superactor.

Also the superactor is described in terms of the functionality they are getting from the use case.

For example: Both the project manager and the team lead may administer users of the system. Instead of showing both the PM and the TM as primary actors, I would create an actor named Administrator and show both the PM and the TM inheriting from the Administrator actor. The Administrator actor is now the primary actor for the 'Admin Users' use case.
Leslie posted on Tuesday, June 9, 2009 9:44 PM
TM should of course be TL.

How do I edit my posts?
Sanat posted on Sunday, August 16, 2009 10:33 AM
Hey baldrick ,

I liked the concept of "Super actor".

But few queries referring to your example given.

If the use case scenario has PM & TM as a primary actors, then they must have been having different responsibility/ roles.
But if the PM & TM are sharing the same responsibility then we can coin them under 'Administrator' actor.

Please correct me if I am wrong. I am just a "Amateur" , just started reading about UML modeling.

Please share , If you have some tutorial regarding UML.

Thanks in Advance.

[email protected]

Leslie posted on Sunday, August 16, 2009 11:23 AM

Yes, the actor describes a role not a job title. So if the use case is describing administration of the system then the actor is an administrator, even though their job title might be project manager or team lead.

Please see for UML tutorials.

Lokesh posted on Tuesday, August 25, 2009 6:11 AM
From the above conversation, primary actor is one who triggers the use case and secondary actor is one who doesn't trigger the use case. For example, in an ecommerce site, if we have a use case "Decode incoming url" which is performed by a service, where precondition is that the customer/ visitor has clicked on a url and post condition is that the customer's browser loads a landing page. Now the main actor is not the user clicking a link but the service component which captures and parses the url variables. This main service can take help of another service (for applying page flow rules, determining locale, site, language etc.). All the services which aid this service are secondary actors.
Agron posted on Tuesday, February 16, 2010 8:16 AM
I agree with Leslie's comments above, actor is an entity that describes the performance that interacts and has relationship with the use case(s) within particular system. An actor may be a class of users, roles of users that can perform, or other systems interacting with the system under consideration.
Actor that performs (triggers) specific use case (function) is not by default primary one.
I am not sure that there is a clear categorisation of the actor (i.e. primary, secondary etc), I believe that actor generalization creates the representation of the way how they interact with the use case and ultimately represents their significance towards the system under consideration.

Agron Gjerqeku
Only registered users may post comments.

Do your homework prior to the business analysis interview!

Having an idea of the type of questions you might be asked during a business analyst interview will not only give you confidence but it will also help you to formulate your thoughts and to be better prepared to answer the interview questions you might get during the interview for a business analyst position.  Of course, just memorizing a list of business analyst interview questions will not make you a great business analyst but it might just help you get that next job.



Select ModernAnalyst Content

Register | Login

Copyright 2006-2024 by Modern Analyst Media LLC