28 May 2003
While I was looking at UML 2, it occurred to me that people differ about what should be in the UML because there are differing fundamental views about what the UML should be. As I thought about this, I came up with three primary classifications for thinking about the UML: UmlAsSketch, UmlAsBlueprint, and UmlAsProgrammingLanguage. (Interestingly Steve Mellor independently came up with the same classifications.)
So when someone else's view of the UML seems rather different to yours, it may be because they use a different mode to you. Also your perception of the UML may be affected by the mode in which it was introduced to you.
A divergent future?
One of the problems that I, and some others, are having with UML 2 is because there are many changes that have been introduced to increase its precision - changes that are primarily to make it more suitable for UmlAsBlueprint, and UmlAsProgrammingLanguage. But these changes increase the bulk of the UML - and thus make it harder for those who prefer UmlAsSketch. My sense is that there's a lot of sketchers out there, and they aren't really that bothered about wading through the detail of the UML standard. As such I think the UML may well diverge into similar but different things: the standard UML and a conventional, informal usage for the sketchers. The problem is that if this happens, then the informal usages will diverge as they get further away from the details of the standard.
Indeed, from my surveys of the use of the UML in non-UML books, this is already happening.