This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I just bought the 3rd edition of Fowler's book UML Distilled, and have been avidly reading up about all the cool stuff in UML2. But this brings up a question that I run up against constantly. In my current project, our client uses Rational Rose, version 2001 or so. And Rose's support even for UML 1.2 or 1.3 or whatever was latest at that time is still so-so. And so unless you're doing all your UML by hand and then taking digital pictures of whiteboards, or unless you're drawing everything in PowerPoint or Visio, then you can't use all the latest UML features if you want to draw and document your diagrams in a tool -- unless the tool is always utterly up-to-date with the standard and you keep forking out money to buy the latest version. Which of the big UML tools stay the most up-to-date the fastest? I know of MagicDraw, Poseidon, Enterprise Architect, Rose, etc. And what's the value of new too-cool stuff like the additions to sequence diagrams in UML2 if I want to document my drawings in a tool but my tool is 3 years old? </rant>
Joined: Aug 22, 2003
Allow me to rephrase my question. How much do people use UML features that are not supported by the tool that they're using to draw and store their diagrams?
If you may... I'd say that the latest features of UML are only necessary for improving the ability to generate code -- i.e. moving (an increasingly big) part of the implementation work into the modeling activity (which, at some point, possibly becomes what we today consider "programming").
Let me rephrase your question in a very telling way -- how many people are even using all the features UML had BEFORE the new version? I think you'll find the answer is very, very few. The current tools do the job for the vast majority of people. As Lasse has indicated, the new improvements are almost all in the Metamodel and are related to code generation. They don't change your day-to-day design tasks. Kyle
On the other hand, there are some basic (pre 2.0) UML notations (like association classes, for example) many of the big UML tools do have problems with. Let alone mixing different diagrams or using a custom notation. That's why I prefer more general tools like whiteboards, pen and paper or MS Visio for drawing UML diagrams. It gives me the flexibility I want.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus