In the beginning, there was the flowchart...

Software diagramming - a warning from history

OMG it's UML

At about the same time that van drivers were rebadged "logistics operators", a sinister organisation calling itself Object Management Group began a campaign to annexe all known software diagrams, rebadging them "UML". Initially, they confined themselves to invading class diagrams, like the one I showed above. But soon they began poking in their oar elsewhere.

Nor were they above reintroducing old enemies to the field of conflict. Take a peek at a UML activity diagram, representing a typical business software analysis scenario: a concert performance of Beethoven's fifth symphony as broadcast on Radio 3.

A UML Activity diagram, portraying the interaction between conductor, audience and orchestra during a performance of Beethoven's fifth symphony

In the words of Rolf Harris CBE, can you tell what it is yet?

That's right, kids, it's nothing but a multi-threaded flowchart, now with added "swimming lanes" to support multicore processors and increase its natural coefficient of bafflement. This sort of thing is emphatically to be discouraged, and I will be passing among you with my anti-activity petition after this lecture.

However, this is not the silliest kind of UML diagram. Let us end with one of the most modern of UML efforts, to which this honour must surely belong: the Use Case diagram, and its astonishingly feeble stick men.

Here is a Use Case taken from Facebook's "Poke" facility. To respect the privacy of the poking participants, and because this application by design emits near-Frankie Howard levels of innuendo, both poker and pokee are played by actors.

A simple use case diagram

I have, however, found a better use for the elaborate drawing software that generates these things. Inspired by the very splendid xkcd webstrip, it is possible to while away the hours of, um, less productive days producing artwork. Just make sure you don't accidentally slip one into your FDS. ®

Four frame cartoon strip made using Use Case 'actors'

Sponsored: 5 critical considerations for enterprise cloud backup