“Desarrollo de familias de aplicaciones web con transformación de modelos”

22 Abril 2020 - Google Meet -UNC

Defensa de tesis para optar por el grado de Doctor en Ciencias de la Computación del Lic. Hernán Casalanguida bajo la dirección del Dr. Juan Eduardo Durán, profesor de la FAMAF

Resumen:

El enfoque de desarrollo de Líneas de Productos de Software (SPL, por sus siglas en inglés) trae aparejado varios beneficios en el desarrollo de sistemas de software, tales como: reducción de costos de desarrollo, mejora en la calidad y reducción en tiempos de comercialización. Por estos motivos, su adopción se ha ido propagando en distintos tipos de sistemas de software; en particular, en los últimos años han surgido numerosas propuestas que utilizan el enfoque SPL para desarrollo de aplicaciones web o partes importantes de éstas, como la interfaz de usuario. Los modelos de features juegan un papel importante en SPL, debido a que permiten especificar el dominio de una SPL (requisitos comunes o variantes entre productos) y, por su notación concisa y de fácil lectura, son de gran utilidad para validación de requisitos de una SPL con el cliente. En adición a los modelos de features, los modelos de dominio permiten especificar requisitos comunes y variantes de productos, utilizando notaciones más propicias para guiar el desarrollo de una manera progresiva e incremental. El Desarrollo Dirigido por Modelos (MDD, por sus siglas en inglés) consiste en la creación de modelos abstractos de sistemas de software que son sistemáticamente transformados para concretar implementaciones o nuevos modelos. La adopción de MDD permite agilizar el desarrollo a través de automatizaciones y que los analistas de software especifiquen formalmente su conocimiento sobre el tipo de aplicaciones a desarrollar, la tecnología y su mapeo; despejándose de detalles de otras áreas. La evolución de las aplicaciones web, en cuanto a tecnología y dispositivos de acceso, hizo que se generen muchas aplicaciones similares que son desarrolladas individualmente. Además, algunos sistemas de escritorio de gran escala altamente configurables (por ejemplo sistemas CRM, sistemas ERP) han ido migrando a la web. Por estas razones, muchas aplicaciones web se han transformado en SPL y necesitan ser modeladas como tales, para así aprovechar los beneficios que este tipo de desarrollo provee. Los objetivos primarios de este trabajo son atacar los principales problemas hallados en los enfoques de desarrollo SPL de aplicaciones web: construcción manual de modelo de features (en adición a modelos de dominio); no provisión de automatismos para generar configuraciones de modelos de dominio; no modelado ni consideración de variabilidad en interfaces de usuario y no prescripción de método para modelar interfaz de usuario. Además se desea tener en cuenta problemas generales del área de SPL y aspectos propios del área de aplicaciones web. Como principal contribución de este trabajo se presenta un enfoque para desarrollo SPL de aplicaciones web teniendo en cuenta la resolución de los problemas hallados en los enfoques de desarrollo SPL de aplicaciones web. Otras contribuciones de la tesis son la resolución de los problemas hallados en el área de SPL y en el área de aplicaciones web. El proceso definido ha sido validado a través de un caso de estudio integral, correspondiente a un sistema de biblioteca online altamente configurable (del estilo del sistema de bibliotecas Koha). Para la definición de algunas notaciones o situaciones incluidas en el trabajo se tuvieron en cuenta otros casos de estudio de manera parcial.

instrucciones para partcipar