I just made a recommendation to my management to purchase a few licenses of EA. But the plethora of UML modeling software available out there sure made the research lengthly. I'm by no means an expert in UML or OOP software engineering, and that element in itself was a prominent criteria to selecting software - intuitive interface required!
I spent days (literally) researching modeling and CASE tools with a desire to pay as little as possible and get the most intuitive interface and robust featureset as possible. Only two software bundles captured my requirements (non-Java shops will quickly find themselves eliminating many of the available tools).
I'm at a small company that has no problem using OpenSource software whenever it gets the job done. We run on multiple desktop platforms, and don't really have any CASE software deployed, but the complexity is going up, and many of our new (and senior) devs are OOP naturals, so finding something to cover basic needs is becoming increasingly important.
My research started with an opensource diagraming tool called Dia, available to any platform that runs GTK+. It does a nice job representing UML and provides form-driven interfaces to construct classes. But it's just not a modeling tool, so I hit Google.
I reviewed and tested everything from Magic Draw to Visual Paradigm to Poseidon, looked at opensource tools such as Gaphor, ArgoUML and Umbrello, and kept coming back to EA for the features that I wanted. Python support was a big bonus, but usability and code generation/reversal was high on the list. This is what I learned in my endeavors:
(a) Scrap any product that's Java-based. It's typically slow, ridden with display/interface bugs, and bogs down as the size of the project increases. I can't believe some of these companies are getting away with $400 a shot for this shoddy software. I think performance and reliability outweigh cross-platform compatibility, and there's always VMWare!
(b) Scrap any product that thinks Java is the only language in the universe worth generating (unless you happen to be a Java shop)
(c) Scrap anything over $500 per annual license. $5500 for some of these licenses, what?! Does your tool write our software for us?
(d) Don't buy into a massive, complex framework that is going to take a dedicated person to deploy and maintain just to obtain a UML tool. Don't get into anything that will forever tie your software development practices into one platform or method - unless you're a big company with lots of process in place.
(e) Look for tools that are immediately productive. Producing basic diagrams and class frameworks the same day as installation should be possible. Learning the basics shouldn't require reading all of the help, but the help should be very thorough, detailed, and immediately accessible.
In any justification for software, no matter how large or small, it's always nice to present a Free alternative. Umbrello is my OpenSource of choice, and I use it successfully. It's a great piece of software, and has serious potential. It's reasonably stable (about 90% in my estimate), friendly to use, forward-engineers C++, C#, Java, PHP5, Python and Ada, and reverse-engineers C++. The most obvious limitation is it only runs on Linux and requires the KDE/Qt libraries to run. For my own purposes at home, it's perfectly sufficient (the help is light but right for the tool).
But alas, it's no EA. Someone at work was under the impression that EA only reverse-engineered Oracle schemas, but when I read that it is supposed to do Postgres, I got pretty excited. Round-trip on Python and C++ as well? Awesome. And the total project planning/designing/requirements tracking thing is sweet. The license cost compared with the feature set truly creates an appealing situation which drew me back to the website for further investigation about a dozen times over the past week.
It should be no problem to convince management to grab a few copies. But Failing that, I'll just buy one myself and run a cross-over office deployment on my laptop. Since a respected developer is pushing for the corporate edition, it won't be long before our plotter is spewing 30 feet of database schema (I hope).
I'd be interested to read further comments and feedback on the community's experience with the product, in addition to what is in the forums. I hope my decision is well informed and my faith in this product is well-placed!
-Derek73