Here are the results from my survey request for UML diagramming tools in the
previous newsletter. Thanks to
everyone who responded.
- Enterprise Architect
A reader wrote: "Enterprise Architect is a UML diagramming tool that also
incorporates forward/reverse engineering of source code into (and out of)
models. It is an extremely capable modeler, and has a very attractive price tag
($180 for the corporate edition, which includes secure storage of models into
SQL Server (or even MySQL!)). It is probably one of the most active closed
source applications in existence, with updates coming out every 2 to 3 weeks.
The lead developer (Geoffrey Sparks) is extremely responsive to requests and/or
suggestions... several of mine have gone into the application almost overnight."
When you generate RTF documentation from within EA, you have the choice
of setting the image type to:
- EMF
- WMF
- GIF
- JPG
- PNG
- Bitmap
(The reader comments) "... you can create incredible
documentation of your project with EA. It'll output all of your
diagrams to HTML with embedded images that are linked. These web pages
will also include notes/comments that you add to your classes or
sequence diagrams or whatever, and it really does turn out very nice.
They have a 30 day trial download."
I contacted Geoffrey Sparks with a question and he did indeed respond quickly:
"EA supports both .EMF (Enhanced Metafile) and .WMF (Windows placeable
metafile) formats. If you right click on a diagram there is a Save Diagram
Image to File option - under the list of output formats, .EMF and .WMF are
supported.
"It is also possible to create a 'Diagrams Only' report for your model
(right click on package in tree). This gives you the possibility of saving
out all your diagrams in one action - in .EMF or .WMF format amongst
others."
My associate Jeremy also made some positive noises about EA.
You can find out more about Enterprise Architect at
http://www.sparxsystems.com.au.
- Poseidon
Available from Gentleware.
Written in Java. Several versions are available, including a
new one targeting embedded environments. The "community version" is free, but only the payware
versions support WMF output. There is a beta of version 2.0 now available.
A reader from Italy reported:
I used Poseidon UML (I have release 1.6 professional).
The tool has not been chosen by myself (I'm a freelance consultant) but
"recommended" by the company I'm working with.
The pros are:
- Is Java so I can use it on Linux and windows
- Free version quite good (with base set of function) enough for basic tasks
- Good reverse engeneering tool
- Good java code production tool
But there are several cons:
- The GUI is very slow (my PC is very powerful): probably it would need
some JVM tuning (I didn't do this, worth trying)
- Produce only java code (at least natively)
- The rel 1.6 has not UNDO/REDO function
- Documentation is very poor
- The relation between the different type of UML diagram is not intuitive
- The layout of the object and the zoom system is not the best I have seen
Gentleware has released a new version. They said they improve a lot the
product. Frankly I didn't test it.
Another reader reported:
I use Poseidon. It is built on top of the open source ArgoUml, but has better
"userland tools". They have a free communty edition... I would recommend trying
their latest beta.
If someone else is paying (like my clients) I use Together.
And another:
I've been using Poseidon (Community Edition) since May (when I couldn't afford
to renew my Rational Rose license !-). I'm am in general satisfied. I do much
more process analysis (Use-Cases, Activity Diagrams etc) than Class Diagrams,
but in reference to your point about "published versions", from the Poseidon
Help: "you can hide private member attributes and operations by checking the
appropriate checkbox in the [Edit Settings]-[Diagram Display]" options.
As a Community Edition - No Fee License, Poseidon comes recommended!
And another:
I've also tried Gentleware's Poseidon for UML. I really liked the feature set,
simplicity, and that it is written in Java (again so we don't have to have
different programs for Winders and Linux). However, the larger my drawings
became the slower the program ran. I suspect they just need to send some time
with a profiler and this program will be another excellent alternative to Rose.
And another:
I like to use Open Source whenever it's possible and I've been pretty happy
with Poseidon for UML Community edition from GentleWare. Of course there are
other additions available for a price but for me they're overkill. It's
definitely worth a look and try.
- ArgoUML
This one's a little confusing, since Poseidon (mentioned above) is "Built on top of" ArgoUML. See
http://argouml.tigris.org
- Visio
A reader writes:
"At work (Sshhhh - don't tell anyone) we're a Microsoft shop and we're into
.NET. So of course we all have MSDN Universal Subscription and part of that
is Visio (.NET 2003). It's a very, very nice product but then I think that
in general Microsoft makes super cool developer tools. I attended VSLive
last month in NY and heard that MS is spending $7.5 billon on R&D for tools
- nice piece of change. But with all the cool tools they still will not be
able to undo the OpenSource/Linux/Java paradigm and Java on any platform it
just too cool."
I've had decent luck with Visio myself, except for the version that came out
right after MS bought the company. But it's nice to have something that is
designed around UML so you don't have to go to the extra work required by a
general-purpose tool.
- Object Domain
"I'd like to recommend Object Domain.
"Not free at all, but very interesting since it's a 100% Java application. As
such a living proof that Java Swing is since long not a toy.
"A very powerful feature is its macro capability, using Jython".
- UMLStudio
"Awhile ago I was required to do some UML modeling for the OOP course in the
university and Rational Rose was recommended for that purpose. I couldn't afford
to download around 200MB so I looked for something else. After lots of searching
and trying I found this nifty program - UMLStudio. I recommended it to
others in that course and it became very popular. I remember one dude who was
previously getting an headache with Rational Rose mention that he wouldn't
recommend Rose even to his biggest enemy.
- Rational Rose
One reader writes:
"Obviously, I am not a big fan of Rational Rose. I have had the opportunity to
use it at a number of shops. While I can be productive with the tool and get
diagrams out the door, it is not a very friendly tool. I would not recommend
Rose to someone getting started in UML. It adds such a degree of difficulty that
the average developer often blames UML."
- Umbrello
"I've recently downloaded and installed Umbrello. I haven't really had a
chance to use it for anything substantial yet. But after trying it out for a
couple hours, it appears to be very promising. It has a very simple interface
and seems to have all the required features."
- Together
"The tool I've liked working with most is Together. It's more a
developing environement than just a diagramming tool. I've developed java
programs with it and I've used it to look at reverse engeneerd C++ class
diagrams. The class diagram updates as you write code and the code is updated as
you make changes in the class diagram. Too bad it doesn't integrate well with
Visual Studio."
- Low-tech
"For UML, whiteboard or A4 coiled notebook lately. I'm thinking about
getting an A3-sized dry erase board that I can just carry around as well."
- Jude
"I confess that I usually end up reverting back to Visio for most of my
diagramming needs, but I had good success with the free Jude UML diagramming
tool. I was never able to determine its license status but it is free to
download without any obvious (or even subtle) license restrictions."
- ARIS
"We have experience with Visio for UML diagramming. We are relatively happy
with it. We are trying to tie this in with other diagrams we build for our
projects and we are looking to do this with IDS Scheer's ARIS modeling tools.
These do not come cheap, but their diagramming tools are very comprehensive.
Lots of checks and balances. See
http://www.ids-scheer.com for more details.
"Just as some background ... I work for an Engineering, Procurement and
Construction firm, and we build large industrial complexes such as refineries
and other manufacturing facilities. I am responsible for all ICT (information
and communication technology). Hence we have a need for good modeling and
physical level as well as at the logical level. We normally start of with a high
level architectural diagram and zoom in from there as well as divert into
logical (processes and application) and physical (hardware and connectivity)
diagrams.
"Our need is in making sure that we have natural linkages between diagrams and
levels of detail, so that we know where we need to make changes, once changes
occur at a certain level. Visio is not a lot of help in that area, but ARIS is.
"We just started using ARIS for UML modeling."
- MagicDraw
One reader writes:
"I have been using Magic Draw. It's
written in Java so we can use the same program on Winders and Linux at the
office. It has a really simple interface and is easy to get started. We have a
number of developers that are not UML savvy and it would have been unreasonable
to expect them to use something like Rational Rose. I believe tools like this
should be simple to "aid" the developer not consume them for hours and hours
trying to make even the most simple UML diagrams."
Another reader writes:
"In earlier times (nearly 10 years...) I have used (with changing success)
Cayenne tools (they had bought Cadre with "Teamwork", for big projects; later
they where bought from CA) or "Together++" (from Peter Coads company, which was
sold recently, too). I will concentrate upon the tool which we are actually
using today.
"In the last years we are using Magic
Draw from NoMagic (founded in Lithuania). They are selling in the states,
too (office in Ca, I believe). They - like others - have a Java-based product.
This makes the GUI somewhat lame in many cases. Without doubt this will be less
of a problem, when the machines get faster still. Mine runs with just 600 MHz.
"We are using it since rev 3.5 (2000). Main selling point was the low price
for a good basic version ($250). We needed at foremost its doc capabilities with
its 100% integration of all UML submodels. Then we needed its ability to
generate XMI, which we read and transformed to generate special ddl and plsql
for our Oracle based BusinessObjects (own invention); we have developed a quite
complex metamodel, which uses some OO metamodel-information in the XMI file in
our Oracle application ("Impress Engine", an integration product).
"We don't use code generation or direct ddl generation, because the former opens
a can of worms in ANY product on the market and the letter capabilities are way
too limited also in any product. Also, we don't use interactive model-sharing.
This is a VERY complex area, which many CAD-developers know since 20 years.
"Same is true for complex forward/reverse engineering, be it code or ddl. At
..., we had solutions for 98% of all cases, but the remaining few % drove us
(and unfortunately our customers) up the wall. It was the best product on the
market, but it wasn't good enough. BEA had a similar product (to enable n:m ddl
generation from/to class-table and attribute-column mapping), but they sold it
and I don't know who has it now or how good it is. In any case, I believe, you
might be better off by writing your own mapping code... With the help of
stereotypes and tagging, you can control a lot and achieve good results. The ddl
is then uploaded to (imported by) the Oracle Designer and merged into the
existing model, which contains many other ddl-information from other (mainly
non-OO) sources already.."
- A Paper about UML Graphs
"There's a paper in the Journal of Graph Algorithms and Applications (Volume
6, no. 3, published online) called
Graph Layout Aesthetics in UML Diagrams: User Preferences by Helen Purchase,
Jo-Anne Allder and David Carrington, that you might be interested in. While it
doesn't talk about specific tools, it does talk about what people are looking
for in their UML diagrams."
- One reader's essay on several tools
"I've used Rational Rose, GDPro and TogetherSoft. All of them were buggy so
save often and watch out (or hold on to your source code!).
"Rational Rose was the most accepted across all the many developers that I
interfaced with -- however, it was the least intuitive and a bit clunky. It
seems to be the standard because everyone else likes to interface with it.
"GDPro was easy to use and came bundled with the Gang of 4 patterns. It had a
macro language to generate your own language code. If you use it locally you do
not burn up the network license so you could use a couple of network licenses
and get by with it. I found it to be the most intuitive and best buy for the
group.
"Both Together Soft and Rational Rose licensing restricted usage to the number
of network copies in effect.
"Together Soft's Control Center was the most buggy but on my last check of it
(earlier this year) they really cleaned up their act. They are a bit more
intutitive than Rational Rose. I love the way they support colors and "color by
design" is one of my favorite ways design. They were recently acquired by
Borland. Some of their drag 'n drop features are excellent!
"Together Soft used to have a free White Board product but it seemed to have
disappeared. They do have a good community board support for the product. I love
their ideas for software process which almost mirrors extreme programming - -
only without the paired programming. You can use Java to extend the UML.
"The round-trip engineering on GDPro is what initially attracted me to them.
TogetherSoft has done a good job of getting there too ... real round trip
engineering.
"I've seen some good public domain versions. I don't remember the title for
the one we used on a Mac but it was sufficient for those who wanted a simpler
tool. I noticed that someone created one as one of the wxWindow application
samples. I will be checking that one out next since I'm teaching a class on
wxDesigner and wxWindows this coming semester.
"Check out the interest in the hardware design groups to get a tool that will
be useable by both groups (INCOSE meetings and papers on the subject)."
[