Question

I have three main actors in my Use Case diagram, Admin, SuperAdmin, User. Now SuperAdmin CRUD Admins, each admin have different privilege, 3 different privileges to be precise. My question is do I have to create 3 types of Admins (so 2 more actors) which each admin is represented according to his privilege, or just create a single Admin actor & link it to all three use cases (the 3 privileges)?

I am new user of UML & This is my 1st project.

Was it helpful?

Solution

That depends on the privileges.

  • If a privilege is a use case - a specific behaviour of the subject(system you are creating), exposed to a user - then if two actors differ in admittance to this use case, they should be shown as different actors. For example, one admin can register a user, the other cannot. Make also different names for them.

  • If a privilege is NOT a behaviour - for example, one admin can set the priority level of user 0..5 and another can set it in range 0..7, they could be shown as one actor and their privileges could be shown as states. State machines, according to UML standard, can be included in Use Cases.

  • If the privilege is merely temporary, surely use one actor, because it IS the state. Don't forget, that different users in different moments often have different options. But this fact is to be described by state machine, inside or outside of the Use case diagram.

OTHER TIPS

By UML definition, actor does not represent privilegies. UML says, When system executes declared usecases, it interacts (or collaborates) with actors associated to usecase. It means, if actor does not have association (direct or indirect) to UseCase, it has not access to this functionality.

Actor can specialize other actor, it means, specialized actor interact with system during execution of usecases, thas more general actor has associated etc.

Do not define actors only just to describe privilegies, it is not correct approach.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top