This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I assessed both products (Together/J 3.0 and Rose 98i actually) in detail about a year ago now. They are both UML based OOA/D CASE tools. They do compare fairly closely, but depending on your work environment, one may stand out better than the other. Here are some high level pros/cons of both products, circa Q4 1999: Together/J Pros: 1. Excellent support for class and sequence diagrams. I also liked the support for methods or variables being able to be defined as having class or instance scope. 2. Forward/reverse engineering to Java source was very nearly a foolproof endeavor. Forward engineering happens as class design takes place, so a no brainer there. You need only point to a directory and the tool can reverse engineer a pre-existing source code baseline. Changes to code (created during class design) that happen outside of Together/J are reflected when the tool comes back on line. Also, when a pre-existing source code baseline is reverse engineered, the classes in a package are properly laid out to minimize confusion when rendering relationships between the classes (minimized line crossing). 3. I really liked that fact that any documentation that was provided for a given class, method, variable/field, parameter, exception, or return value, was forward engineered into the java source code within a javadoc compliant comment block. Cons: 4. It does support team development, but because of its file structure for housing diagram details, makes it a bit cumbersome to use in a team environment. Instead of just checking out a package to work on, the designer would need to check out the package and the class level files desired to be modified. Not a big deal, but not convenient. Rose 98i Pros: 1. Very convenient to use in a team environment. To checkout a UML package to work on, you simply create a "unit" comprising the package of interest, and everything in that package is available for modification. Cons: 2. Support for class and sequence diagrams could be better. No way to specify that a given method has class scope, other than to preface the method name with "static". 3. Forward and reverse engineering made your day fairly frustrating and unpleasant. For general UML understanding, Martin Fowler's book, "UML Distilled" is very good and concise. The second edition of the book came out in August of 1999 I believe, so there may be a newer edition available now. Only info I know of regarding TogetherSoft is their website, www.togethersoft.com.
Amala Amperayani , you have mentioned that you are beginner . do you know in details about uml 1.3. do you know anything regarding various diagrams & why they have been used? How about hte fundamentals of oops. If you are clear about evrything , why you are bothered about products. You first go through the Martin Fowler's book. Then , Craig Larman's Epic book. I don't know about your background in oops. That is the reason i have mentioned those books. If you already know these thing , then products should be cakewalk for you. for you product shall not be problem. Tomorrow if somebody tells you to use rational , you use it. if togetherj , you use that. bye.
I second what Doug Gschwind said in his post. We found Rational Rose's implementation of reverse engineering to be very frustrating. A friend of mine has used TogetherJ for the past year and he said that they were very pleased with it.