Without the ability to reflect the subtleties of behavior, no modeling tool can claim to be a fully functional design tool, much less an integral part of the development process. Rational Rose Modeler is a common modeling tool that is shared by all members of the Rational Rose family. The code generation is extremely flexible and customizable. This has to be one of the most cryptic tools I've ever used and, unlike the modeler, is little changed from previous releases. The analyzer program has a GUI only in the most forgiving sense of the word.
Work proceeds via a menagerie of modal dialog boxes.
If you work from source code generated by Rose, the analyzer program is functional, but reverse-engineering legacy code can be difficult. In many cases, Rose Analyzer can generate Rose files even if it encounters what it considers to be errors in the source. However, if the analyzer chokes on something like a complex preprocessor macro, you may find yourself losing hours in those dialog boxes. Since the analyzer only creates the elements of a class diagram and makes no attempt to create behavior, I doubt the effort in those cases is worthwhile. In areas such as complete support for the UML, configuration management, and customizability, Rational Rose far exceeds its competitors.