La producción de software de calidad, en el tiempo adecuado y con unos costes razonables sigue siendo un problema abierto de la Ingeniería del Software que ha sido abordado desde distintas aproximaciones. Una aproximación industrial al problema, consiste en usar Líneas de Producto Software (LPS). El desarrollo de líneas de producto comprende la ingeniería de dominio (la construcción de la línea de productos) y la ingeniería de aplicación (la derivación de los productos a partir de la línea de productos). Una de las tareas más críticas en la derivación de productos es el cumplimiento de los atributos de calidad requeridos. En general, el aseguramiento de la calidad del producto es una actividad crucial para el éxito de la industria del software, pero es, si cabe, más importante cuando se trata del desarrollo de líneas de producto software, donde un defecto en un activo software puede impactar negativamente en la calidad de todos los productos de una línea de producto. Este hecho es de especial relevancia cuando tratamos con la arquitectura software, ya que es el artefacto software más relevante para asegurar el cumplimiento de los requisitos no-funcionales de los productos que serán derivados de una línea de productos, por lo que asegurar que estos requisitos se cumplen durante el proceso de derivación de la arquitectura, es una actividad crítica en el proceso de desarrollo. A pesar de que existen muchos trabajos que tratan el proceso de derivación de arquitecturas en el desarrollo de líneas de producto, el tratamiento de los atributos de calidad de este proceso en la literatura no ha recibido un tratamiento adecuado, y las propuestas presentadas en la mayoría de los casos son aplicables únicamente para un conjunto limitado de atributos de calidad (por ejemplo el rendimiento, la fiabilidad o la modificabilidad) o para un tipo de arquitecturas especificadas, utilizando un lenguaje de descripción de arquitecturas concreto (como SysML o AADL). Con respecto a los métodos de evaluación, los métodos específicos para líneas de productos que soportan la evaluación de arquitectura de producto, no soportan la evaluación basada en métricas que permita la evaluación de la arquitectura en tiempo de derivación. El principal objetivo de esta tesis doctoral es la definición y validación empírica del método QuaDAI, un método integrado para la derivación, evaluación y mejora de arquitecturas de producto software en un entorno de desarrollo de líneas de producto software haciendo uso del paradigma de desarrollo dirigido por modelos. El método se compone de un multimodelo, que representa los diferentes puntos de vista de la línea de productos, y de un proceso dirigido por transformaciones que permite automatizar el proceso de derivación, evaluación y mejora de arquitecturas de producto. El método permite, por un lado, la introducción de criterios de calidad en los procesos de toma de decisión que tienen lugar durante la derivación de la arquitectura, al tiempo que permite su automatización. Por otro lado, puede ayudar a los arquitectos noveles a ser capaces de: i) llevar a cabo procesos de evaluación de arquitecturas software y, en caso necesario, ii) aplicar transformaciones arquitectónicas para mejorar los atributos de calidad de la arquitectura de producto. El método propuesto ha sido validado empíricamente mediante un estudio de caso llevado a cabo en España y Brasil y mediante una familia de cinco experimentos, con replicaciones tanto internas como externas en España, Italia y Paraguay. El objetivo del estudio de caso fue el análisis de la facilidad de uso percibida, la utilidad percibida y la intención de uso de los profesionales e investigadores en ingeniería del software que aplicaban QuaDAI como método de derivación de arquitecturas. El análisis estadístico de los resultados indicó que hay un efecto positivo significativo sobre todas las variables estudiadas, asociado al hecho de emplear QuaDAI como método de derivación de arquitecturas de producto. La familia de experimentos ha involucrado a 108 sujetos, estudiantes de grado e ingeniería en informática, másteres en ingeniería del software y de doctorado. El objetivo del estudio fue comparar la efectividad, eficiencia, facilidad de uso percibida, utilidad percibida e intención de uso de los participantes aplicando QuaDAI en oposición al Architecture Tradeoff Analysis Method (ATAM), un método de evaluación ampliamente difundido. El análisis estadístico y el posterior meta-análisis de los datos obtenidos de cada experimentos indica que los participantes produjeron mejores resultados cuando aplicaban QuaDAI, en el sentido que obtenían arquitecturas con mejores niveles de atributos de calidad de forma más rápida, y percibían el método como más fácil de usar, más útil y veían más probable utilizarlo en el futuro. Estos resultados nos permiten considerar QuaDAI como una aproximación prometedora para la evaluación y mejora de arquitecturas de producto para el desarrollo de líneas de producto, aplicando un enfoque dirigido por modelos. Esta tesis doctoral contribuye al campo del desarrollo de líneas de producto software proveyendo un método integrado, automatizado y genérico para la derivación, evaluación y mejora de arquitecturas basado en atributos de calidad.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados