UML diagrams: is that it?

Hi JetBrains,

I don't mean to be too harsh or ignore the effort you put into this, but,
after playing with the UML functionality for half an hour, I have to say
that I find it completely... inadequate.

First of all, what's the main purpose of this piece of functionality? I see
it does different things, some in completely new ways, but I couldn't really
figure out how it's supposed to help me. I used various UML tools over the
years (both for creating diagrams and reverse engineer code), but this one
seems the most unusual of them all.

Here's a short list of things that I find highly confusing:
- things move around all the time (I use my diagrams for reference, I don't
need things dancing around all the time). But maybe that's not the intended
purpose of this...
- zoom level is reset every time the above reshufling happens (along with
the above one, these two render the tool useless for anything but trivial
5 classes demo projects)
- same actions, different outcomes depending on various factors (diagrams
for packages available only from package view, but under the same name, click
on a class is either selecting it or completely changing the layout if the
show dependencies option is selected)
- most of the actions are hidden behind some shortcuts, while the context
menu shows the same generic stuff
- dependencies not shown between packages (at least some of them) and I don't
know how to make them show up. Random navigation with collapse and expand
did bring some of them up at some point
- expand package sometimes drills into one package, sometimes just resets
the current package view. Couldn't figure out what happens when
- similarly, collapse to package produces unclear results
- no navigation back and forth for the expand/collapse jumps (if I understood
what they're supposed to do for me in the first place)
- couldn't figure out how to bring dependencies for a class in the diagram
(something like what the UML plugin used to do). Not sure if it's implemented,
or planned, though...
- I see I can create fields/methods and inheritance relationships, but other
diagraming options are not available. So it's definitely not a diagraming
tool.

I'll stop here, now. I've checked the help pages, I've played with it and
I failed to figure out how I'm supposed to benefit from it being part of
IDEA. I really hope I'm missing something fundamental here, though...

Maybe you should consider offering it as a separate plugin until it matures
a bit, I don't think it's fit for a bundled plugin in its current state.

Best,
Andrei


7 comments
Comment actions Permalink

I'm afraid I'm in agreement.

JetBrains, Did you look at SimpleUML + Sequence plugins? That is what I had been using in prior versions and was pretty happy with how simple and straight forward they are. If this was intended to replace those (a) the mark was missed, (b) why reinvent the wheel?

I personally would rip it out and save it for an 8.1 or 8.5. I think you may have bitten of more that was possible in a release and this just looks very last minute and will do more harm than good.

-- A generally happy, but concerned, IDEA user

0
Comment actions Permalink

Well, the main reason I use UML is because it gives a nice overview of classes and it's relationships. I usually don't edit them, but they should reflect my code, just like the Grails domain dependency viewer does. Therefor, the biggest lack in functionality for me is the lack of relatioships. Is it really hard to parse the Java files for Maps, Sets, and Lists (and one-to-one relations) and display an small line with a '1' or a '*' there?

What I see right now is a bunch of classes, all seemingly unrelated to each other, except for the occasional extends. So, at the moment, it's quite useless for me, but if the above feature could be added, it would already be a welcome addition. For now, I'll just stick to simple UML (though I like the UI of the JetBrains version more!)

0
Comment actions Permalink

I don't mean to be too harsh or ignore the effort you put into this,
but, after playing with the UML functionality for half an hour, I have
to say that I find it completely... inadequate.

Fully agree.
Why can't Jetbrains use/overtake SimpleUML and improve it from where it
was left?

Thank you,

Demetrios.

0
Comment actions Permalink

Andrei, others,

Thank you for sharp criticism. UML support plugin is 2 month old and now used more as quick navigation and hierarchy view feature than complete UML tool. However, we are going to spent more efforts to make it more useful and stable for you. Honestly, I use this plugin every time as a CtrlB replacement. So, when I need analyze a code quickly I prefer one CtrlAltShiftU instead of several Ctrl+B

Thanks again. If you would like to improve UML support plugin you're always welcomed here http://www.jetbrains.net/jira/browse/IDEA/component/11451

Konstantin Bulenkov
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"

0
Comment actions Permalink

Konstantin,

I think we all really appreciate Jetbrains efforts regarding UML support, but the brand new IntelliJ 8 announcement lists "UML-like class diagrams" as new feature.
I think you really should remove that or add a caveat, because a lot of people will complain about the limitations of the plugin

Gilles

0
Comment actions Permalink

Hello Gilles,

I think we all really appreciate Jetbrains efforts regarding UML
support, but the brand new IntelliJ 8
announcement
lists "UML-like class diagrams" as new feature.

I think you really should remove that or add a caveat, because a lot
of people will complain about the limitations of the plugin


I think that the Web site gives a fairly accurate description of what the
plugin actually does (and doesn't claim anything about what it doesn't do).
And the limitations will disappear pretty quickly as the plugin development
goes on.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Hello Dmitry,

DJ> I think that the Web site gives a fairly accurate description of
DJ> what the plugin actually does (and doesn't claim anything about what
DJ> it doesn't do).

Sorry, but class diagrams have a fairly clear meaning in the industry, and
I don't think the plugin fits that description (yet!). Again, the criticism
was not meant to be dismissive, but rather to point out that you should acknowledge
the "in progress" nature of the plugin, at this point. Especially since it's
a bundled plugin and people expect a certain level of quality/reliability
from JetBrains.

It's your business how you choose to market the product, in the end. We just
thought we'd let you know how it's seen on this side of the border.

DJ> And the limitations will disappear pretty quickly as
DJ> the plugin development goes on.

Looking forward to seeing/using it.

Best,
Andrei


0

Please sign in to leave a comment.