Sunday, September 23, 2007

Sequence Diagrams and UML

[0] http://www.sparxsystems.com.au/resources/uml2_tutorial/uml2_sequencediagram.html

Good summary of UML2 sequence diagrams

complete, incomplete messages
lost or found messages
synchronous and asynchronous messages
Create and Destroy messages
List of all combined fragments

[1] http://www.ibm.com/developerworks/rational/library/3101.html

* Lifelines
* Messages
* Guards [pre-conditions that need to be met; In-Line Guards]
* Combined Fragments [Alternatives, Options, Loops, Break, Parallel

[2] http://www.agilemodeling.com/artifacts/sequenceDiagram.htm
Good examples of Sequence Diagrams
Several References

[3] http://www.agilemodeling.com/style/sequenceDiagram.htm
Style guidelines to draw Sequence Diagrams

[4] http://developers.sun.com/jsenterprise/learning/tutorials/jse8/uml_sequence_diagram.html
Tutorial on "UML Modeling: Creating Sequence Diagrams"
Outlines the process of creating Sequence Diagrams using Sun Java Studio Enterprise.

[5] Interesting Quick Sequence Diagram Editor
http://sdedit.sourceforge.net/

You can download and try out drawing the sequence diagrams

[6] Many examples of Sequence Diagrams in TCP/IP domain are given here
http://www.eventhelix.com/RealtimeMantra/Networking/

[7] How to model "Actor" and "Activation"
http://www.dotnetcoders.com/web/learning/uml/diagrams/sequence.aspx

[8] Interesting web-based sequence diagramming generator
http://www.websequencediagrams.com/

[9] How to draw Sequence Diagrams in Eclipse UML
http://open.ncsu.edu/se/tutorials/seq_diagram/

[10] http://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/index.html

Instantaneous Message; Non-Instantaneous Message; Multi-Object
[Are these UML? or proprietary to Trace Modeler]



Notes:

[1] Note that leaving the instance name blank can represent anonymous and unnamed instances.

UML Notation of the instance
 instance name : class name 

[2] From http://en.wikipedia.org/wiki/Sequence_diagram

In order to display interaction, messages are used. These are horizontal arrows with the message name written above them. Solid arrows with full heads are synchronous calls, solid arrows with stick heads are asynchronous calls and dashed arrows with stick heads are return messages.

Activation boxes, or method-call boxes, are opaque rectangles drawn on top of lifelines to represent that processes are being performed in response to the message.

When an object is destroyed (removed from memory), an X is drawn on top of the lifeline, and the dashed line ceases to be drawn below it (this is not the case in the first example though). It should be the result of a message, either from the object itself, or another.

A message sent from outside the diagram can be represented by a message originating from a filled-in circle.

[3] What is the difference between a signature and a contract?
(Motivation for Operating Conditions)

http://www.cs.rit.edu/~afb/20012/cs4/slides/contract-04.html

Sequence Diagrams indicate the signatures and the return types;
However, the "operating conditions / contracts" outline the contracts

Also, see hierarchy of contracts
http://www.cs.rit.edu/~afb/20012/cs4/slides/contract-05.html

Extensions are obliged, however, to fulfill the contract of their base classes. Hence, contracts must not be weakened by extensions.


[4]

1 Comments:

At 10:43 PM, Blogger Evan said...

Another sequence diagram resource would be the comprehensive Sequence Diagram Tutorial by Creately with templates and examples on how to draw sequence diagrams.

 

Post a Comment

<< Home