Sequence Diagrams

diagramsuml

I recently read the book 'UML Distilled' and found the sequence diagrams very useful. My question is that can we show 'data flow' as well on a sequence diagram? This is my first time on sequence diagrams.

Nice to see some examples if any.

Best Answer

Sequence Diagram UML: Sequence Diagram Tutorial

The data is included as the parameters within the messages. For example the instance buyersBank of the Bank class takes an accountNumber and returns the balance for the buyersBank instance.

Update:

I have highlighed the key points from the OMG specification. pg 491-494

  • Asynchronous Messages have an open arrow head.
  • (Default) Synchronous Messages typically represent operation calls and are shown with a filled arrow head -The reply message from a method has a dashed line.
  • Object creation Message has a dashed line with an open arrow.
  • Lost Messages are described as a small black circle at the arrow end of the Message.
  • Found Messages are described as a small black circle at the starting end of the Message.
<messageident> ::= 
([<attribute> ‘=’] <signal-or-operation-name>
[‘(‘ [<argument>[‘,’<argument>]* ‘)’]
[‘:’ <return-value>]) | ‘*’

Examples of syntax:

mymessage(14, - , 3.14, “hello”)  // second argument is undefined
v=mymsg(16, variab):96 // this is a reply message carrying the return value 96 assigning it to v
mymsg(myint=16)  // the input parameter ‘myint’ is given the argument value 16

Where:

v = attribute
mymessage = signal-or-operation-name
(16,vairab) = arguments
:96 = return value

Note:

Visual Studio 2010 Ultimate will auto-generate sequence diagrams. You can reverse engineer existing methods by right-clicking and selecting auto-generate sequence diagram.

Visual Studio 2010 Ultimate Sequence Diagram

DevCurry