I expect the title to cause uproar and offence. After all UML has become the bedrock of the development community since about 1994 and I'm sure that the software architect or software developer who is working for you will raise their hands in horror at the thought that their hallowed design notation has come under fire. I am often asked why I don't use UML to convey my message in the tutorials and Technical Information Packs (TIPs) that I write. It's quite simple really, UML is a specialist technical notation, and it's one that I believe Business Owners and Professionals don't need (or want) to master in order to understand the Software Solutions that they are presented with. The Unified Modelling Language is Unified, I agree, ever since two gentlemen called Rumbaugh and Booch decided it was a good idea to compromise over their diverging modelling ideas rather than slugging it out. They avoided the VHS/Betamax war of software modelling. UML does allow you to model the relationships and behaviours of a set of interconnected Software objects, but can it be termed a Language in the true sense of the word? Languages are used to aid communication between people in the same country and culture, and the defenders of the faith would argue that it does this within the Software development community. UML certainly doesn't do that outside of that narrow band of followers, and indeed can strike terror into the heart of the person buying your product. When inspecting the claim from within the community a few cracks begin to form. When agreements are reached between two dissimilar modelling approaches you might think that a few compromises had to be reached along the line, and that is truly the case. UML describes quite a number of diagrams which can be used to improve 'understanding' of the problem, but it is left to each community to decide exactly which of these modelling techniques adequately describe their solution. You can end up with a Software Architect with one view and a developer with another, and like all things in software neither is right or wrong! I can almost feel your puzzled expression pushing back across the Internet. How can a Software aficionado be tilting at his own windmills? I am quite happy to help you understand more of the language of the Technophile, through these pages and that could well be the answer for you. However, I also think that there is plenty of room for Software professionals to provide a plain English alternative that the people who pay them can understand. So, in my view UML is bad when you are trying to share knowledge across a broader community, and also can be self defeating. But the bottom line is that until another 'Modelling technique' comes to light, then we are stuck with it. The divide between the technical culture and the rest of the world can only be crossed if the Software elite learn to communicate clearly and effectively.
Add Article
See your ad here