58 research outputs found

    Extensión MDA (Model Driven Architecture) para proceso basado en RUP (Rational Unified Process)

    Get PDF
    El enfoque de desarrollo Model Driven Architecture (MDA) propone basar el desarrollo en modelos, separando la especificación del sistema de las plataformas utilizadas. El Grupo de Ingeniería de Software (Gris) del Instituto de Computación tiene como eje de sus actividades un programa de construcción y prueba de modelos de proceso en el curso Proyecto de Ingeniería de Software desde el año 2000. El objetivo de este trabajo en progreso es realizar y probar una Extensión MDA al proceso basado en RUP que se tiene definido, modificando principalmente las actividades y entregables asociados a las Disciplinas de Diseño e Implementación, y seleccionando una herramienta con soporte MDA. Se presenta el enfoque MDA, el proceso basado en RUP y el contexto y prueba de la Extensión MDA definida

    Metodología de desarrollo para aplicaciones con enfoque SOA (Service Oriented Architecture)

    Get PDF
    El área de Tecnología Informática (TI) en las Organizaciones actuales se puede caracterizar por tener diversidad de sistemas que tienen entre sí dependencias complejas, que han ido creciendo en forma separada y heterogénea a lo largo de los años. Un desafío que se plantea es poder integrarlos para reaccionar ágilmente a los cambios en los requerimientos del negocio, principalmente en dos aspectos: los procesos de la Organización y las tecnologías disponibles. Service Oriented Architecture (SOA) es un estilo de Arquitectura de Software basado en la definición de servicios reutilizables, con interfaces públicas bien definidas, donde los proveedores y consumidores de servicios interactúan en forma desacoplada para realizar los procesos de negocio. Los servicios representan grupos lógicos de operaciones relacionadas con algún concepto del negocio, y los procesos del negocio se realizan mediante secuencias definidas de invocaciones a servicios, en orquestación o coreografías de servicios. La definición y disponibilidad de estos servicios para toda la Organización es la base del enfoque SOA. El Grupo de Ingeniería de Software (Gris) del Instituto de Computación tiene un programa de construcción y prueba de modelos de proceso en el marco del cual se han adaptado y probado diversos procesos, metodologías y enfoques de desarrollo de software. El principal proceso con que se cuenta es una adaptación del Rational Unified Process (RUP), para el cual se definió una metodología para el desarrollo de aplicaciones SOA como parte central de este trabajo. Esta metodología fue integrada al proceso base adaptación del RUP definiendo una extensión al mismo dada por un conjunto núcleo de elementos que se deben incorporar para este tipo de desarrollos. Esta extensión denominada Extensión SOA, incluye la definición entre otros de Disciplinas, Actividades, Entregables y Roles, adecuados para guíar un desarrollo SOA cumpliendo con las características que define este enfoque. La metodología fue probada en el marco del curso “Proyecto de Ingeniería de Software” para la construcción de una aplicación de Help-Desk para el proyecto Link-all del InCo, y ajustada y mejorada en base a los resultados obtenidos. Como principal evaluación de su utilización se puede concluir que constituye una guía importante para realizar desarrollos SOA, habiendose obtenido un producto que cumple con las funcionalidades y aspectos de calidad definidos por el cliente, así como con las características que plantea el enfoque SOA. Se realizó una generalización de la metodología SOA propuesta con miras a su aplicación en la industria del software, en el marco del proyecto COMPETISOFT - Mejora de Procesos para Fomentar la Competitividad de la Pequeña y Mediana Industria del Software de Iberoamérica, definiendo un Perfil SOA para extender el proceso de desarrollo de software que integra el modelo de procesos definido, como propuesta base de trabajo para la incorporación del enfoque SOA al modelo de procesos

    Obtención de diagramas BPMN con recursos humanos a partir de procesos de software en Spem 2.0

    Get PDF
    Las empresas de software definen sus procesos de desarrollo como una forma de organizar y planear sus actividades, y como un medio para alcanzar una posible certificación ISO o una evaluación CMMI. Existen además estándares como SPEM y herramientas libres como EPF Composer, que permiten que toda empresa pueda contar con un soporte robusto y accesible para la definición de sus procesos de desarrollo de Software. La definición de un proceso de software y su implantación en la organización es una actividad que demanda bastantes recursos en términos de conocimiento, tiempo y costo, y muchas veces los procesos allí definidos no se aplican en la práctica porque resulta complejo para el equipo de desarrollo. De otro lado, BPMN se ha convertido en un estándar para la definición de procesos de negocio, que proporciona claridad gráfica y la posibilidad de que los procesos especificados bajo éste puedan ser gestionados de manera automática sobre una plataforma BPMS. Transformar los procesos de desarrollo de software en SPEM a procesos de negocio en BPMN implicaría un menor nivel de especificidad, pero permitiría acercarse a la gestión automatizada de procesos de software. Adicionalmente, BPMN no provee soporte para la representación de estructuras de recursos humanos, lo cual impone una dificultad para asignar directamente las tareas al grupo de trabajo. En el presente trabajo proponemos un enfoque basado en MDE (Model Driven Engineering) para la transformación automática de procesos en SPEM a procesos BPMN relacionando los roles responsables de la ejecución de cada tarea. La transformación implementada en XSLT se valida sobre un proceso de desarrollo de software real, una empresa chilena llamada Mobius.Abstract. Software companies define their development processes as a means for organizing their activities, and also to make it possible to achieve an ISO certification or a CMMI evaluation. There are standards such as SPEM y free tools as EPF Composer, that allow companies to count on robust and available support for defining their software processes. However, this definition is a laborious and expensive task, and even so the defined processes are sometimes not applied in practice because developers find them complex and cumbersome. On the other hand, BPMN has become a de facto standard for defining business processes, providing a clear graphical representation and the possibility to automatically transform these processes in order to execute them on a BPMS platform. Nevertheless, BPMN is not specifically defined for software processes y thus is not as expressive as SPEM for these purposes. Additionally, BPMN does not support the representation of human resources so it is difficult to directly assign tasks to a work team. In this work we propose an MDE-based approach for automatically transforming SPEM processes into BPMN processes relating tasks with the roles responsible for their execution. The transformation has been implemented using XSLT and validated on the software development process of a real Chilean company called Mobius.Maestrí

    Propuesta metodológica para la implementación de una arquitectura orientada a servicios en entornos de Sistemas de Fabricación Distribuida

    Get PDF
    Los Sistemas de Fabricación de Siguiente Generación, concebidos por la organización IMS (Intelligent Manufacturing Systems), cubrirán la demanda de un mercado cada vez más cambiante y exigente, reuniendo de forma dinámica las funciones de múltiples sistemas internos y externos a la propia empresa de fabricación en lo que conocemos por una empresa extendida. Sin embargo, resulta difícil estructurar estos sistemas para conseguir la flexibilidad deseada y la interoperabilidad con los de las demás organizaciones. Además, un defecto en el sistema tendría un fuerte impacto: afectaría no sólo a la empresa propietaria del sistema, sino también a sus colaboradores. Por estas razones, creemos que una buena decisión sería emplear una arquitectura orientada a servicios diseñada siguiendo una metodología que adopte los servicios como concepto central, en vez de como un detalle de implementación. Para que la arquitectura sea fiable en su conjunto, tendrá que ayudar a localizar errores antes de que sucedan en un entorno de producción. En este artículo proponemos el uso de técnicas de pruebas específicas para este tipo de sistemas, realizamos una comparación de las metodologías existentes para el desarrollo de arquitecturas orientadas a servicios y esbozamos una serie de extensiones sobre una de las existentes para integrar técnicas de prueba.As envisioned by the IMS (Intelligent Manufacturing Systems), Next Generation Manufacturing Systems will satisfy the needs of an increasingly fast-paced and demanding market by dynamically integrating systems from inside and outside the manufacturing firm itself into a so-called extended enterprise. However, organizing these systems to ensure the maximum flexibility and interoperability with those from other organizations is difficult. Additionally, a defect in the system would have a great impact: it would affect not only its owner, but also its partners. For these reasons, we argue that a service-oriented architecture (SOA) would be a good candidate. It should be designed following a methodology where services play a central role, instead of being an implementation detail. In order for the architecture to be reliable enough as a whole, the methodology will need to help find errors before they arise in a production environment. In this paper we propose using SOA-specific testing techniques, compare some of the existing SOA methodologies and outline several extensions upon one of them to integrate testing techniques

    Una herramienta para la automatización de procesos de desarrollo de software usando QVT: transformación de controles de flujo SPEM a BPMN

    Get PDF
    Desde hace unos años Query/Views/Transformations (QVT), definido por la Object Management Group (OMG), se ha convertido en una herramienta muy utilizada a la hora de definir transformaciones de modelos. Este trabajo propone una herramienta QVT que permite la transformación de modelos que representan procesos de desarrollo de software, basados en el Software Process Engineering Metamodel versión 2 (SPEM), hacia modelos de procesos genéricos basados en la notación Business Process Modeling Notation (BPMN). Este artículo muestra una parte fundamental de la transformación definida en el Lenguaje Relations que forma parte de QVT, que define la traducción de los componentes SPE, que especifican el control de flujo de actividades de un proceso de desarrollo de software, a componentes BPMN que definen el flujo de actividades en un proceso de negocio. Para la implementación de la transformación se utilizó MediniQVT. La especificación BPMN resultante define parte de un proceso de negocio que representa un proceso de desarrollo de software, esta especificación es la entrada a un workflow estándar, de esta manera, se puede administrar con un motor de workflow la gestión de un proyecto de desarrollo de software.XI Workshop de Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Una herramienta para la automatización de procesos de desarrollo de software usando QVT: transformación de controles de flujo SPEM a BPMN

    Get PDF
    Desde hace unos años Query/Views/Transformations (QVT), definido por la Object Management Group (OMG), se ha convertido en una herramienta muy utilizada a la hora de definir transformaciones de modelos. Este trabajo propone una herramienta QVT que permite la transformación de modelos que representan procesos de desarrollo de software, basados en el Software Process Engineering Metamodel versión 2 (SPEM), hacia modelos de procesos genéricos basados en la notación Business Process Modeling Notation (BPMN). Este artículo muestra una parte fundamental de la transformación definida en el Lenguaje Relations que forma parte de QVT, que define la traducción de los componentes SPE, que especifican el control de flujo de actividades de un proceso de desarrollo de software, a componentes BPMN que definen el flujo de actividades en un proceso de negocio. Para la implementación de la transformación se utilizó MediniQVT. La especificación BPMN resultante define parte de un proceso de negocio que representa un proceso de desarrollo de software, esta especificación es la entrada a un workflow estándar, de esta manera, se puede administrar con un motor de workflow la gestión de un proyecto de desarrollo de software.XI Workshop de Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Una herramienta para la automatización de procesos de desarrollo de software usando QVT: transformación de controles de flujo SPEM a BPMN

    Get PDF
    Desde hace unos años Query/Views/Transformations (QVT), definido por la Object Management Group (OMG), se ha convertido en una herramienta muy utilizada a la hora de definir transformaciones de modelos. Este trabajo propone una herramienta QVT que permite la transformación de modelos que representan procesos de desarrollo de software, basados en el Software Process Engineering Metamodel versión 2 (SPEM), hacia modelos de procesos genéricos basados en la notación Business Process Modeling Notation (BPMN). Este artículo muestra una parte fundamental de la transformación definida en el Lenguaje Relations que forma parte de QVT, que define la traducción de los componentes SPE, que especifican el control de flujo de actividades de un proceso de desarrollo de software, a componentes BPMN que definen el flujo de actividades en un proceso de negocio. Para la implementación de la transformación se utilizó MediniQVT. La especificación BPMN resultante define parte de un proceso de negocio que representa un proceso de desarrollo de software, esta especificación es la entrada a un workflow estándar, de esta manera, se puede administrar con un motor de workflow la gestión de un proyecto de desarrollo de software.XI Workshop de Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Análisis, diseño e implementación de un módulo de planificación de construcción de casos de uso

    Get PDF
    Los procesos actuales de desarrollo de software implican la utilización de una serie de herramientas y de metodologías que permitan dirigir y soportar el proceso de desarrollo y la gestión adecuada del proyecto mismo. Con el paso del tiempo, estas metodologías se han hecho más útiles a medida que la complejidad del software que se desarrolla ha ido en aumento. RUP, por ejemplo, es una metodología que nos guía para lograr este propósito [1]. Uno de los grandes desafíos de la comunidad de investigadores en ingenie ría de software, es involucrar a los stakeholders en el proceso de captura de requerimientos. Un stakeholder se puede definir como aquella persona que está materialmente afectada por el resultado del proyecto. En ese sentido, todo proyecto involucra la satisfacción de necesidades de un grupo diverso de stakeholders. Típicamente, estos tienen diferentes perspectivas sobre el problema, y diferentes necesidades que deben ser convenientemente identificadas [4]. No obstante los avances logrados en los últimos años, hay algunas partes del proceso de desarrollo de software que aún no están adecuadamente soportadas por alguna metodología, y en ese sentido, requieren de la experiencia de quienes manejan el proyecto de software. El proceso de elección del orden de construcción de los casos de uso a partir de los requerimientos capturados, es un ejemplo de lo anterior. El presente proyecto muestra una propuesta de solución a este tema. Se ha implementado un módulo de software que permite capturar la opinión de los stakeholders y a partir de estas, generar una secuencia de construcción de casos de uso.Tesi

    Contribuciones al diseño de arquitecturas de sistemas distribuidos abiertos para la provisión de servicios del cuidado de la salud y de soporte a la autonomía del ciudadano

    Get PDF
    Texto completo de TeseoEl dominio sanitario se ha visto enormemente influenciado por las Tecnologías de la Información y la Comunicación (TICs) en las últimas décadas. Consecuencia de esto son los avances en dispositivos, gestión de información y procesos asistenciales. En parte debido a la heterogeneidad tecnológica de las soluciones y a la ausencia de una metodología formal de aplicación de las TICs, en la actualidad el escenario sanitario está fragmentado en sistemas separados que rara vez cooperan entre sí para proveer capacidades avanzadas. Esto dificulta la mejora en la eficiencia de los procesos, la evolución del sistema sanitario y la reducción de costes al existir soluciones redundantes que en ocasiones coexisten en las organizaciones sanitarias. La práctica clínica también está evolucionando hacia escenarios descentralizados donde la asistencia a un individuo es compartida entre diferentes organizaciones sanitarias (en ocasiones incluso distribuidas geográficamente) y en los que la coherencia de la información así como su privacidad son requisitos indispensables para una mejora de la eficiencia. En este escenario descentralizado los individuos y no las organizaciones deben ser el centro de los procesos, sustituyendo el actual rol pasivo por uno activo en el mantenimiento y mejora de su salud. Garantizar la interoperatividad en un sistema distribuido es una de las necesidades fundamentales para facilitar el entendimiento entre las partes implicadas. La normalización en los distintos niveles de comunicación (sintáctico, semántico, organizativo, etc.) es la clave para la interoperatividad pero adoptar los esfuerzos normativos en ocasiones resulta una tarea ardua debido principalmente a la variedad de iniciativas normativas y el solapamiento entre ellas. Todos los aspectos relevantes de los sistemas distribuidos tanto de propósito general como específicos del dominio sanitario están cubiertos por esfuerzos normativos pero a menudo es necesario realizar una armonización entre iniciativas antes de aplicarlas al desarrollo de sistemas para no perder interoperatividad. En esta Tesis Doctoral se investiga, diseña y desarrolla un paradigma de sistema distribuido orientado al sujeto de la asistencia que permite la colaboración de sistemas, usuarios, organizaciones y dispositivos con el objetivo común de mejorar y mantener la salud del sujeto de la asistencia concreto. Este paradigma hereda los fundamentos del concepto de organización virtual (Virtual Organization) y se ha denominado Person-Oriented Virtual Organization (POVO). El principal requisito de diseño de este paradigma es la adopción de normas y estándares que potencien la interoperatividad de los sistemas desplegados y garantice una larga vida útil de los mismos a través de la reutilización ulterior de sus capacidades. Siguiendo este principio de diseño la arquitectura de POVO está basada en las especificaciones del estándar ISO/EN 12967 (HISA) específico del dominio sanitario y el marco de trabajo RM-ODP. Para establecer una adecuada base arquitectural, en esta Tesis Doctoral se analiza la norma HISA y se reestructura para que sea más fiel a los principios de diseño del marco de trabajo RM-ODP y siga la formalización determinada por el estándar ISO 19793 (UML4ODP). La especificación del estándar HISA se extiende con capacidades de seguridad y de gestión de semántica. Dichas extensiones están basadas en el análisis y armonización de la normativa aplicable buscando optimizar y facilitar la aplicación de la solución final. Al margen de la especificación de los principios arquitecturales y funciones básicas de la POVO, se particulariza dicho paradigma para el estilo arquitectural SOA y la tecnología de computación en Grid y se diseña y desarrolla un mecanismo de control de acceso orientado a la administración por parte del sujeto de la asistencia y basado en capacidades semánticas. El mecanismo de autorización sigue un esquema de control de acceso basado en atributos que, utilizando ontologías y reglas de inferencia, permite automatizar el proceso de toma de decisiones. Así cualquier sujeto de la asistencia puede determinar de forma sencilla sus preferencias de acceso sobre los recursos e información directamente relacionados con su salud. Estas preferencias son traducidas e integradas en la base de conocimiento y un motor de inferencia será el que autorice o deniegue los intentos de acceso en base a las políticas definidas por el sujeto de la asistencia. Las aportaciones de esta Tesis Doctoral, en líneas generales, ponen de manifiesto tres aspectos fundamentales en el ámbito de las TICs aplicadas al dominio sanitario. En primer lugar, el potencial que la normalización tiene para construir soluciones interoperables, reutilizables y con amplios horizontes temporales. Como consecuencia de ello es necesario potenciar las iniciativas normativas actuales y armonizar los solapamientos que existan entre ellas. Ejemplo de esto es la norma HISA cuya amplia adopción está ligada a la correcta integración con otras normas del mismo ámbito y su adecuada puesta en valor. En segundo lugar, los escenarios distribuidos con foco en el sujeto de la asistencia son el paso evolutivo natural de la asistencia sanitaria dadas las actuales (y futuras) coyunturas económicas y sociales. La tecnología está alcanzando una gran madurez en lo que a sistemas distribuidos se refiere pero aún queda camino por recorrer para poder construir soluciones fiables y eficientes que cubran los requisitos específicos de un escenario distribuido tan complejo como el que se presenta en esta Tesis Doctoral. Por último, el mecanismo de control de acceso diseñado y desarrollado sirve de prueba de concepto de cómo la tecnología actual puede otorgar a los individuos un papel activo en el mantenimiento de su salud y procesos relacionados sin necesidad de que tengan conocimientos tecnológicos avanzados
    corecore