Search code examples
umldiagramuse-case-diagram

Understanding UML Use Cases


I have drawn up a UML Use Case for a basic central heating control.

It should allow the user to turn the heating on, off and change the temperature as well as allow them to set a timer to make a change which the hub will then carry out.

The picture below is what I imagine this should look like but I have little experience with UML Case diagrams and I was wondering if this is correct or wrong?

Specifically I was unsure if passing the setTimer to the hub and my use of extends is correct.

Any guidance would be greatly appreciated. Thanks!

UML Use Case for Central Heating Control


Solution

  • A point which I do not understand in your schema is the hub ? Is it an internal part of your system or it is outside the system ?

    If this is an internal part, it can not be an actor, otherwise it could be an actor.

    A simple solution, but which is a debat is to define Time as actor, see http://www.agilemodeling.com/style/useCaseDiagram.htm.

    A more tricky solution is to set a cardinality 0..1 near UC "heaterOn", "heaterOff", "changeTemperature" on link coming from User keeping the extend. Like that, for me, it models that the use casse may be executed without actors, that means that they could be scheduled.

    see Actors with 0..1 cardinality

    Hope this helps.