Some thoughts on the UML Sequence Diagram

This entry is part 4 of 4 in the series Some thoughts on the UML

Earlier this year I had an interesting talk about sequence diagrams. The topic was asynchronous messages and how UML models them. As I find the topic interesting, I thought I will write a bit about that.

So how does UML models asynchronous messages, and how can you tell from a sequence diagram if a message is asynchronous? During the talk there were four signs mention that shows that a call is asynchronous:

  1. There are dashed arrows showing the return calls.
  2. The activity boxes are not continuous on the main lifeline
  3. The arrowhead is not filled for the asynchronous message
  4. The asynchronous message is not horizontal but diagonal.

My favourite one is the diagonal message, and I first I intended to write only about that, but then I thought better and decided to write bout all four statements above.

I will show you which ones are false statements, and why the last one – which was called simply nonsense – is actually true.

Requirements and Use Cases – part II

This is the second part of the Requirements and Use Cases post, and continues right where I finished with that one. In the first part I laid down some basic thoughts about requirements as I see them, and this post builds on that. If you did not read it, please do that first. 2. Use…

Requirements and Use Cases

1. On the Requirements The first topic I want to get a go with is the use of Use Cases. But, before I start on the use cases I would like to clear up some basics about the requirements. I’ve met a lot of people for who there is only one kind of requirement: business…

Some thoughts on the UML…

When I first met UML – way back in school, in 1999 – I instantly liked it. It looked cool, it was new and it went pretty well with Java – which was new too. Until then and for a long time after that programming was taught with Clipper, Turbo Pascal and such, Java was…