1

I have two main actors in the use case diagram where I am modeling the use cases for the visitors of my project: an admin and a user. A user has to signup and then login in order for him/her to open his/her page while an admin has only to login without doing the signup.

Can I make the admin a generalization of a user since he inherits all use cases of the user except for the signup use case?(ofc he has different use cases as well) If not, then should I show them as actors that have no relation between each other?

The generalization would look like this: enter image description here

Christophe
  • 68,716
  • 7
  • 72
  • 138
yami S
  • 21
  • 4
  • Just a remark: `Login` is no use case since there is no added value for the actor. I recommend reading Bittner/Spence about use cases. I would guess you are on the best way to functional decomposition (though UC1..n is wishy washy). – qwerty_so Aug 29 '22 at 22:09

1 Answers1

0

You may indeed make one actor to be specialization of another. This means that the specialized actor (i.e. at the tail of the generalization reliationship, here the Admin) inherits all the use cases of the more general one.

If some use-cases are not relevant for the specialized actor, you may clarify this by introducing some further abstraction: make a difference between all users and normal vs. admin users:

enter image description here

This being said, there is a debate about whether Sign-up should or not be a use-case. It is not independent of the others. In fact it's not a goal of user, but just a constraint that is required to perform any operation. And this constraint can be different depending on whether you're admin or simple users.

Christophe
  • 68,716
  • 7
  • 72
  • 138