A system has several actors which interact with it. Often these are external systems or humans. Sometimes certain events will act on a certain point in time. A lot of people call these Timer or Time.
I tend to use Scheduler for the following reasons:
- Most of the time the Use Cases will not depend on Time to be started. It will depend on a certain trigger at a certain time. This could be a person hitting a button which acts as this trigger for starting the this Use Case.
- Scheduler doesn’t raise any questions about when this Use Case would be triggered. Using Time will not make clear to the reader as to when this actor will trigger the Use Case.
Another possibility would be to use an actor name like this:
- “Once every month”
- “Every day at midnight”
What would you guys use? What advantages does Time or Timer have?
2 comments
At the first reason you give the actor should be the person who is hitting button. If the button only works between a certain time that could be a precondition of the use case.
My personal opinion is that timer or scheduler are more technical terms that are difficult to understand by the users who are reading the use cases. Therefore I like the possibility of using “Once every month” and “Every day at midnight”, but these have the disadvantage that if the time constraint of the event changes so will the name of the actor.
Alex van Assem
Problem with buttons is that they aren’t there at the time the Use Case is written. But I understand the direction. A scheduler in my perspective is not technical at all. It’s someone or something that is responsible of scheduling tasks that need to be run and making sure they do at a certain time. It leaves it in the middle which of the two this would be.
I now wonder if we should still use an actor for triggering the Use Cases. It’s only triggering a Use Case and has no interaction what so ever. Maybe we should leave the actor aside and create a list of system or “world” events which would trigger the Use Case.
Like this:
Use Case A is triggered at twelve o’clock midnight.
Use Case A is triggered at the last sunday of the month.
gijsd