UML editors: 2004 roundup

So which one’s the best now? :slight_smile:
I still work with Paradigm Community Version for my Java (hobby) projects.
However at work I’d like to use the same UML editor for C++, if possible.
Is there an UML editor which supports both languages: Java and C++? OK, Together does (its J and C version), but something more cheaper or free maybe?

To be more precise: of course UML is not dependant on C++ or Java syntax, but many UML editors also allow to import projects and then it is.

Anybody with Poseidon experience? (According to its feature matrix some versions can handle C++ code?)

I believe that to get anything other than Java in Posidon you need to buy it, rather than use the comunity edition.

Don’t know how it compares to other editors though, I quite like the CE version but don’t use it as much as I should at home. Personally I prefer it o Rose which is the only other main experience I have had with work.

Dan.

No, it sucks :(.

It’s windows-only and hasn’t been updated in more than a year (and was written in Pascal, which suggests it’s not very likely to get picked up by other programmers…)

You cannot possibly restrict yourself to a windows-only editor for something as fundamental as UML - this prevents anyone you ever do development work with from using any OS other than windows :(. Since it doesn’t appear to support the industry-standard UML file-format (although very few of the free ones do :frowning: ) you’re in a bit of a proprietary hell.

That was the first on the page.

Anyway, hacked-off with Fujaba 4.1 for a larger project (some idiot removed the “zoom” feature that was in version 1! and now it’s useless for large UML projects :frowning: >:( ) I went back to see if Paradigm actually works now.

Part 1:

First of all, their website is still a car-crash: designed by someone who likes to give surfers stress-headaches, who comes from the “the more information you can put on the same page, all in different places, with lots of unformatted text, all referring to unrelated things … the better!” school of thought. (Paradigm - please fire your webmaster; do it NOW!).

They’ve also got this irritating “send us your email address so we can spam you hahahahaha” thing I remember from last time - although I thought it was optional last time I tried it. Doesn’t seem to be optional any more…

In an attempt to show the world just what a moron he is, their webmaster has also made the website reload the page every time you click anywhere. That might sound like normal, but I mean that if you ctrl-click to open a link in a new window then the ORIGINAL page also reloads. Arrgh. Dumb-ass web-morons thinking the sun shines out of their arses and that they have some god-given right to override the decisions that the surfer makes when using their web-browser .

On to the program. Well, not quite. First we need to use their documentation, because they now offer:

  • windows-only
  • linux-only
  • OS-X-only
  • java
  • “no-install” ??? (?)

versions. WTF is the no-install version? Well, don’t ask me. I clicked on the “what’s this?” link and it popped up two paragrpahs of BS that said nothing. The third para was a “click here to learn more” and redirected to a new page showing you how to click on a download link to download the no-install version (wow, man!), and had a link to tell you what it was all about. That link…redirects to section A of an alphabetic glossary. Great; paradigm: score for documentation? 0 out of 10.

So I picked the Java version. For reference, this is version 3.2, build 5th July 2004. Part 2 I’ll post when it’s downloaded. All 61.1Mb of it (ugh; makes me think of Rational Rose all over again…)

[quote]I believe that to get anything other than Java in Posidon you need to buy it, rather than use the comunity edition.

Don’t know how it compares to other editors though
[/quote]
Whilst I’m waiting for Paradigm to download, I can quickly comment on this. Poseidon (free version) is useless. According to their docs:

BS! Look at what’s missing:

So, in fact, you can create UML diagrams manually (which is the exception rather than the rule) but you can’t do anything except look at them on screen, take a screenshot, copy/paste into your paint program, crop, then save, and finally import into some other document.

OK, so if you’re happy jumping through that hoop all the time then you can at least USE the diagrams. Hmm. Perhaps we should make a webpage telling people how to do this and then the vendor would at least get sensible about the copy/paste issue? :wink:

As far as I am concerned, a UML editor is NOT a UML editor if it cannot/will not convert from code to UML (and it’s only a half-arsed editor if it won’t go the other way as well, i.e. “round-trip”)

A UML editor that is not “round trip” is nothing more than Visio or some other structured drawing program… it is almost useless for developers.

I am still willing to bet there is no good UML editor/plugin/ide thingy at ANY price.

It’s too bad, UML might actually be useful if there were tools to support it. As it stands UML is a tremendous waste of time. You will have your program written and debugged before you make a decent UML diagram with any of the existing tools.

[quote]A UML editor that is not “round trip” is nothing more than Visio or some other structured drawing program… it is almost useless for developers.
[/quote]
The only reason for me allowing some leeway there is that it’s slightly easier to find one way importers than round-trippers, and right now (as you mention below) it’s so hard to get anything that even simply works that my standards have been dropping :(.

FUJABA is tolerable for diagrams up to 15 or so classes + interfaces. FUJABA does the round-trip engineering, but there are one or two bugs in that some less common java code gets wiped (like “public static final” vars inside interface definitions) and it forces it’s own automatic layout algorithm on your code (which is good, but not perfect).

Seeing as FUJABA version 1 used to do similar things but had about 20-30 options IIRC for things like controlling the layout algorithm, and deciding what it would ignore, I have high hopes that the next version (4.2) might reach the point of being “good” for small diagrams. If they bring back the zoom feature from version 1, then it would also be OK for medium and large diagrams! >:( >:( :frowning:

Not quite…UML is still valuable, it’s just that these days you’ll probably have to wait until you’ve done some coding before auto-generating the UML and then doing your design work on the UML before manually adding the code to implement that design.

If your design is not detailed, you can certainly use most tools (like FUJABA) to generate java code; Fujaba’s always compiles, it’s just it has annoying bugs like mentioend above :(.

[/quote]
LOL yes. These days I find it quicker to prototype 20 interfaces and reverse engineer them into UML than to use any of the crappy UML editor interfacs to build the diagram manually :(.

[quote]As it stands UML is a tremendous waste of time. You will have your program written and debugged before you make a decent UML diagram with any of the existing tools.
[/quote]
Yes, unfortunately. It’s my experience too.
However, I did and do work with some project managers (who have been developers many years ago) which insist on “nice” UML class diagrams just before we are allowed to do any coding.
OK, of course there needs to be architectural plans before the code development starts. However with UML class diagrams we tend to need soooo long - and this time lacks later when it comes to code/development.

c.f. my earlier comment about how it feels like it’s taking a lot more time that it does (with bad tools), and you are always in fact saving time.

Having thought about this a bit more, I can see that perhaps if you’re not really comfortable with UML then it would take a lot longer - but that’s just like not being comfortable with OOP: it’s a skill that you need to learn and practice, and until you do you will go slowly, but once you have learnt it well you should be able to use OOP faster than a C programmer working purely procedurally, even on small projects.

I find that designing with a UML diagram isn’t practical. The diagrams are simply not as malleable as the code. The rigid UML diagrams are difficult to adapt to the discoveries that happen when you actually start coding and realize that things will need to change to take new information into account. It’s one reason that I believe in an iterative (extreme?) design model. Complete up-front design is great when it works, and can be disastrous if new information discovered during the coding phase can’t fit the plan.

And there is ALWAYS something that you don’t find out until you start the implementation.

I love UML diagrams for understanding and visualizing existing code and assisting with the refactoring process.

[quote]And there is ALWAYS something that you don’t find out until you start the implementation.

I love UML diagrams for understanding and visualizing existing code and assisting with the refactoring process.
[/quote]
These are exactly my obersavtions, too. :slight_smile:

I think there is another aspect of UML that you might be overlooking. UML is a language designed to help people communicate, its not just method of writing code faster. E.g. if you look at the following page, the communication aspect seems to be one of the main selling points.

http://www-306.ibm.com/software/rational/uml/

still no evaluation of Poseidon?
( http://www.gentleware.com )

I sometimes use it. I used to make graphs with ArgoUML, and bitched Poseidon often for the two last year because of their huge bugs and slowness of the GUI. Nevertheless, i gave it a chance last week and i have to admit i’m favorably ‘impressed’. they made some progress. I still miss the ‘alt’ panning method of argoUML, but still it’s getting better.

I recently started using Poseidon for modeling a large project I am working on at home. I have Rose at work, and have no real issues with it, but have no interest in taking on a second job to pay for a personal copy. I switched from Argo because I couldn’t seem to create more than one class diagram? (please someone tell me I’m an idiot, I cannot believe this is really a product limitation). Poseidon did not have that issue, and it happily generated very ugly source code from my diagrams. My biggest issue with it is the enormous, distracting and stupid looking logo that it insists on making the background of its output graphics. There is no documentation on the site that even mentions if this is not the case with the non-free versions. So I am tired of editing each diagram in Photoshop every time I make a change. So does anyone know if this feature goes away in the pay versions, and if not has blah3 found any better tools? I am personally open to low cost versions in addition to free ones. I find modeling to be invaluable on really large projects.

It’s my understanding that the watermark is removed from the comercial version of poseidon.

I’m sure I read that some where on their site a while ago.

Dan.

to the original poster:
did you come to any conclusions? if so, what were they?