I am developing a use case diagram for dog veterinary. However, I was confused that whether I should use dog as an actor or not as it cannot communicate with the system. However, everything that system does is totally dependent on dog like, checking, giving injections e.t.c.
2 Answers
What is an actor?
The key is to define precisely the system under consideration (called the subject in UML-speak), since this determines what is or is not an actor:
Each UseCase specifies some behavior that a subject can perform in collaboration with one or more Actors.
(...) An Actor models a type of role played by an entity that interacts with the subjects of its associated UseCases (e.g., by exchanging signals and data). Actors may represent roles played by human users, external hardware, or other systems.
A more general requirement analysis concept is the stakeholder. All the actors are stakeholders, but there may be stakeholders that are not be actors, for example, if they benefit from a system indirectly.
Is the dog an actor?
It depends on the system under consideration. The main cases are:
The system is an app only used by the veterinary: the dog is not an actor. The system supports the veterinary to achieve his/her goals. There is no direct interaction between the dog and the system (except by accident, if he jumps on the keyboard). The dog nevertheless benefits indirectly from the system, so you may consider it as a stakeholder (should not be represented on the diagram)
The system is composed of a veterinary app and equipment that exchanges signals with the dog (e.g. microphone for AI barking analysis, camera, cardiovascular monitoring electrodes, echographic scanner...). The dog is an actor, even if the dog is passive in the interaction and does not realise that there is a computer involved. The dog is a secondary actor because the use-case supports primarily the goals of the veterinary.
The system is the veterinary clinic: You are then making a business analysis. The dog owner would be a primary actor, since he/she interacts with the clinic for achieving his/her goals, i.e. keeping his/her best companion in good health. The dog would be a secondary actor since it would also interact with the clinic for the use-cases of the owner (wilfully or not). But in such an analysis, the veterinary would be part of the system under consideration and not an actor.
In view of the wording of your question, you're most probably in the first case.

- 68,716
- 7
- 72
- 138
I would suppose it to be a secondary actor. That means it will take part in a use case but not starting it. You can leave it simply out or if you intend to differntiate between different animals you can also use general forms (like mamal).
Indeed an actor is someone/thing that gets added value from the system under consideration. I would think that a pet feeding has also an animal as primary actor. Probably not the case here, but just think of who gets the added value: that's an (primary) actor.

- 35,448
- 8
- 62
- 86