Desarrollo de una línea de productos de software de generación de mallas geométricas - Díaz Ríos, Violeta Naomi (Universidad de Chile, 2013)
Ingeniera Civil en Computación === Las líneas de productos de software constituyen un paradigma de desarrollo, en el cual se busca construir, a partir de un conjunto de elementos clave, sistemas que comparten características comunes, o similitudes, y a la vez mantienen características propias, o variabilidades. Un ejemplo de sistema que puede verse beneficiado con este paradigma es el software generador de mallas geométricas. Las mallas geométricas son poderosas herramientas que permiten representar un objeto como un conjunto de polígonos contiguos. El presente trabajo de título tuvo por objetivo la construcción de una interfaz gráfica que permita al usuario la configuración y creación automática de productos correspondientes a generadores de mallas con distintas funcionalidades, utilizando la ingeniería de líneas de productos de software. El desarrollo consistió en extender la aplicación desarrollada en un trabajo de título anterior, que permitía configurar un producto, pero dado el acoplamiento del software base utilizado, todos los productos contenían el mismo código fuente. El software base utilizado se compone de dos generadores de mallas ya existentes: Simulador de crecimiento de árboles, sistema que modela el crecimiento de un árbol mediante mallas geométricas, y Generador genérico de mallas, que implementa una secuencia de pasos básica y común para todos los generadores de mallas y provee un apoyo conceptual. Ambos productos permiten cargar, almacenar y manipular las mallas. Durante el desarrollo de esta memoria, primero se realizó una revisión de las funcionalidades de ambos productos, para después identificar sus similitudes y variabilidades. Luego, estas características fueron agrupadas en tres grupos: Tipo de Aplicación, Manejo de Archivos y Algoritmos de procesamiento de mallas. Cada uno de estos grupos correspondió a una sección de la interfaz desarrollada. La interfaz de usuario fue construida de manera que permita la configuración de los productos en tiempo de compilación y de ejecución, mediante la generación de dos archivos de configuración. Esto implicó un análisis sobre el código fuente del software base, en el cual se detectó un alto acoplamiento entre varias de sus clases; por lo tanto, fue necesario realizar una intervención sobre el código de estas clases, para poder desacoplarlas y así compilarlas por separado, excluyendo las clases innecesarias. Como resultado, la interfaz desarrollada permite configurar y crear automáticamente productos generadores de mallas geométricas, de manera que incluyan sólo las funcionalidades escogidas por el usuario. Para trabajos futuros, se propone una re-ingeniería mayor del software base Simulador de crecimiento de árboles, que lo adapte para su utilización en el contexto de una linea de productos de software; además, es posible la adición de nuevos algoritmos y funcionalidades a la línea de productos ya construida.