Hello,
I'm currently evaluating several UML tools for use in our company. Among the finalists are EA and "VisualParadigm for UML" (VP-UML). At this point, both tools have major advantages and disadvantages over each other. I'll probably end up recommending we buy EA, but I would like to have your comments on the following feature comparison and if you plan to address those issues (I only list the points I would like to have your comments on, and for completeness, I also include some points where your tool wins over VisualParadigm; of course, there's no need to comment on those):
[*] + First off, your
documentation winns hands down over VP-UML. It's one of the major plus points!
[*] = VP-UML's
diagram drawing interface is very "sexy": hover the cursor over a shape and several buttons appear around it giving quick access to creating related shapes and connectors.
EA, on the other hand, only offers the "arrow" button, and a context menu that pops up when dragging the arrow somewhere. I can see that the conext menu is easier to decipher than VP-UML's icons. Still, VP-UML's positioning guide lines and the drawing interface in general seems more feature rich.
[*] - Related to the previous point: when adding new shapes in VP-UML, it's major properties may be edited directly inside the diagram (name, ...). EA, on the other hand, pops up a
modal dialog. This is
very annoying when having to quickly add, say, twenty classes to a diagram.
[*] - VP-UML assists a lot when drawing
sequence diagrams: return messages can be created automatically by clicking a context-icon on the call message. In EA, one has to create a regular message and then check the "return" box in the propertes dialog. It would be great if you added drawing tools to directly create the most commonly used message types. Auto-creation of return-messages would be a plus.
[*] + For
timing diagrams, VP-UML's interface is not intuitive, and EA wins hands down.
[*] - VP-UML offers better support for writing
use-cases. Several templates are available for each scenario, and one can automatically create sequence diagrams from those scenario.
EA doesn't offer any templates. Worse, it's not even possible to format the use case scenarios as tables, and the flow of events is always formated as a single-column list with ugly numbering ( 1), 2), ...).
This is a very important feature for us: the possiblity to insert use case templates, and enhanced formatting possiblities (two columns, ...). In particular events in alterate flows and exceptions
cannot be numbered in a reasonable way. It must be possible to enter the main flow as 1., 2., 3., ..., and alternate flows as eg. 2.1., 2.2, .... If you expanded your use-case support with those features, this would become a
killer feature!
[*] + EA provides
C# round-trip support. VP-UML only analyzes .NET assemblies, so comments are not imported and one ends up with compiler-generated helper-classes.
[*] - However, VP-UML creates
very usable class diagrams from
reverse-engineered code! In particular, it supports .NET collection classes and correctly displays the relationship in the class diagram. EA, on the other hand, doesn't create very usable class diagrams. No relationships are created betwen a class containing eg. a list of other objects, and those object's class in the diagram. Or did I miss something ?
[*] - VP-UML's
report generation seems better. One ends up with nicely formatted PDFs whereas EA creates isolated RTF files (with cyan-colored table backgrounds: this color should be illegal anywhere!). You suggest to create a master Word document, but it would be nice to provide a sample document to get the user started more quickly. And how do I get rid of that cyan background?
[*] + Of course, EA wins on
price.
[/list]
Of all of the above, if you had better use-case support, I would not even have spent a week evaluating VP-UML. If you invested some time in developing that feature, other potential customers may also more quickly decide for your product. Unless I'm the only one writing use cases...
Regards,
Togo