Sequence Diagrams: Questions & Answers
How to model exception handling in sequence diagram?
UML provides neither notation to model exception handling in sequence diagrams
nor any reasoning why it is absent.
Some clumsy approaches to model try-catch blocks are by utilizing
while adding stereotypes for
representing thrown exceptions.
There are several proposed notations for exception handling.
What is the difference between sequence diagram and communication (aka collaboration) diagram?
Can a sequence diagram be replaced by communication diagram?
It is generally assumed that
sequence diagrams and
(formerly known as collaboration diagrams) are equivalent and could be converted into each other.
UML 2.3 specification states that communication diagrams correspond to simple sequence diagrams
that use none of the structuring mechanisms such as
and combined fragments.
It is also assumed that for communication diagrams message overtaking
(when the order of the messages received is different from the order of those being sent)
will not take place or is irrelevant.
It means that some complex sequence diagrams can not be represented by equivalent communication diagrams.
Do we show private or protected methods (messages) on sequence diagrams?
When sequence diagrams are used to show implementation, it usually doesn't matter whether methods
are public or private. If we want to show higher level interactions,
e.g. between components
we might decide to show only public methods.
In either case, sequence diagrams have no notion
so there is no way to determine or specify visibility of a message on a sequence diagram.