Wherever the UnifiedModelingLanguage
is discussed, some people invariably say
that their favorite tool for drawing UML diagrams is a general drawing package
(like Visio) rather than some specialized UML tool. (See UmlCaseVultures
for an example.)
I agree with such people, and as near as I can figure out, this is the reason:
to the extent that UML has value, it is as a language for communicating
. Specialized UML tools like RationalRose
usually try to
be CASE tools or do other things like help you find contradictions and
inconsistencies in the model. To do this, they must treat UML as a formal
language. In my experience, this inevitably leads to diagrams that
cannot simply say what you want them to say
. On the occasions when I do
UML, I nearly always need to mix class and interaction diagrams, or some other
such violation of the "rules" of UML.
When I use a tool like Visio and break the rules, people can understand my
UML diagrams and learn from them. When I've used RationalRose
, the diagrams
are usually more confusing than helpful.
I want to use UML to communicate with people. To be effective at that job,
UML has to be flexible, forgiving, and informal.
When I am drawing an InstanceDiagram
in UML my tool of choice is a Waterman fountain pen with broad point filled from a bottle backed up with a Waterman roller ball with a fine cartridge. Drawing it in ink makes you do somethings the tools don't require...you think about where to put something on the page. You always throw away the first one you draw and start over. As you redraw you ask yourself: What objects are closely related to others? How can I lay this out so it communicates the structure as I perceive it?
My second choice is PowerPoint
97 which has spline curves.
We have also find it necessary to extend UML (break the rules) in order to have a drawing of any worth.--DonWells
Or you could just code, and make help documentation for the code and the software.
Conversation continues in IdealUmlCaseTool