Benefits of using UML sequence
some of the main benefits of using UML sequence diagrams.
1. Help you discover architectural, interface and
logic problems early. Because they allow you to flesh out details before having to implement anything, sequence
diagrams are useful tools to find architectural, interface and logic problems
early on in the design process. You can validate your architecture, interfaces,
state machine and logic by seeing how the system architecture would handle
different basic scenarios and special cases.
This is particularly true for systems involving the
interaction of components that are being implemented in parallel by different
teams. In the cell phone example, each task would typically be implemented by a
separate team. Having a set of sequence diagrams describing how the interfaces
are actually used and what messages/actions are expected at different times
gives each team a consistent and robust implementation plan. You can also document
how special cases should be handled across the entire system. The very act of
creating the sequence diagrams and making them work with your architecture is
valuable because it forces you to think about details such as interfaces,
states, message order, assignment of responsibilities, timers/timeouts and
special/error cases ahead of time.
2. Collaboration tool. Sequence
diagrams are valuable collaboration tools during design meetings because they allow you to discuss the
design in concrete terms. You can see the interactions between entities,
various proposed state transitions and alternate courses/special cases on paper
as you discuss the design. In our experience, having a concrete design proposal
during design meetings greatly enhances the productivity of these meetings even
if the proposed design has problems. You can narrow down the problems and then
make corrections to solve them. The proposal serves as a concrete starting
point for the discussion and as a place to capture proposed changes. Sequence diagram editor makes it so
easy to edit your sequence diagrams that you could even make the corrections in
real time during the meeting and instantly see the result of the changes as you
3. Documentation. Sequence diagrams can be used to
document the dynamic view of the system design
at various levels of abstraction, which is often difficult to extract from
static diagrams or even the complete source code. The diagrams can abstract
much of the implementation detail and provide a high level view of system
behavior. Below is a sequence diagram for making a hotel reservation. The
object initiating the sequence of messages is a Reservation window.
The Reservation window sends a makeReservation() message to a HotelChain. The HotelChain then sends a makeReservation() message to a Hotel. If the Hotel has available rooms, then it makes a Reservation and a Confirmation.
vertical dotted line is a lifeline,
representing the time that an object exists. Each arrow is a message call. An
arrow goes from the sender to the top of the activation bar of the message on the receiver's lifeline. The
activation bar represents the duration of execution of the message.
diagram, the Hotel issues a self call to determine if a room is
available. If so, then the Hotel
creates a Reservation and a Confirmation. The asterisk on the self
call means iteration (to make sure
there is available room for each day of the stay in the hotel). The expression in square brackets, [ ], is