Background The architecture of a software application has a big impact on various important aspects, such as modifiability, maintainability, understandability, etc. In the case of an existing project, the architecture needs to be understood and meaningfully evolved. However, it is often the case that architectures degenerate with the addition of new requirements. This is why, proposals have been and are still developed, to recover lost architecture descriptions from the source code and/or from run-time information of the analyzed system(s). However, in the case of real-world projects, meaningful descriptions should be provided on more levels of abstractions since the visualization of all the details usually leads to very complex overviews that hinder an easy understanding of the system?s architecture. Visualizations on more abstractions levels can ease the understanding, by offering just enough information to understand a certain facet of the system, while abstracting away other, more granular, information. Tasks The primary goal of this thesis is to improve a set of multi-level data visualizations for the software architecture that have been previously developed in the context of the ARAMIS research project. While functional, this first version of the visualizations is having a pronounced draft-character. The visualizations are slow and some of the functionality is not very intuitive. The student will first explore the developed visualizations and extract relevant improvement potentials that need to be addressed. Furthermore, the data that needs to be visualized must be inputted manually. In the context of ARAMIS, a community integrity checker (CIC) has been developed that analyses the architectural conformity conformity of a software system during run-time. The output of CIC should be integrated with these visualizations. Main phases covered in the thesis
- Exploration of existing visualizations
- Documentation of improvement potentials
- Further development of the visualizations according to the previously identified improvements
- Perform integration of the visualizations with the CIC system
Prerequisites
- Interest in software architectures
- Software engineering knowledge
Project information
Finished
Bachelor
Artjom Göringer
2014-008