tags:

views:

839

answers:

5

Alright, on a true false question:

a)The actors of a system are only represented by humans or another software components.

I said TRUE, and the teacher marked it as wrong, not because he considered that I missed hardware components (which I guess I would partially concede), but because, on his words:

"TIME is also an actor."

How would an use case diagram consider TIME as an actor??

Please refer to any bibliography which considers time an actor. I haven't found any, and truthfully I don't think it makes any sense. Time doesn't act by itself, it's either a system or a person that works on a schedule.

+1  A: 

An actor can be considered as someone or something that starts a use case. Scheduled tasks are started by "time". In this sense, "time" is an actor, because it starts a use case.

Example:

A report must be generated each 6 hours. So, the time "6 hours" must be an actor because the generate task will be started each 6 hours.

fbinder
Please show an example in which the actor "Time" interacts with a system. I believe Time doesn't act by itself, it's either a system who works with a timer or a person who acts on a schedule.
omgzor
Would you have considered time as an actor before reading this question? I would always have considered that case you provided to be an example of a software component starting the use case, i.e. the scheduler
Simonw
Yes, it is the convention used by UML.
fbinder
A: 

Time interacts with the system. E.g. time goes past and the system must do something based on that "action".

Nat
+6  A: 

The UML 2 Use Case Diagramming Guidelines here...

http://www.agilemodeling.com/style/useCaseDiagram.htm

... show how Time can be represented.

I suspect though that you should ask your Teacher to explain how Time is an actor and how it's represented on a Use Case diagram because, after all, they'll be marking your next assignment and so their interpretation trumps all others :-)

Oh, and Wikipedia says Time is an Actor, so it must be true:

http://en.wikipedia.org/wiki/Use_case

Martin Peck
Your link says: An actor is a person, organization, or external system that plays a role in one or more interactions with your system (actors are typically drawn as stick figures on UML Use Case diagrams).
omgzor
Then marks a *person* or "system* with the name Time, as someone working on a schedule, not a magical mystical entity that works by itself.
omgzor
Time is an "external system". Check out point 8 just below that definition of Actors. It illustrates Time being added as an actor.
Martin Peck
Yeah, I already referenced it and I find it moronic, cause its not something that acts by itself, but rather a condition scheduled by the system itself, who would be the one who is truly "acting". Either way thanks for the obscure reference to nonsensical canon. Your answer is marked as accepted.
omgzor
I guess my main answer was "get your Teacher to convince you" and then "understand what your Teacher thinks, even if you disagree, because knowing what they beleive allows you to score high marks". I totally sympathise with your point of view - this is just one of the many problems I have with UML.
Martin Peck
Oh well, good talk.. so now I'll upvote hehe.
omgzor
A: 

I agree with having Time as an actor. If a use case in the system is triggered at a certain moment of time I'd model Time as actor and relate it with that use case. Time can be considered an external entity (and thus an actor) in these scenarios

Jordi Cabot
A: 

This question is quite old now. But have a look at

Gathering Additional Requirements via Temporal Actors by Moncef Bari, Ghislain Lévesque and Ahmed Seffah

diego