tags:

views:

49

answers:

5

Hi experts,

Currently we are studying the Java based tool which is primarily Reporting tool.It was developed in 2000/2001 period and uses many open source libraries like Apache Avalon/Mx4J.Adaptor/edu.Oswego(java concurrent package) etc. Tool uses jdk 1.3.1 and goal is to upgrade to jdk 1.5.We have also been asked to remove these 'outdated' packages and replace by standard Java packages if possible.

Unfortunately we have the code available for study but lacks any documentation and really difficult to track the flow(Total number of classes written might be more than 1000) during debugging.

Whats the best way to understand this kind of tool? Any graphical tool to see the relationship between the classes?

Thanks, SR

A: 

Is there anything generated by javadoc Util?

Artic
@Artic: It's better to add such questions as comments instead of answers.
Peter Lang
With pleasure, but have no possibility. Thanks to wonderful rules.
Artic
A: 

You could try some of the Source Code Analyzer plugins to eclipse. Tools like DIVER or X-Ray might be useful.

John
+1  A: 

That's a common problem (unfortunately), and again unfortunately there is no easy solution.

There are many tools to help you (see below), but these are only helpers, they will not solve the problem for you.

I have found that a systematic approach is best. There is a good article on this:

Swallowing an elephant in 10 easy steps , about understanding a large, undocumented system. It's about Perl, but the ideas are independent of language.

Some tools that might help:

  • Step through interesting parts in a debugger (e.g. Eclipses debugger)
  • Use Eclipse's "Call hierarchy" and "find references" to understand which part of the code uses what
  • Run tests with simple input data, understand what they produce
  • Write javadocs into the code documenting what you found, possibly correcting existing docs
  • Use tools to visualize class dependencies. I have unsed JDepend with some success; there are many others.
sleske
Thanks all for the help.
+1 for the link
Calm Storm
A: 

Eclipse (and newer version of NetBeans and perhaps IntelliJ) have wonderful tools for analyzing large codebases:

  • Call hierarchy (CTRL + ALT + H) - you see the hierarchies of calls to/from a given method
  • Type hierarcy (F4) - you see the whole inheritance structure
  • Data hierarchy
  • Right click on item > References
  • many different search options
Bozho
A: 

Any graphical tool to see the relationship between the classes?

If you want to see the relationship between classes you could try Green UML . It creates a nice UML class diagram out of your repository. It works on Eclipse. I hope that helps.

Lucas T