1

It's a SEQ diagram designed for a smartwatch app to receive zone level of feeling from an adult with autism on their smartwatch and provide a recommendation based on their input.

The scenario is like this:

  1. At one of the pre-configured times or in case of outbursts, the app sends an alert.

  2. Sarah senses the alert and raises her wrist to check the app.

  3. Sarah taps the alert

  4. App displays the question “How are you feeling?”

  5. Sarah choose the zone `angry' (represented as a red emoji)

  6. App displays the level of the zone for her to choose

  7. Sarah chooses the level of the zone (it can be green when they feel ok or red when they have some outburst)

  8. App recommends her to take a deep breath for 30 seconds

  9. Sarah taps on the start button

  10. The app will start the countdown

  11. The countdown will stop after 30 seconds

  12. App displays the message confirming that she successfully finished the session

  13. App displays a question: “do you want more 30 seconds”

  14. Sarah chooses another 30 second

  15. App displays some options like: Take a deep breath, go for a walk,

  16. Sarah taps on take a walk

  17. Countdown will start for a 30-second walk

  18. Countdown will stop after 30 seconds

  19. App displays a question “Feeling better”? with color code option

  20. Sarah taps on I’m okay emoji(Zone)

  21. App displays a badge she earned

  22. App logs the Zone

I need to know if I need to correct the diagramSequence diagramnot.

1
  • 1
    How did you arrive at Activities for the objects/actors that the sequence diagram connects? I think you'd be better off representing that textual information as a UML statechart, i.e. modeling states and transitions rather than Activity objects.
    – Erik Eidt
    Dec 29, 2020 at 12:23

1 Answer 1

2

A thing to remember is UML is just a set of tools—the only "best" way to use it is defined by your project and your team.

That being said, here are a few things that I see as potential issues with your diagram:

  1. I don't like how your executions are seemingly arbitrary in length. While it is not exactly specified, I'd recommend having them at least roughly comparable to the actual durations of the processes they symbolize.

  2. Between Choose the level and Return zone level on the left side you have a strange horizontal line in execution on the Main activity lifeline. It looks like an execution occurrence, but it is not connected to anything on either side. I think it is a graphical typo.

  3. Some of your executions appear to start/end without any incoming/outgoing messages. For example, the only execution on the Database lifeline is ending after the message has already left. Which is really strange looking. I suppose it could be interpreted as action continuing after the interaction is over, but then it shouldn't really be part of this diagram, if it has nothing to do with the interaction.

  4. Similarly, some of your messages (Repeat Session) start or end without any execution at all.

  5. The same Database lifeline seems to be missing the rest of the executions, and so are some of the others. The messages shouldn't just hang like that. If they enter a lifeline, they should create an execution occurrence, even if there is no reply.

  6. I am not a big fan of how some of your messages enter a lifeline only to be passed immediately to the next one, like Choose Final Zone. It implies instantaneous action, and looks weird.

  7. Capitalization is very inconsistent throughout the diagram. It is not a mistake per se, but I advice unifying the style.

  8. All of your messages are rendered as synchronous calls. Are you sure they all are? Surely your user interaction is asynchronous, so as to not have your user wait for a response on every interaction before they get to have any input again?

  9. I think it would be appropriate to either add a new lifeline on the left, or have a number of gates to show explicitly where user interaction occurs.

Those are things, that I could see. Hope it helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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