4 research outputs found

    Una propuesta basada en el paradigma dirigido por modelos para la integración del ciclo de vida de la medición al ciclo de vida del proceso

    Get PDF
    Context: Measurement enables organizations to gain knowledge about its processes and projects, also to reach predictable performance and high capability processes, which places organizations in better positions to make appropriate decisions. Measuring the software development process supports organizations in its endeavor to understand, evaluate, manage, and improve its development processes and projects. In the last decades, the software development process has evolved to meet the market needs and to keep abreast of modern technologies and infrastructures that have influenced the product development and its use. These changes in the development processes have increased the importance of the measurement and caused changes in the measurement process and the used measures. Objective: This thesis aims to contribute to the software process measurement domain in two main aspects; first, propose a novel solution to support the identification and the operational definition of the measurement concepts and objectives. The second is defining a measurement lifecycle and integrate it into the process lifecycle. Method: We have carried out a survey and mapping study to understand the current state of the art, and to identify existing gaps. After that, we have proposed a theoretical solution to support the software process measurement, and finally, we have developed this solution to allow its practical use in real environments, enabling its application and evaluation in a real project. Results: The proposed solution consists of three main components: (i) Measurement lifecycle; which define the measurement activities throughout the process lifecycle, (ii) Measurement metamodels; these metamodels support the measurement lifecycle and its integration into the process lifecycle, (iii) Transformation process; which allow the derivation of the necessary measurement models, artifacts, and activities throughout the process lifecycle. Conclusion: The solution presented in this dissertation allows organizations to manage and improve their processes and projects; the proposed information model supports the unification of the measurement concepts vocabulary, coherently connects them, and ensures the traceability between these concepts. The defined measurement process lifecycle provides a clear and comprehensive guide for the organizations to establish the measurement objectives and carry out the necessary activities to achieve them. The proposed measurement definition metamodel support and guide the engineers to define the measurement concepts and their relationships completely and operationally. Moreover, the proposed transformations use this metamodel to support the measurement process and to derive the necessary measurement artifacts and activities throughout the process lifecycle.Contexto: la medición permite a las organizaciones obtener conocimiento sobre sus procesos y proyectos, también alcanzar un rendimiento predecible y procesos de alta capacidad, lo que pone las organizaciones en mejores posiciones para tomar decisiones apropiadas. La medición del proceso de desarrollo de software apoya a las organizaciones en su esfuerzo para comprender, evaluar, gestionar y mejorar sus procesos y proyectos de desarrollo. Objetivo: Esta disertación propone una solución novedosa para respaldar la identificación y la definición de los conceptos y objetivos de medición en una forma operativa. Además, busca definir un ciclo de vida de la medición e integrarlo en el ciclo de vida del proceso. Método: Hemos llevado a cabo una encuesta y estudios de mapeo para comprender el estado del arte e identificar brechas existentes. Posteriormente, hemos propuesto una solución teórica para respaldar la medición del proceso del software y, finalmente, hemos desarrollado esta solución para permitir su uso práctico en entornos reales, permitiendo su aplicación y evaluación en un proyecto real. Resultados: La solución propuesta consta de tres componentes principales: (i) Ciclo de vida de la medición; que define las actividades de medición a lo largo del ciclo de vida del proceso, (ii) Metamodelos de medición; estos metamodelos apoyan el ciclo de vida de la medición y su integración en el ciclo de vida del proceso, (iii) Proceso de transformación; que permite la derivación de los modelos de medición, artefactos y actividades necesarios a lo largo del ciclo de vida del proceso. Conclusión: la solución presentada en este trabajo permite a las organizaciones gestionar y mejorar sus procesos y proyectos; El modelo de información propuesto apoya la unificación del vocabulario de los conceptos de medición, los conecta de forma coherente y garantiza la trazabilidad entre estos conceptos. El ciclo de vida del proceso de medición proporciona una guía clara y completa para que las organizaciones establezcan los objetivos de medición y realicen las actividades necesarias para lograrlos. El metamodelo de definición de la medición apoya y guía a los ingenieros para definir los conceptos de medición y sus relaciones de manera completa y operativa; además, las transformaciones propuestas utilizan este metamodelo para respaldar el proceso de medición y derivar los artefactos y las actividades de medición necesarios durante el ciclo de vida del proceso

    Una propuesta para el uso del paradigma guiado por modelos (MDE) para la definición y ejecución de procesos de negocios

    Get PDF
    La situación económica actual está originando que muchas empresas incorporen mecanismos y protocolos que hasta ahora no habían tenido en cuenta para aumentar su productividad y mejorar la calidad de sus productos y/o servicios , sin que ello suponga un incremento de sus costes de producción o desarrollo. Una de las estrategias de gestión más utilizadas para alcanzar los objetivos anteriores es BPM («Business Process Management») [Van-der-Aalst 2004a]. A lo largo de la última década, BPM se antoja y afianza cada vez más en esta línea. Esta es una de las conclusiones obtenidas de varios estudios de investigación, como el publicado en [Malinova et al. 2013], en el cual los autores concluyen que implantar BPM dentro de una organización mejora el conocimiento general de la misma, de su funcionamiento interno – lo que se conoce como «Know-how» de la organización –, y de sus procesos de negocio. Todo este conocimiento organizacional de la empresa permite optimizar, controlar y medir de una manera más eficaz la ejecución de cada proceso, lo que, en última instancia, supone a corto y medio plazo un incremento de su nivel de competitividad frente a su competencia [Trkman 2010]. Asimismo, multitud de entidades y organismos han motivado en la última década la aplicación de BPM como estrategia de gestión y actuación de mejora interna. Es el caso, por ejemplo, del PMI («Project Management Institute») que es una organización internacional sin ánimo de lucro afincada en Estados Unidos que asocia a profesionales relacionados con la gestión de proyectos y fomenta la dirección de proyectos desde una perspectiva centrada en procesos organizacionales [PMI 2008]; la Universidad Carnegie Mellon con su propuesta CMMi («Capability maturity model integration») [Chrissis et al. 2011], en la que define modelos de madurez para la mejora y evaluación de procesos; y la organización ISO con algunas de sus normas, como por ejemplo la ISO 9001:2008. Siguiendo estas recomendaciones y con el propósito de mejorar su competitividad, la industria del software está comenzando a adoptar BPM como mecanismo para controlar y definir la construcción y gestión de software. Sin embargo, la aplicación de la gestión de procesos dentro de las empresas enmarcadas en el negocio software es difícil y costosa de implantar adecuadamente debido a las características del proceso de software, es decir, su constante evolución, incorporación de nuevos ciclos de vida, nuevas tecnologías y grandes equipos de desarrollo y en muchos casos multidisciplinares, entre otros muchos aspectos [Ruiz-González et al. 2004]. En consecuencia, es muy frecuente que la implantación del proceso global de mejora continua que fomenta BPM se circunscriba únicamente en la práctica a la definición formal de los procesos de software, realizando su posterior ejecución y orquestación – es decir, la gestión centralizada y coordinada de eventos durante la xx ejecución del proceso– de una manera manual y desconexa por parte de cada rol que participa en ellos. Todo esto hace que el seguimiento, control y medición de los procesos de software se conciba como una tarea particularmente costosa y compleja. El trabajo de tesis presentado en este documento, se ve motivado por los problemas planteados anteriormente dentro de las organizaciones software para ejecutar y orquestar sus procesos. Sin embargo, aunque las razones principales que han originado este trabajo la se enmarcan dentro del contexto de las organizaciones software, la flexibilidad de la propuesta aquí desarrollada ha propiciado su aplicación y extrapolación a otros ámbitos, por ejemplo, en el área de la salud y, más concretamente, en el área de gestión de procesos clínicos [García-García et al. 2015b]. Esta Tesis Doctoral se elabora como propuesta para resolver los problemas anteriores aprovechando las ventajas del paradigma MDE y tomándolo como vector director de la propuesta, con la finalidad de simplificar el mantenimiento de procesos software y hacerlos más efectivos. Los objetivos de la propuesta pasan por establecer los modelos o lenguajes específicos de dominio necesarios para tratar la definición y, ejecución y orquestación, de procesos software en un entorno de producción. Además, dicha propuesta contempla también la definición de una serie de protocolos sistemáticos de transformación entre los modelos. Como finalidad final, esta tesis pretende que todos esos modelos, y sobre todo las técnicas para describirlos, sean instructivos y cognitivamente entendibles por usuarios con un perfil no técnico. El objetivo es fomentar y propiciar la participación del usuario final como entes imprescindibles, tanto para la definición como para la validación final de los modelos. El cuerpo de la tesis pues, se cimenta sobre un conjunto de metamodelos teóricos y de mecanismos sistemáticos de derivación entre ellos. Esta estructura teórica encuentra su traslación práctica en el marco de trabajo PLM4BS («Process Lifecycle Management for Business-Software»): una herramienta CASE («Computer Aided Software Engineering», Ingeniería de Software Asistida por Computadora) que proporciona soporte para gestionar el ciclo de vida del proceso software en proyectos reales. Desde la perspectiva del producto, PLM4BS se ha inspirado en el paradigma PLM («Product Life cycle Management») [Stark 2011] para dar su propia visión de aplicación al contexto del software. A pesar de que el software puede ser considerado como una entidad abstracta e intangible, es un producto en sí mismo y, de forma similar a los productos industriales, también está altamente relacionado con un ciclo de vida ingenieril. En conclusión, Tesis Doctoral plantea una solución a un problema específico: establecer dentro de las organizaciones software, mecanismos eficaces, sistemáticos y automáticos que posibiliten la ejecución y orquestación de procesos software a partir de su definición, con el propósito de gestionar el ciclo de vida del desarrollo de productos software y de los procesos que intervienen durante la gestión de estos productos. Este problema, identificado en un estudio del estado del arte de las tendencias actuales, se resuelve en un marco teórico que se implementa posteriormente en la herramienta CASE denominada PLM4BS, la cual ha sido que testada y validada en diversos proyectos reales de diferentes ámbitos de negocio

    Portability of Process-Aware and Service-Oriented Software: Evidence and Metrics

    Get PDF
    Modern software systems are becoming increasingly integrated and are required to operate over organizational boundaries through networks. The development of such distributed software systems has been shaped by the orthogonal trends of service-orientation and process-awareness. These trends put an emphasis on technological neutrality, loose coupling, independence from the execution platform, and location transparency. Execution platforms supporting these trends provide context and cross-cutting functionality to applications and are referred to as engines. Applications and engines interface via language standards. The engine implements a standard. If an application is implemented in conformance to this standard, it can be executed on the engine. A primary motivation for the usage of standards is the portability of applications. Portability, the ability to move software among different execution platforms without the necessity for full or partial reengineering, protects from vendor lock-in and enables application migration to newer engines. The arrival of cloud computing has made it easy to provision new and scalable execution platforms. To enable easy platform changes, existing international standards for implementing service-oriented and process-aware software name the portability of standardized artifacts as an important goal. Moreover, they provide platform-independent serialization formats that enable the portable implementation of applications. Nevertheless, practice shows that service-oriented and process-aware applications today are limited with respect to their portability. The reason for this is that engines rarely implement a complete standard, but leave out parts or differ in the interpretation of the standard. As a consequence, even applications that claim to be portable by conforming to a standard might not be so. This thesis contributes to the development of portable service-oriented and process-aware software in two ways: Firstly, it provides evidence for the existence of portability issues and the insufficiency of standards for guaranteeing software portability. Secondly, it derives and validates a novel measurement framework for quantifying portability. We present a methodology for benchmarking the conformance of engines to a language standard and implement it in a fully automated benchmarking tool. Several test suites of conformance tests for two different languages, the Web Services Business Process Execution Language 2.0 and the Business Process Model and Notation 2.0, allow to uncover a variety of standard conformance issues in existing engines. This provides evidence that the standard-based portability of applications is a real issue. Based on these results, this thesis derives a measurement framework for portability. The framework is aligned to the ISO/IEC Systems and software Quality Requirements and Evaluation method, the recent revision of the renowned ISO/IEC software quality model and measurement methodology. This quality model separates the software quality characteristic of portability into the subcharacteristics of installability, adaptability, and replaceability. Each of these characteristics forms one part of the measurement framework. This thesis targets each characteristic with a separate analysis, metrics derivation, evaluation, and validation. We discuss existing metrics from the body of literature and derive new extensions speciffically tailored to the evaluation of service-oriented and process-aware software. Proposed metrics are defined formally and validated theoretically using an informal and a formal validation framework. Furthermore, the computation of the metrics has been prototypically implemented. This implementation is used to evaluate metrics performance in experiments based on large scale software libraries obtained from public open source software repositories. In summary, this thesis provides evidence that contemporary standards and their implementations are not sufficient for enabling the portability of process-aware and service-oriented applications. Furthermore, it proposes, validates, and practically evaluates a framework for measuring portability
    corecore