3

I'm writing a use-case diagram in which an actor gets a notification. My question is similar to this one except that I'm not sure if my notification use-case is a crosscutting concern.

Suppose my system is an egg timer. The actor is a cook. The cook can set the interval after which the egg timer goes off. The cook also wants to hear the egg timer.

Use-case Diagram

Is this the proper diagram? The cook doesn't perform the "Be Notified" action. However, if I only leave the "Set Alarm Time" use-case, it isn't specified that the egg timer should actually notify the cook.

Should I put the "Be Notified" use-case in a different type of diagram? Should I make another use-case diagram where the cook is the system and the egg timer is the actor?

5

I don't think that "be notified" should be something that is even on a use case diagram. Each use case is a sequence of steps or actions. What appears on a use case diagram is just a summary of what the full use case is, since it doesn't capture all of the steps, preconditions and postconditions, minimal guarantees, triggers, or any of the other information that is typically associated with a use case.

In your specific use cases, the kinds of use cases that I'd expect would be to "set alarm time", "start timer", and "stop timer". The notification would be one result of the "start timer" use case. It's something that the system does as an output, not something that someone uses the system to accomplish.

I would recommend reading the Wikipedia article on use cases and Scott Ambler's Agile Modeling pages on Use Case Diagrams and Use Cases.

As an aside, in UML Distilled, Martin Fowler doesn't give much weight to use case diagrams, asserting that use cases are best captured in textual or tabular form. I tend to agree with this, since a use case table would capture more details. However, a diagram may provide a quick index of the use cases and their relationships to each other and to actors.

  • 1
    Agreed on "Be Notified" not being a proper action for this Use Case. What it could be is a proper action for a use case diagram where the Egg Timer is a System Actor and the Egg Timer is using ANOTHER SYSTEM however a Cook is not a System and it doesn't make sense. How does an Egg Timer USE a Cook? – maple_shaft Apr 3 '15 at 10:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.