Development of a 3d tool for visualization of different software artifacts and their relationships (2011)
Este trabajo se enfoca en el desarrollo de una herramienta de visualización de software que permite analizar diferentes artefactos de software como código fuente y bases de datos relacionales. Por su naturaleza, la herramienta creada propone una metáfora basada en desarrollos anteriores del campo de visualización de software. La primera parte del documento de tesis presenta un estado del arte en el área de visualización de software, esto incluye la forma en cómo esta área aporta al proceso de evolución de software, punto muy importante en la ingeniería de software. Posteriormente se presenta la fundamentación básica de SeeIT 3D (nombre de la herramienta desarrollada): su metáfora, métricas, mecanismos para entrada de datos y tecnologías que hacen parte de la arquitectura interna. Luego, con el fin de validar la funcionalidad de la herramienta y dar soporte a los fundamentos en los que se basa, se evaluaron un conjunto de proyectos de código abierto escritos en lenguaje Java, que por su tamaño medio e historia bien definida en el área que representan, proveen un buen marco de evaluación. Finalmente como resultado del trabajo de tesis es posible concluir que la visualización de software realmente da un buen soporte a las tareas asociadas al proceso de evolución de software, brindando mecanismos que permiten comprender más fácilmente los artefactos producidos durante el desarrollo de software. De igual manera se concluyen que SeeIT 3D es una buena aproximación y un avance en el campo dadas sus capacidades. / Abstract.This work is focused in the development of a software visualization tool that is able to analyze different software artifacts such as source code and relational databases. Because of its nature, the tool proposes a metaphor based on previous works developed in the software visualization field. The beginning of the thesis document presents a state of art of software visualization; it includes how visualization supports the process of software evolution. After that the basis of SeeIT 3D (name of the developed tool) is presented e.g. the metaphor, metrics, input mechanism and technologies that conform its internal architecture. In order to validate the functionality of the tool and give support to the concepts it is based on, a set of open source projects written in Java language was evaluated. These projects have a medium size and a well-defined history in the field they represent that provide an adequate evaluation framework for the tool. Finally as a result of the thesis work it is possible to conclude that software visualization really provides enough support for the task associated with the evolution process of software systems. It is provided by giving mechanisms that allow understanding the produced software artifacts easily. It is also possible to concluded that SeeIT 3D is a good approximation and a step forward in the field due to its capabilities.