What if an actor in a use case diagram is primary and secondary actor at the same time (for different use cases)?

Viewed 478

I have a use case diagram for an appointment scheduling app. The customer is usually the primary actor (e.g. when they register, search services, pick a date, etc.). In 2 use cases the customer is the secondary actor though (e.g. when they receive notifications sent by the service provider). How do I properly visualize that in the use case diagram? Duplicate the actor "customer" and place it on the left and right side. Or work with arrows?

1 Answers

The left/right notation is a convention, not a law. I would place a primary actor always to the left, even if it is a secondary in some use case. Alternatively create more than one UC diagram where the roles can be placed as per convention. That is, in one UC diagram with the actor with his primary role and use cases and on another where the UCs using it as secondary are shown.

Duplicating an element is a fall-back at best. UML does not forbid it, but it's used only on one place with generalizations. The problem here is that you can not see on a diagram whether some element is a something else with the same name or just two renderings of the same thing. I propagate to disallow it. (In the tool I use it's even impossible to have the same element twice on a diagram.)

In the past I also had a convetion to have a «use» association for secondary actors. That's even more clear but it needs to be practiced and documented throughout the model.

Related