'Should the action "Set path" be a include in my use case diagram?
My android application allows the user to check the pharmacies nearby him, and when clicking in one of them, it asks the user if he wants to set the path to it.
My doubt is, since I need to check the nearby pharmacies first, should my "Set path" activity include Check nearby pharmacies in my use case diagram?
Also, my application also allows the user to play some memory games and consult its' leaderboards.
In this case, since the user is not obligued to play to see the leaderboards, is the extend correct?
Solution 1:[1]
Use-cases represent sets of behaviors that are of value for the actors and should in principle correspond to goals of the actors.
In this regard, there is some controversy around Login (details of the opposing arguments: here): Login is more a constraint for using the system than a goal valued by users. Most of the users would for instance prefer an SSO behind the scene rather than an explicit login requiring their involvement. I'd recommend to remove it from teh diagram. Just mention it in the narrative (or as an action in the activity diagrams if you go formal).
Regarding Set path, the «include» arrow should be in the opposite direction. This means taht the behaviors of the included use-cases are systematically offered. But in your narrative, I understand that the path is not systematically set. Moreover, as you describe it, Set path seems to be a feature belonging to the Find nearby pharmacy goal. Adding it as a separate use-case is a functional decomposition that would make the diagram unnecessarily complex.
The issue is similar with Check leaderboard extending use-cases are fine for optional behaviors. But again, the leaderboard seems to be a feature, that is part of the Play memory game goal. Again a functional decomposition that you could remove to simplify the diagram.
Keep in mind that use-case diagrams are meant to show the big picture of the system in its environment. It's not intended for a comprehensive description of everything that your system will do, and even less a sequence of actions. THe diagram is in general completed by a textual description of each use-case where you can lay down such details. If you want to be more formal, you could describe each use-case with a more detailed activity diagram.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |

