One bane of the maintenance programmer's existence is the difficult task of making sense of all the interrelationships between application programs, databases, and other system objects. It can be painful to try to figure out all the connections particularly when it's necessary to modify an older program, but the original author is long gone and internal documentation is nothing but cryptic comments. Although maintenance programming isn't the only time a rapid analysis of an application's connections can be useful, one of the tools that can be a lifesaver in any program-deconstruction process is Databorough's X-Analysis.
Long known as a reverse-engineering tool for System i applications, X-Analysis actually provides a wealth of useful features for application modernization, impact analysis, basic source code comprehension, and program modification.
X-Analysis lets users document and diagram application-program interconnections. It can analyze entire application systems, raising the level of abstraction to make it understandable to users other than developers, and takes into consideration an application's systemwide context. It can automatically isolate and narrate business rules (Figure 1) and logic within applications, recognize custom-built constructs within packaged applications, provide structure diagrams, compile lists of call stacks, analyze the scope of proposed changes, and generate comment-like explanations of functions, inputs, outputs, and object interrelationships. It enables sharing of the forensics results among multiple developers or managers.
X-Analysis is based on a cross-reference repository database built by the product itself. The repository cross-indexes all variables in every line of source code and database files. This cross-reference shows all lines in which a field or variable and any of its derivatives are used or referenced across the entire system.
Users can break application systems down into user-defined application areas, so the systems become understandable at the individual application or subapplication level. The user supplies a set of division rules that use a combination of specified object names and their associations with other objects. X-Analysis and the repository does the rest.
The interactive code browser offers five color-coded viewing levels. Users can suppress or display program details at each level and display code in an indented mode. The source code browser also translates RPG into pseudocode that even nonprogrammers can read. The browser links to SEU, CODE/400, and LPEX editors to facilitate code editing.
X-Analysis derives explicit relational data automatically. In addition, X-Analysis exports these data models and activity diagrams as Unified Modeling Language and Data Definition Language. It also lets users search for a specific object or variable and lists all the instances in the application where that object or variable was used, referenced, defined, and updated.
As an example of the depth to which X-Analysis functions, its "Variable Where Used" (VWU) capability operates at seven different levels. Level 1 finds (and displays) all statements with direct references to the VWU field. Level 2 finds all work fields directly referenced by the field. Levels 3-7 find all work fields directly referenced by the work fields at lower levels. This includes variables that cascade as parameters through called programs in an entire stack and aliases derived by data modeling. This makes is possible to do accurate and instant analysis across an entire system.
To help form a conceptual view of application systems, X-Analysis also generates five kinds of visually displayed diagrams to show relationships. At the object level, the solution generates Data Flow Diagrams that use a flowchart model, Structure Chart Diagrams that use a nested-tree model, and Data Model Diagrams that graphically show relationships between entities. At the application area level, X-Analysis generates Overview Structure Charts, which show file usages, and Application Area Data Model Diagrams, which show entity relationships within the user-defined application areas. For even more flexibility, X-Analysis lets users export repository information to MS Visio and CASE tools, such as CA's AllFusion and IBM's Rational, to generate data models within those applications as well.
X-Analysis includes a Document Manager, which helps users generate MS Word documents that contain textual descriptions of program functions drawn from information in the repository or from diagram displays. A wizard lets users fill out an electronic form that lets them specify the contents of the document, the diagrams to be included, the level settings to use, the sequence of topics and displays, and printing options.
A final feature of note is X-Analysis' ability to carry out database field reengineering, for example, of the kind associated with Y2K processes. This function is controlled by X-Resize, an extension of X-Analysis. X-Resize can automatically pinpoint all objects that might be affected by a field change, convert those source members, and then recompile them to facilitate the change.
Whether your needs are as routine as application maintenance, as urgent as application modernization, or as all-encompassing as reengineering an entire application system, X-Analysis can provide automation and simplification to carry out such projects.
John Ghrist is senior products editor for System iNEWS.
Solution Spotlight is a System iNEWS feature that provides more in-depth coverage for selected System i products. Selections are based on staff perception of the product as significant to the System i market. Source material for Solution Spotlights includes user manuals and other documentation provided by product vendors and is not the result of any product testing.
|
VENDOR CONTACT INFORMATION
|
| Databorough |