Tuesday, February 12, 2008

Creating sequence diagrams

The sequence diagrams are getting complicated.
I am now looking at the benefits that UML 2.0 can bring us in reducing the complexity.
I mean I started off modelling the sequence diagram for the prepare itinerary use case and ended up with a diagram that didn't fit on the screen any more, and I didn't even modelled the business functionality yet, I stopped at the business delegate.
So looking at the new elements in UML 2.0 I found the Interaction Overview diagrams useful for splitting the complex sequence diagram into smaller more usable chunks.
I'd like to soon finish the sequence diagram for this first, but major, use case and then start modelling the class diagram.
When that has been done, most likely I will need to correct my sequence diagrams again to reflect corrected flaws discovered when doing the class diagram.

In the mean time I am having a great discussion on javaranch about a discrepancy in the requirements. The prepare itinerary scenario mentions alternative flights within one hour and less than the selected, while in the given interview with CEO and CIO the flights have a flat price per destination, per seat class. Another thread on javaranch discusses the difference (or lack off) between flight and segment.

Speeking with UB40: both these discussions give me quite some food for thought!


yanic said...

Hi Marcel,

You don't really need an interaction overview diagram, unless you have many SD's related in a complex way.

It would be helpful if I could see the diagram but here are easy two ways to reduce the size :

1) focus on one particular scenario per diagram instead of trying to show all possible scenarios in one diagram

2) leave out all calls in the activation of under call X, and start a new diagram with call X. This will allow you to take a chunck from somewhere in the middle of the diagram and move it to a new one.

If you're still looking for a great tool and tutorial, check out

Trace Modeler, an easy to use and smart editor for UML sequence diagrams
A quick introduction to UML sequence diagrams

Best regards,

smhanov said...

Sequence diagrams don't have to be complicated. For example, try out websequencediagrams.com. It lets you try out different scenarios using the "alt" command.

SpiderMars said...

Yanic, I am not allowed to share the details of the assignment, so I cannot share the scenario's.
The scenario however is pretty complex it involves about 8 communication steps between the user and the system. I am not trying to combine different scenario's onto one diagram, I think that clarity is very important and combining scenarios on one diagram reduces the clarity of the diagram.
Your point 2 is interesting. I use interaction overview diagrams to show the relation between the different chunks, do you know of an easier way?