1

consider in a supermarket system , there is two actors : Customer and Clerk. To create the order , the customer interacts with the clerk and the clerk creates the order in the system. So my question is it valid to do the following use case : enter image description here

In more details , is it valid in uml use case to make an association between two actors ?

2 Answers 2

5

No, this is not a valid use case diagram. Actors interact with use cases and not with other actors.

Alternatives:

  • Clerk is associated with Create order and you do not show the Customer, because the customer does not interact with the software. You can of course mention the customer in the UC narrative or in a comment.
  • Customer is associated with Order, and the system under consideration is no longer your software, but the organizational system composed of the staff, software and equipment the customer is interacting with.
  • Customer and Clerk are both associated with Create order, since the Customer is involved in the use case, even if it’s indirectly.

Personally, I’d opt for the first approach for the software, because the real users matter the most. Probably I’d have used the second approach before even starting to think about the software, in the context of the business engineering (Jacobson wrote a nice book, “the object advantage”, in which he proposed to apply use cases to business engineering).

2
  • I'd guess it's the point of view which to choose. I'd probably connect both to the UC the primary (which ever of both that might be) to the left and the other to the right. I have a conventions (per project) about the primary/secondary being l/r (which is common) or using a <<use>> for the secondary.
    – user188153
    Commented Dec 14, 2019 at 23:16
  • Ah, of course Clerk is primary since he actually creates the order...
    – user188153
    Commented Dec 14, 2019 at 23:18
1

In addition to Christophe's answer:

p. 645 of UML 2.5:

An Actor can only have Associations to UseCases, Components, and Classes. Furthermore these Associations must be binary.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.