The lost art of description
I was just walking through a shopping centre, and some random girl walking in the opposite direction handed me a flyer as she passed. I looked at the flyer, but it wasn't entirely obvious what it was advertising. The large print just says ‘TwentyTwo’, and ‘Free admission to any of these events with this flyer’, and ‘join us over the festive season’. After reading the smaller print, which says things like ‘over 18s’ and ‘10pm till 3am’ and describes a dress code, I've concluded that it's a nightclub of some sort, but (a) I'm still none the wiser about what kind of nightclub (what music? what sort of people? is there any particular reason I might want to go to it?), and (b) it seems barking mad that I should have had to read as far as the small print to even get that far!
Now I think about it, this seems symptomatic of a more widespread tendency I've been noticing here and there for a while, which is that people increasingly seem unwilling to spend the effort to tell other people what things are.
Another good case of this: two months ago, somebody sent me a link to some website's terms-
Computer industry marketing is another area in which this sort of thing is widespread. Occasionally somebody will mention a computer-
Finally, you also get a lot of this sort of thing in blogs and discussion forums, where people will post a URL without any explanation of what it is or why you might want to visit it. If it's a web forum, one might argue that it only takes a couple of seconds to find out for yourself, but even so, the Usenet effort economy still applies: thirty seconds of one writer's time works out to less overall than two seconds each of twenty readers', and if lots of people post bare URLs then I don't have two seconds to spare for all of them so I'd like some means of deciding which ones are worth looking at in advance. Particularly bad is if the link goes via one of those URL-
I'm not asking for huge elaborate descriptions of things which remove any need for me to go and read the actual thing. I just think that writing, say, ten words or so to give people the first idea of what something is shouldn't be that difficult for anybody, and yet it seems to be taking the first steps toward becoming a lost art.
no subject
no subject
How about this, then:
It's a modelling language that defines syntaxes for different types of diagrams relating to system design (eg FSMs, message sequence charts, user interactions, object hierarchies) and a framework for fitting them together to provide a coherent (hopefully :-)) system architecture that can (again, hopefully :-)) be understood by techies and non-techies alike.
It has a string of other claims associated with it, including things like self-documenting systems (if you've written the UML model and developed the code from it, there's no need for further documentation) and making development faster and more reliable with less need for skilled programmers (if your system architect has designed the model, she doesn't need to know the intricacies of C or C++ or Java syntax to implement it - just press a button and bing, there it is).
As I tried to imply above, I'm not really sure that it does actually achieve any of these otherwise laudable aims.
no subject
- the types of diagram and their visual syntaxes and symbol sets actually are pretty much the whole of UML, and there's no textual component that goes with them
- the sole purpose of a UML model is to communicate information about systems' structure between people (i.e. it isn't a "modelling" language in the sense of "simulation", and doesn't give you ways to predict how the system will behave other than thinking very hard about it in the conventional non-UML-based way).
Are those accurate? Because neither one was something I was entirely sure about before this conversation, so I'm learning new facts here which I suspect most UML people would have seen as so basic that they'd have forgotten to tell them to me.no subject
Second bullet: yes, although there are some tools that can help you iron out some of the issues (like warning you that you've got a use case that isn't covered by any of your state transitions, or a message sequence that can never get triggered).
There is also a "real time extension" for UML that claims to allow you to add clocks and timers and whatnot to your diagrams, and I bet that would also then allow you to simulate stuff happening (again, with the right tools). However, I have never met anybody who had a good word to say about that, other than the people who sell the tools :-)
I suspect some UML proponents would make far greater claims for it than I am making here - my knowledge is based on a years-ago training course which I have used very infrequently since.
no subject
UML is for describing system architecture and behaviour, in a way that allows non-technical people to understand how it all works
eg FSMs, message sequence charts, user interactions, object hierarchies
I'm having a hard time imagining these two things as remotely compatible. (Also the first reminds me of COBOL.)