umluse-case

How to represent relationship between system-level use case diagram and organization-level diagram


In my application, I have actors guest, user and admin, user can use basic features and admin can do things like manage users.

Beside, each user can create an organization, and inside organization also have different roles: member, collaborator, and admin

I drawed a use case diagram that have this generalization: user <- member <- collaborator <- owner <- admin Use case diagram here. But clearly admin can only access organizations that admin belongs to, so admin cannot have generalization from owner. So I think this is not the right way.

I'm thinking of create 2 different use case diagrams for this case. One is system-level (contains guest, user, admin) and one is organization-level (contains member, collaborator, owner). The problem is that I don't how to represent relationship between these 2 diagrams, maybe I can use a note description to depict that relationship?

Appreciate for any help on this. Thanks!


Solution

  • Use of generalization is a great idea and elegant solution. However, it should be used wisely an only when it corresponds to the reality of your domain:

    There is one ambiguity in your narrative: are the admin actors (first paragraph) the same than users that have the admin role?

    With this question in mind, and considering that UML actors correspond to roles that an external user can have, I'd suggest the follwoing approach:

    Also don't forget that you can use constraints in your diagram to express in plain words important constraints, such as the need to be logged, or having a subscribtion, or the fact that an admin can only perform use-cases for the organization he/she belongs to.