
SAVIT is a centralized source documentation
management system including features for COBOL source parsing, analysis and
visualization. The tool makes it possible and eases the documentation and
analysis of existing program sources even when there is little or no
documentation present about them. Tool implements bottom-up documentation
technique, where it is possible to describe smaller blocks of the program, and
with the gained understanding move to higher blocks, while all program is
documented.
SAVIT is based on the application with WEB
interface for online documentation management, but it is also possible to
export the produced documentation in HTML form for offline usage. By using
additional tool GRADE (developed by Institute
of Mathematics and Computer
Science of University of Latvia together with DATI and recognized as one of the
first top-quality modeling tools), it is possible also to visualize the program
not only by traditional statement-level logic diagrams, but also by higher
level and more descriptive logic diagrams.
SAVIT also provides some analysis functionality
allowing to detect problematic blocks in programs at various levels of detail
(program-level, section-level, …). Also, when another problem patterns are
identified, they can be plugged into the tool and used for overall analysis
processes and statistics. The problem patterns are not fixed and can be defined
individually.
Main functions of the tool include:
- Source import, parsing, building of the source tree. The tool is capable of
importing and parsing the “as-is” COBOL sources. During the import phase
the source is parsed, an overview of a program – “source tree” is made and
source analysis is performed.

- Navigation through source code. Navigation through various parts of the
source code is done through use of hyperlinks. For example, PERFORM
statement will be given in a form of a hyperlink, clicking on which would
display the called part of the program.
- Entering and browsing descriptions of a source at various levels of
detail. It is
possible to add descriptions to any source tree node and use “bottom-up”
describing technique: first write some descriptions for lower level source
parts such as action blocks, if statements, loops, etc, then – going up
and creating a descriptions for higher level constructs as sections and
container statements (if, evaluate, loop).

- Entering and browsing descriptions for variables, business terms,
etc. The tool
provides so-called Glossary, in which it is possible to put descriptions
for variables, business terms, or any other arbitrary text. These
descriptions will be displayed while browsing through code in any place
where the variable / term / text appears.
- Analyzing the execution flow.
- It is possible to view the
execution conditions for each source tree node. All the conditional
statements that affect the execution of a statement block will be taken
into consideration and a summary will be displayed.
- It is possible also to view
all possible call hierarchies of a section. This allows tracking all situations
under which a section gets called.
o
For
easier understanding of complicated formulas coded in sections, tool provides
means to display so-called decision tables. Logic can be automatically
presented in form of Decision tables. Decision tables present if-then-else and
EVALUATE statements, and associate conditions with actions to perform.
(Definition: a table of contingencies to be considered in the definition of a
problem, together with the actions to be taken; sometimes used in place of a
flow chart for program documentation).

- User management. Application access can be controlled by assigning special roles to
the users. For example, some users may have access rights to edit
descriptions, some – just to view them.
- HTML export. Tool allows exporting the produced documentation in form of HTML
files. This allows creating offline manuals for the sources.
- Keywords, indexing. It is possible to define keywords for each source tree node,
which can later be used for keyword search.
- Input and output field reporting. For each section the tool can produce a
report about used input and output variables.
- Versioning and source change management. The tool allows keeping track
of source code versions and transfer of the documentation from one version
to another. Also descriptions can be versioned.
- Visual representation of the source code logic. By using additional tool GRADE,
it is possible also to visualize the program not only by traditional
statement-level logic diagrams, but also by higher level and more
descriptive logic diagrams.


Visualization
capabilities include:
- Data Diagram for File, Working
Storage and Extended storage data structures;
- Variable Table for Working
Storage and Extended storage data structures;
- Process Diagram for each COBOL
paragraph;
Diagrams can be produced both with
statement level descriptions and also with descriptions entered in
documentation tool, thus providing a possibility to produce also higher-level
and more descriptive diagrams.
Functional capabilities include
following:
- browse and edit the diagrams;
- add hyperlinks and attachments
to the diagram elements;
- navigate to called paragraphs
(top-down navigation);
- navigate to calling paragraphs
(bottom-up navigation);
GRADE, the advanced business and
system modeling tool, has been successfully used in following DATI projects:
- Business analysis of loan
management for Finanz IT – an IT subsidiary of German Saving Banks. The
analysis and modeling of a set of corresponding business processes was
realized with GRADE;
- KSK - Artist's social
insurance system for LVA Oldenburg-Bremen,
Germany.
GRADE was used to design the whole application;
- PROVIT - Reservation system
for travel agencies and tour operators for LTU, Germany. We realized
reengineering of existing Cobol programs and design of new functionality
with GRADE;
- PHOENIX Business Travel - travel
reservation system for DER Tour (Germany). We realized
reengineering of existing Cobol programs and design of new functionality
with GRADE.
- Source code quality analysis. The analysis functionality allows to
detect problematic blocks in programs at various levels of detail
(program-level, section-level, …). Also, when another problem patterns are
identified, they can be plugged into the tool and used for overall
analysis processes and statistics. The problem patterns are not fixed and
can be defined individually. As candidates there are during design phase
detected problems:
- Using GOTOs;
- Avoid using COPY-structures
for file definitions;
- Reference on absolute address
in record;
- Missing file status check;
- Recursive performs;
- Sentences as legacy of COBOL74
standard.
Claus-Jürgen Moessinger
Postfach 1321
25465 Halstenbek
Tel: 04101-8556-0
www.dati-hamburg.com
zentrale@dati-hamburg.com
|
|
Contact: