views:

30

answers:

2

Lets say a scheduler which is part of the system is responsible for sending weekly emails to users. Should the "scheduler" be treated as an actor or should this modeled as a use case?

Guidelines for choosing actors say: If: its an actual person interacting with your system. If "Yes" its an Actor Else: Is it something you can change within the system. If "No" its an Actor

The scheduler is not a person. And you can change how it function. But my gut says this can be an actor. A little help would be great.

+1  A: 

The more high level guideline say: If it helps you understand the design, include it in the diagram. If it only introduces unnecessary noise, leave it out.

Also, an even higher level guideline: Use common sense.

shoosh
A: 

I often model schedulers and other time-related external agents as actors. It makes sense, it's understandable, doesn't contradict anything within UML or the common practice of OO modelling, and it fits well with most implementation strategies.

CesarGon