Of all the products mentioned here I would say that rational rose is the most comprehensive and complete solutions to the problems during the analysis and design phase as well as in the implementation phases. For these are the two phases I have been mostly dealing with. You could also use Rational Rose to generate a code template for you based on the Sequence and class diagrams.
However I would not forget to mention that an IDE for UML os a pretty much similar concept to an IDE in java. I know many of the best programmers still use notepad as the tool for writing code or at the most Ultra edit and they feel most comfortable about it. Similarly most of the ppl with sound OOAD dont use the IDE's as such. Neither do these IDE's somehow magically impart the UML kmowledge on there user.
So the primary focus of the whole exercise should however be to develop a better understanding of OOAD it self and not IDE's in general.
I usually use the CASE tool separately from the IDE. And to keep the price down I use Enterprise Arhitect by Sparx systems. It's pretty comprehensive (code generation, import files to create class diagrams etc) and WAY cheaper than Rose, or Ilogix. http://www.sparxsystems.com.au/
As far as IDE's, I like IDE's primarily for editing (although for WebSphere projects VisualAge helps along way) IntelliJ( http://www.intellij.com/idea/ ) is really nice for the price, then again Sun ONE Studio(Forte) is also;-) And for debugging I like Bugseeker2 by Karmira: http://www.karmira.com/products/bugseeker2/index.html
It's just a nice GUI that uses jdb
Hope this helps
Scott
Somebody correct me if I get these wrong - it's been a while since I surveyed the UML tool landscape:
Rational - It allows you to model in UML, and generate Java code from the IDE. Their new tool XDE promises to go further along this path and allow for two way code synchronization (updating the model from the code), pattern implementation declaration, etc.
The tool itself is very comprehensive, but is not well suited to the smaller "agile" development teams. It is complex enough to warrant a specialist that focuses enirely on keeping the model and the code synchronized. It is not the best performer that I have ever seen, either (At the last Utah Java User Group Rational came out and demonstrated XDE - it had some good ideas but the performance was severely lacking - something I have come to expect from Rational).
Together - I haven't looked at TCC, but I was a big fan of TogetherSoft back in the day. I had a couple of chances to interact with Peter Coad, and I liked the design ideas that he had (not all of them, but he had some good ideas). The biggest selling point of Together was the fact that it did real time code synchronization - update the model and the code was updated. Update the code and the model was updated. I have been reluctant to look at TCC lately because I don't think that the recent trend of adding everything including the kitchen sink to a modeling tool is a good thing.
Others - I evaluated the Sparx product, and for the price it was a nice tool. I ultimately decided against it for some relatively nitpicky reason (I forget what it was). There was also a tool called StructureBuilder that was a nice, cheap tool for modeling - then WebGain came along and packaged it as part of the crappy "WebGain Studio" - meant to compete with Rational and Together.
Final thoughts (I promise). When you start to take two very different tools (UML modeler and IDE) and try to combine them you will inevitably get compromises. If you can live with them, great. But for myself (and a lot of other developers I have talked to) it's not worth the effort in making the tool play nice. My preference would be to have a tool that is capable of round trip engineering, and use the IDE I really want to use (Idea, of course). After all, when was the last time you saw a really hot development team using a monolithic tool set to crank out applications? Most of the teams I know pick the right tools for the job and make them play nice with each other (ANT, CVS, Idea, etc).
Jonathan House
Cody - a lot of tools allow you to do this, with varying degrees of success and effort. There was another thread on this forum that talked about some of the challenges associated with reverse-engineering design models from code. Take a look at the thread "Tools which build automatically Collaboration and Sequence Diagrams".
Jonathan House
hi.... though i am not commenting or suggesting anything regarding this thread, but I have a query very close to this topic. I'm using rational rose for modellng. it is working fine and help me in most of my tasks, but i've a problem in generating code through it. I wrote a pagefull of text for my use cass / actors, but when i generate code, it gave me the documentation of classes and their members ONLY. All docs of use-cases and actors get vanished. I think 'nome02' would better answer my question, as his post showing interst in rational rose.
thanks.....
Raheel.
Hi pranabC,
I have got a set of Sequence Diagrams which depict the objects and messages to be used in my application. Necessary classes have been state for each of these objects also. However I have not put the attributes and methods in the classes as of now.
Is it possible to generate skeleton Class Diagrams from this point?
If not, what else are required for this class diagram generation to take place? If yes, which is the option in Rose that does it?
With best regards,
sayanmukherjee
Hi pranabC,
I have got a set of Sequence Diagrams which depict the objects and messages to be used in my application. Necessary classes have been state for each of these objects also. However I have not put the attributes and methods in the classes as of now.
Is it possible to generate skeleton Class Diagrams from this point?
If not, what else are required for this class diagram generation to take place? If yes, which is the option in Rose that does it?
With best regards,
sayanmukherjee
If you're using Eclipse (WSAD 5 is Eclipse) look at Omondo.
http://www.omondo.com/
The free version is good if you don't need (or want) to round-trip. Be aware that you need to delete and regen the UML if you change attributes and in the older version that I've used you have to manually establish the relationships.
There's a lot to like there, especially if you use an agile dev method and don't want the weight of Rose (which I've also used).
have you tried Oracle's JDeveloper to create UML diagrams
that can easily be translated into Java code or do some
reverse engineering from existing code to obtain diagrams?
I think JDeveloper it's quite complete and very productive..I use it
and I am very pleased with it.
Maybe there are some disadvatages I don't see with this tool since
nobody said anything about it here - if so, can you point them out to me?
thanks,
Liviu