Estudio, implementación y evaluación de la arquitectura para una herramienta de integración continua de investigaciones en ingeniería de líneas de productos de software

Resumen

On repeated occasions, companies are faced with making decisions regarding what type of technology to use or how to redesign their technologicalbase. In some cases, these decisions are taken in an accelerated manner with the sole aim of generating optimal and competitive response times in the market with functional products that satisfy specific market needs and which, in turn, without seeking to do so, incorporate a zero vision of extensibility, growth, opportunity for improvement and a large number of quality attributes that provide high quality to their products, thus generating high rates of technical debt, coupling between components and rates of improvement, incorporate a null vision of extensibility, growth, opportunity for improvement and a large number of quality attributes that provide high quality to their products, thus generating high rates of technical debt, coupling between components and null rates of reusability causing a greater effort to maintain, extend or even think about rebuilding their software capabilities in the near future. In this work, we propose and evaluate the architecture of a Web application capable of enabling the modelling and simulation of systems (software and cyber-physical at various levels of abstraction) within the framework of a research software called VariaMos. The context of VariaMos, being a software of continuous integration of research results in an engineering framework, is characterized by a constant growth of modelling languages and reasoning mechanisms on the systems or families of systems to be created and simulated with the web application associated with the software (VariaMos). Therefore, the architecture of this web application must incorporate adequate standards for its correct maintainability, extensibility, and growth through the integration of the new proposals of the VariaMos work team. To achieve this, the master project reported in this manuscript followed the following process: First, we identified the most relevant quality attributes following the recommendations presented in the standard (ISO/IEC 25000). Subsequently, we built the solution framework to derive the candidate architecture for VariaMos, and we will detail the construction of the required architecture in several layers. The third step consists of familiarizing the proposal to the VariaMos team and a retrospective review of the benefits of this new proposal with respect to the previous version of the VariaMos tool. In the fourth step, we implement the improved version of the architecture and proceed to perform a usability evaluation of the resulting web application. The evaluation aims to answer the following research question: What are the architectural features of an engineering modelling and simulation platform that can be extended without having to redefine the platform architecture as engineering languages or reasoning mechanisms grow, and to what extent can they be applied in a collaborative Web application? These results constitute a preliminary empirical proof of the benefits that this new architecture has brought in favour of the strategic and technical objectives of the new VariaMos and give us a series of recommendations that allow us to further improve the tool. Finally, we consider the results of the evaluation to improve the web application that will serve as a working platform for the VariaMos working group in the coming years and document the new result in this manuscript.

Descripción

En repetidas ocasiones, las compañías se ven enfrentadas a tomar decisiones respecto a qué tipo de tecnología utilizar o a cómo rediseñar su base tecnológica; en algunos casos, dichas decisiones se toman de manera acelerada con el único afán de generar tiempos de respuesta óptimos y competitivos en el mercado con productos funcionales que satisfagan las necesidades puntuales del mercado. Bajo este enfoque, sin buscarlo, se incorpora una visión nula de extensibilidad, de crecimiento y de oportunidad de mejora de una gran cantidad de atributos de calidad, generando así altos índices de deuda técnica, acoplamiento entre componentes e índices nulos de reusabilidad. Todo esto provoca en las empresas productoras de software un mayor esfuerzo en mantener, extender o reconstruir los catálogos de productos en un futuro cercano. En este trabajo proponemos y evaluamos la arquitectura de una aplicación Web susceptible de permitir el modelado y la simulación de sistemas (de software y ciber físicos a varios niveles de abstracción) en el marco de un programa de investigación llamado VariaMos. El contexto de VariaMos, por ser un programa de integración continua de resultados de investigación en un marco de ingeniería, está caracterizado por un crecimiento constante de los lenguajes de modelado y de los mecanismos de razonamiento sobre los sistemas o las familias de sistemas que se creen y simulen con la aplicación Web asociada al programa (VariaMos). Por lo tanto, la arquitectura de dicha aplicación web debe incorporar estándares adecuados para su correcta mantenibilidad, extensibilidad y crecimiento mediante la integración de las nuevas propuestas del equipo de trabajo de VariaMos. Para lograrlo, el proyecto de maestría que reportamos en este manuscrito siguió el siguiente proceso: Primero, identificamos los atributos de calidad de mayor relevancia siguiendo las recomendaciones presentadas en la norma (ISO/IEC 25000). Posterior a esto, construimos el marco referencial de la solución para con base en él derivar la arquitectura candidata para VariaMos, así mismo se detallará la construcción en diversas capas de la arquitectura requerida. El tercer paso consiste en familiarizar la propuesta ante en equipo de trabajo de VariaMos y realizar una retrospectiva de los beneficios de esta nueva propuesta con respecto a la versión precedente de la herramienta VariaMos. En el cuarto paso, implementamos la versión mejorada de la arquitectura y procedemos a realizar una evaluación de usabilidad de la aplicación Web resultante. Le evaluación pretende responder a la siguiente pregunta de investigación: ¿Cuáles son las características arquitecturales de una plataforma de modelado y de simulación de ingeniería que se pueda extender sin tener que redefinir la arquitectura de la plataforma a medida que los lenguajes de ingeniería o los mecanismos de razonamiento aumentan y en qué medida se pueden aplicar en una aplicación Web de trabajo colaborativo? Estos resultados constituyen una prueba empírica preliminar de los beneficios que esta nueva arquitectura ha aportado en favor de los objetivos estratégicos y técnicos de la nueva VariaMos y nos dan una serie de recomendaciones que permiten mejorar aún más la herramienta. Para terminar, tomamos en consideración los resultados de la evaluación realizada para mejorar la aplicación Web que servirá de plataforma de trabajo para el grupo de trabajo de VariaMos en los próximos años y documentamos el nuevo resultado en este manuscrito.

Palabras clave

Extensibilidad, Mantenibilidad, Microservicios, Atributos de calidad, Arquitectura, Calidad del software, Líneas de productos de software

Citación