| By Jason Bell | Article Rating: |
|
| May 1, 2002 12:00 AM EDT | Reads: |
16,292 |
It's unfortunate that programmers come and go at an alarming rate in the IT industry, leaving code that must be maintained by someone who quite frequently had no hand in writing it. Software engineers using UML have models on how their programs behave, but the rest of us are left to read through reams and reams of methods. Most of the time all you need is an overview of how the program is made up, not the finer details.
Java-Miner
CAST's Java-Miner provides a graphical "roadmap" of Java packages, classes, and their associated methods and constructors. As the saying goes, "A picture paints a thousand words"; this application can tell the whole story behind Java classes in a way that's easy to interpret.
Installing and Using Java-Miner
Installation is straightforward. A self-installing package can be downloaded from CAST's Web site (it's a 15-day evaluation) or it can be installed from the distribution CD. The Help documentation is also installed onto your system, so you can use Help and program simultaneously.
Java-Miner works via a series of wizards that guide you through the process of loading in a Java application to view. When starting the program you're asked whether you want to load an existing analysis or create a new one. Creating a new analysis is a simple process, again using a wizard to gather the required information. A project name is required, which becomes the XML output filename. This, by default, is saved to the root directory of the "C" drive on your system, so it's very important to use the directory-browsing function to place the output files somewhere sensible. In my opinion, this is a big oversight and perhaps a default directory should be included somewhere in the proceedings. Within this wizard the Java source files and associated classpaths are added. Once the "Start" button is clicked, Java-Miner will analyze the packages and create the roadmap.
An object browser provides a dropdown view of the analysis you're working on. Many IDEs work this way so most people will easily make sense of this. The graphical layout is basically a large blank workspace that's scrollable. Within this area you can zoom in and focus on specific components or zoom out for an overall picture. These graphical views can be output to a printer for a permanent copy of the analysis.
Working with the analysis is easy, but the blank screen is a little off-putting to the new user. I expected to see some sort of roadmap on-screen, which could be customized as required. Instead the user is expected to drag the object onto the output screen, which drops the object onto the roadmap. It's up to the user to expand the other methods and constructors of that object by right-clicking and then selecting "Expand." The parts of the object will appear and link together. The expanded links provide a wealth of information about where methods are called from and which objects they belong to (see Figure 1).
For a programmer looking at some code for the first time, it's an enormous benefit to be able to learn the program structure without reading through pages and pages of source code.
With large applications the amount of detail on the roadmap can be overwhelming, so you can tailor the amount of detail displayed by setting up a series of layers. For example, you can create a layer to display the relationship links between the methods and another layer to display the objects, not the methods within them. Another useful feature is Java-Miner's ability to work its way through a batch of objects and show a roadmap from one specified method to another. So if you know that an object references a method but can't see how, let Java-Miner do the work for you.
Summary
My first impressions were positive, though I was a little surprised about the file locations that Java-Miner was using; with a little planning this won't be a problem for most people. For those who need to maintain a working application in which time is precious, Java-Miner may be the answer.
Product Snapshot
Target Audience: Java programmers, business analysts
Level: Beginner to advanced
Pros:
Cons:
CAST
3, rue Marcel Allégot
92 190 Meudon
Paris, France
Phone:+33 1 46 90 21 00
Fax:+33 1 46 90 21 01
Web: www.castsoftware.com
Test Environment
Computer: Compaq Presario 1920 Processor: 300MHz Pentium III
Hard Drive: 4GB
Memory: 64MB
Platform: Windows ME
Specifications
Platforms: Windows 98, 2000, or NT 4.0
Published May 1, 2002 Reads 16,292
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Jason Bell
Jason Bell is founder of Aerleasing, a B2B auction site for the airline industry. He has been involved in numerous business intelligence companies and start ups and is based in Northern Ireland. Jason can be contacted at jasonbell@sys-con.com.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















