2

enter image description here

Does the above diagram mean that general Actor can perform UseCase1 which may include UseCase2, but Actor2 can only perform UseCase2. Or, it means that an Actor has to be Actor 2 to perform extended UseCase2?

What does it mean and what the diagram should be to have another meaning?

samman adhikari
  • 571
  • 1
  • 7
  • 17

1 Answers1

2

general Actor can perform UseCase1 which may include UseCase2

yes, even it is more clear to say UseCase2 can be inserted in UseCase1, to not confuse include with an include relationship between UCs

Actor2 can only perform UseCase2

no, because actor2 inherits actor, actor2 can also activate usecase1

Actor has to be Actor 2 to perform extended UseCase2

no, Actor can perform UseCase2 through the extension point independently of actor2 or the fact actor2 exists (in the model point of view)

bruno
  • 32,421
  • 7
  • 25
  • 37
  • just for my understanding, So the Association between Actor2 and Usecase2 does not change anything!? It would be the same signification without it, no!? – Red Beard Jul 10 '20 at 07:11
  • @RedBeard for Actor the association between Actor2 and Usecase2 is not relevant and changes nothing, and for Actor the existence of actor2 is not relevant and changes nothing too. – bruno Jul 10 '20 at 07:14
  • @RedBeard `It would be the same signification without it` : yes then – bruno Jul 10 '20 at 07:21
  • @bruno So lets say I usecase1 is "create user" and usecase2 is "assign admin role". This means when Actor is creating user he/she can set the the new user as admin. But the actor has to be super admin to assign the user as admin. So I can set Actor as user and Actor2 as super admin. How can I handle this scenario in the above diagram. Should I completely change the diagram and create a new seperate Actor for super admin and also seperate usecase2(assign admin role) from usercase1 – samman adhikari Jul 10 '20 at 07:50
  • @sammanadhikari it is strange for a "simple user" to be able to create an other user with the admin right. So to replace actor by user, usecase1 by "create user" and usecase2 by "set admin" still having the extend activated by "user" is abnormal for me. It is also strange for a user to be able to create an other user, if you think for instance about a forum a non-registered user can create an account for himself/herself and certainly not to be admin of the forum – bruno Jul 10 '20 at 08:02
  • @sammanadhikari `seperate usecase2(assign admin role) from usercase1` : the problem is not the extend between the 2 UCs, the problem is the fact "user" can activate "usecase2(assign admin role)" – bruno Jul 10 '20 at 08:06
  • @bruno Sorry, I made a mistake. Actor is "admin" and Actor2 is "super admin". admin can create user but only super admin can assign admin. So i must remove the generalization between admin and super admin and create a seperate independent actor for super admin. – samman adhikari Jul 10 '20 at 08:15
  • @sammanadhikari but if admin is able to give the admin right when creating a new user for me it is useless to have a super-admin to change the right of an already existing user, allow admin to do that that and do not define super-admin. You can have only the actor admin and the two UCs with the extend, and to have admin able to activate the two UCs – bruno Jul 10 '20 at 08:21
  • @bruno So i think I must seperate the use UCs so that admin wont have access to assign another admin. Am i right? – samman adhikari Jul 10 '20 at 08:21
  • @sammanadhikari no, you do not need admin and super-admin, reread my previous remark – bruno Jul 10 '20 at 08:22
  • @sammanadhikari note also to have an UC to change an existing user to become admin is too restrictive, to have an UC to change the right (whatever user->admin or the reverse) seems more interesting, and in that case I am not sure the extend relationship is very useful, to set the right is part of the user creation. UC are not about implementation – bruno Jul 10 '20 at 08:29
  • your last remark was ```the problem is not the extend between the 2 UCs, the problem is the fact "user" can activate "usecase2(assign admin role)" ```. The Actor is not a normal user, he/she is admin. – samman adhikari Jul 10 '20 at 08:29
  • @sammanadhikari yes, but whatever, you do not need a super-admin for me, an admin is enough. The more your model is simple the better it is, do not search to complexity it – bruno Jul 10 '20 at 08:30
  • @sammanadhikari I edited some remarks, refresh the page and reread them please – bruno Jul 10 '20 at 08:32