GRAPH BASED SOFTWARE ARCHITECTURE VISUALIZATION - Jeffrey, Christopher
The growing amount of code, the number of people involved, and ongoing projects make software increasingly large and complex. As software complexity increases, understanding it becomes more challenging. Visualization can help simplify this understanding. This undergraduate thesis develops a software architecture visualization tool based on graphs. The graph incorporates features to enhance abstraction, interactivity, and customization, with the primary goal of improving comprehension. The data visualized consists of source code written in an object-oriented programming language. The graph is visualized recursively, reflecting the recursive nature of the input data and the numerous connections between components. Features are evaluated through interviews with participants who used them directly to solve problems. The interviews include three main components: think-aloud, Q&A, and SUS (System Usability Scale). The evaluation results indicate that some features are well-designed, some are inadequately implemented, and others are conceptually flawed. Nonetheless, the visualization tool effectively aids in understanding the visualized software. Future work should focus on improving the implementation of these features and exploring additional ones.