Thesis: The essentials of the software architecture evaluation practice: a SEMAT-based representation
Date
Authors
Journal Title
Journal ISSN
Volume Title
Degree
Departament
Campus
Publisher
Abstract
Software architecture evaluation is a key practice in assuring the quality of a software system. Unfortunately, experience and literature show that executing this practice is not always as straightforward and seamless as desired. Both literature and professional experience agree that more concrete support is needed to enable actionable execution of the evaluations. This work proposes a set of five essential elements of the software architecture evaluation practice: quality attributes, architecture description, architectural decisions, business goals, and evaluation adoption. These essential elements have been modeled and represented as Alphas, using the SEMAT Kernel as a modeling framework, with each element characterized in terms of a progression of discernible stages, from initial levels to the completion of the execution of architecture evaluations in real-world contexts. This thesis argues that addressing the proposed Alphas, when evaluating architectures, facilitates these efforts to be conducted in a guided and controlled manner. The application of this proposal in real-world software architecture evaluations—specifically on large-scale legacy systems within major institutions that utilize traditional development approaches alongside agile practices—has provided evidence to argue that these Alphas are appropriate for helping professionals guide and audit the progress of software architecture evaluations. Furthermore, a separate group of software architecture professionals was contacted to review the proposal and provide feedback through a survey. The results indicate that professionals recognize benefits such as maintaining order in the evaluation process, improving planning, defining specific tasks, roles, and work products, and increasing objectivity. It is expected that, in the future, broader(...).
La evaluación de arquitecturas de software es una práctica clave en el aseguramiento de la calidad de un sistema de software. Desafortunadamente, la experiencia y la literatura muestran que la ejecución de esta práctica no siempre es tan directa y fluida como se desearía. Tanto la literatura como las opiniones profesionales coinciden en que se necesita más ayuda concreta para ejecutar una evaluación de este tipo. Este trabajo propone un conjunto de cinco elementos esenciales de la práctica de evaluar arquitecturas de software: atributos de calidad, descripción de la arquitectura, decisiones de arquitectura, objetivos del negocio, y adopción de la evaluación. Estos elementos esenciales han sido modelados y representados como Alphas, usando el Kernel de SEMAT como framework de modelamiento, haciendo que cada uno de estos se caracterice en términos de una composición de etapas discernibles que progresan desde niveles iniciales hasta la compleción de la ejecución de las evaluaciones de arquitectura en contextos reales. Se argumenta en esta tesis que la atención de estos Alphas propuestos, en las evaluaciones de arquitectura, facilita que se ejecuten de forma guiada y controlada. El uso de la propuesta en evaluaciones de arquitectura de software en contextos reales, con sistemas de software de tipo legado en instituciones de gran tamaño y cuyos enfoques de desarrollo son de tipo tradicional con uso de prácticas ágiles de desarrollo, ha permitido levantar evidencia para argumentar que los Alphas son apropiados para ayudar a los profesionales en guiar y evaluar/auditar el progreso de las evaluaciones de arquitectura de software. Además, un conjunto distinto de profesionales del área de la arquitectura de software fueron contactados para presentarles la propuesta y levantar retroalimentación por medio de una encuesta cuyos resultados permiten observar que los profesionales reconocen que aspectos como ordenar el proceso de la evaluación, mejorar la planificación, la definición de tareas, roles y productos de trabajo concretos y la objetividad son algunas de las características beneficiadas. Se espera que, en el futuro, un uso más amplio permita(...).
