Using UML2 in Rational Rose 2003

Rational Rose hasn't had a major update in a few years (since 2003) and in the interim the UML 2 has come out so lots of people ask about using the UML2 in Rational Rose.   Here are my thoughts:
UML 2 is a super-set of UML 1.x.  The consequence of this is that lots of teams, projects and tools can claim they "support UML 2" using the same UML 1.x notation they have used for a decade or more.  Out-of-the-box Rose 2003 is geared to UML 1.x but the backward compatibility between UML2 and UML1 means that Rose 2003 supports lots of the UML2 notation as well.  It  is a cheap "win" but true.
Rose is highly configurable. You don't have to use Rose very long before you figure out  that there is an underlying repository/engine and on top of that is layered lots of mini-tools for various tasks - models can be viewed in Booch, UML or  OMT notation; you can associate your own icons with <<stereotypes>>, the Rose model files are just structured text files easily scripted/manipulated by other applications, etc.  In short, if is far from rocket science to customize the Rose environment to support UML2 or almost any other notation/process/etc. you want. Not free but  possible.
The functional intent of some UML2 notation can be relized with Rose 2003 and UML 1 notation. A good example of this is in the new regions for Sequence Diagrams.  While UML2-style regions aren't supported in Rose 2003 you can accomplish the same purpose in how Rose 2003 provides comments that link one  diagram to  another. Lots of  other "UML 2" notation has  either been  long  supported in Rose or can  be easily improvised in Rose.
Does UML2 add value to your project?  Don't assume that UML2 is automatically better for you than UML 1.  Begin with the notational needs of the project and then select a notational solution - UML, UML2 and/or other. Forcing  arbitrary UML2 conformance may introduce only small changes that have big disruptions for little benefit.
If you have to ask, the answer is "no"...or "doesn't matter".  There is a big difference between a casual "blueprint" and one that can pass city inspection, be used to build a home, etc. - same with UML.  Even when used on serious projects, lots of UML documents are more glorified PowerPoint slides than engineered artifacts.  Many of the biggest, highest impact, UML2 features are intended for serious engineering use of the notation and they aren't accessible, effective, or safe for use by novices. 

- Brian Lawler

No comments: