Understanding the architecture of ready-made software frequently feels like getting around a new location without a map: you are lost in the middle of nowhere without a clue where to go first. To see a clearer picture of your location, you need a navigator or, at least, a paper plan of the area (preferably with a giant red "you are here" arrow). And that's the case with the code. To figure out how it flows, first you need to look at its structure from a wide corner. Code visualization makes such a perspective real.
Fig.1 - Code Illustration
In a complex PL/SQL environment with new code topped upon legacy, visualization is the key to understanding the code hierarchy. By means of diagrams and matrices, you can follow the code execution paths, see referenced and dependent elements, detect places of possible code refactoring, and, generally speaking, make a conclusion on how sustainable the application is.
Realizing its undeniable benefit, we have empowered all Conquest tools with code visualization mechanisms, customizable in terms of level of detail and look&feel. In a relational database, not only data is interconnected, but the DB objects as well. Thus, there are two approaches we take:
Drawing relations between DB objects (R&D, ER diagrams).
ER diagram
R&D diagram
First illustrates how different components of the system coordinate and influence one another. Coupled with code metrics, it also helps to detect poor coding techniques and error-prone places. This might bring relief to new developers in the team, exploring the code structure, and become a decision making point for software architects. While visual representation of DB object interdependencies and parent-child relationships makes DB administering and managing much safer and less "extreme."
With the Graphviz engine embedded, Conquest tools produce an effective solution for visualizing most intricate code networks in several clicks. Customize the layout and look&feel, zoom and maximize to reveal the details, export to various file formats, adjust the diagrams to your own needs. Speed up development time and boost the quality of your software.
~
See diagrams live in a sample report, or use any of the Conquest products to generate them yourself.