13 research outputs found

    An incremental method for visual analysis of software process models

    Get PDF
    Specifying process models in SPEM 2.0 is a costly task by the number of details to be defined. Normally this specification evolves in the task of defining the process or an improvement project. In software development can be constructed and evaluated deliverables, in the same way, would expect that with the definition of the process occur the same. However, the practical evaluation stage of a process is much longer, costly and complex than the same stage of definition. This paper proposes the use of AVISPA-Method (Incremental method for visual analysis of software process models), a process visual analysis tool, as a lightweight method for conducting early evaluations of the process model at a much lower cost. To evidence the applicability of the method, a case study has been developed, in which the Small-SPL process model has been evaluated and incrementally debugged following this approach. During its modeling process, AVISPA-Method was used at the end each ofthe planned versions during its specification. This contributed to debug the specification of each of the three versions and a notable improvement in the specification of the process.Especificar modelos de procesos en SPEM 2.0 es una tarea costosa por la cantidad de detalles a ser definidos. Normalmente dicha especificación evoluciona en la labor de definición del proceso o un proyecto de mejoramiento. En el desarrollo de software se pueden construir y evaluar entregables, de la misma forma se esperaría que con la definición del proceso ocurra igual. Sin embargo, la etapa de evaluación práctica de un proceso es mucho más larga, costosa y compleja que la misma etapa de definición. En este artículo se propone el uso de AVISPA-Method (Método incremental para el análisis visual de modelos de proceso software), como un método liviano para realizar evaluaciones tempranas del modelo de proceso a un costo mucho más reducido que su evaluación en la aplicación real, este método emplea a AVISPA (Analysis and Visualization for Software Process Assessment) como herramienta para la evaluación del modelo de proceso. Para mostrar la aplicabilidad del método,se ha desarrollado un estudio de caso, en el que el modelo de proceso Small-SPL se ha evaluado y depurado incrementalmente siguiendo este enfoque. Durante su proceso de modelado, AVISPAMethod, fue utilizado al terminar cada una de las versiones planificadas durante su especificación. Esto contribuyó a depurar la especificación de cada una de las tres versiones y a un notable mejoramiento en la especificación del proceso

    ANALIZANDO LA VARIABILIDAD DEL PROCESO UNIFICADO CON LA TÉCNICA DE WASHIZAKI

    Get PDF
    RESUMEN ANALÍTICOAdaptar el proceso software al contexto de la organización o a proyectos específcos es una actividad recurrente en la industria de software. Una de las técnicas efectivas para la adaptación del proceso software son las líneas de procesos, debido a que permiten disminuir el esfuerzo en la generación de procesos adaptados mediante la reutilización planifcada de los activos de proceso. Una actividad esencial para defnir líneas de procesos es determinar adecuadamente su variabilidad para alcanzar fexibilidad, adaptabilidad y reutilización. Este artículo presenta la experiencia de determinar la variabilidad en el Proceso Unifcado con respecto a algunas de las adaptaciones y extensiones existentes, usando la técnica de Washizaki para la comparación de modelos de procesos. El principal resultado es un modelo de variabilidad del Proceso Unifcado, el cual es un artefacto clave para defnirlo como una línea de procesos. Para su obtención el modelo ha sido analizado estáticamente. Además, este trabajo ha permitido evaluar la técnica de comparación de modelos de proceso usando la información empírica de algunos procesos existentes y reportados por distintas comunidades.PALABRAS CLAVES: Variabilidad del proceso Software, Proceso software, Familias de procesos, Proceso Unifcado, Adaptación del proceso.UNIFIED PROCESS VARIAbILITY ANALYSIS USING THE WASHIZAKI’S TECHNIQUEANALYTICAL SUMMARYAdapting the software process to the context of the organization or specifc projects is a recurring  activity in the software industry. One of the effective techniques for the tailoring software process are the process lines, because they allow to reduce the effort on the generation of adapted processes through planned reuse of process assets. An essential activity to defne processes lines is adequately determine their variability to achieve fexibility, adaptability and reuse. In this article presents the experience to determine the variability in the Unifed Process with respect to some of the existing adaptations and extensions, using the Washizaki’s technique to coparate process models. The main result is a model of variability of the Unifed Process, which is a key artifact to defne it as a process line. In order to obtain it the model has been analyzed statically. This work has allowed to evaluate the comparison technique of models using the empirical information of some existing processes which have been reported by different communities.KEYWORDS: Software process variability, Software Process, families Process, Unifed Process, Tailoring Process

    Analyzing and applying gamification in the ChildProgramming process

    Get PDF
    Los ambientes de educación en las escuelas pueden tornarse aburridos para una gran cantidad de niños, por lo que el compromiso y la motivación por el aprendizaje normalmente son bajos. Aunque muchos métodos nuevos han sido propuestos, aún se reportan problemas de motivación y de aprendizaje en aspectos de la lógica, el lenguaje y la matemática. ChildProgramming es un modelo de aprendizaje del desarrollo de software en niños de edad escolar con el que se busca desarrollarles habilidades lógico-matemáticas, sociales y de trabajo en equipo. Sin embargo, la primera aproximación de este modelo se enfocó sobre un proceso de aprendizaje de la construcción de software, el cual abarcó los aspectos cognitivos, de colaboración y de agilidad, dejando por fuera la formalización de los aspectos lúdicos. Debido a lo anterior, quedan por fuera la lúdica como estrategia clave para incrementar la motivación del estudiante hacia el aprendizaje y el trabajo en equipo. Considerando la Gamificación como la aplicación de mecánicas y dinámicas de juego en contextos de no juego, en este artículo se realiza la gamificación del modelo ChildProgramming usando un método disciplinado para el análisis y el diseño de la gamificación. Este nuevo modelo hace parte de un trabajo de investigación en curso por lo que será evaluado y retroalimentado a través de estudios de caso.The education environment of schools can became boring for most children, so the commitment and motivation for learning is normally low. Although many new methods has been proposed, there is still reports of problems with motivation and learning aspects of logic, language and mathematics. ChildProgramming is a learning model of software development in children of school age which seeks to develop logical-mathematical, social and teamwork skills. However, the first approach of this model focused on a learning process of software construction, which included cognitive, collaboration and agility aspects, leaving out the formalization of ludic aspects. Because of this, it is left out the ludic as a key strategy to increase the student motivation toward learning and teamwork. Considering the gamification as the application of mechanics and dynamic of games in a no game contexts, in this article is done the gamification of the ChildProgramming model using a disciplined approach to the analysis and design of gamification. This new model is part of an ongoing research work so it will be evaluated and fed back through case studies

    Analizando y aplicando la gamificación en el proceso ChildProgramming

    Get PDF
    Los ambientes de educación en las escuelas pueden tornarse aburridos para una gran cantidad de niños, por lo que el compromiso y la motivación por el aprendizaje normalmente son bajos. Aunque muchos métodos nuevos han sido propuestos, aún se reportan problemas de motivación y de aprendizaje en aspectos de la lógica, el lenguaje y la matemática. ChildProgramming es un modelo de aprendizaje del desarrollo de software en niños de edad escolar con el que se busca desarrollarles habilidades lógico-matemáticas, sociales y de trabajo en equipo. Sin embargo, la primera aproximación de este modelo se enfocó sobre un proceso de aprendizaje de la construcción de software, el cual abarcó los aspectos cognitivos, de colaboración y de agilidad, dejando por fuera la formalización de los aspectos lúdicos. Debido a lo anterior, quedan por fuera la lúdica como estrategia clave para incrementar la motivación del estudiante hacia el aprendizaje y el trabajo en equipo. Considerando la Gamificación como la aplicación de mecánicas y dinámicas de juego en contextos de no juego, en este artículo se realiza la gamificación del modelo ChildProgramming usando un método disciplinado para el análisis y el diseño de la gamificación. Este nuevo modelo hace parte de un trabajo de investigación en curso por lo que será evaluado y retroalimentado a través de estudios de caso

    Un lenguaje de modelado para representar visualmente las decisiones de diseño arquitectónico y su rationale

    No full text
    The architectural rationale is the set of reasons behind the decisions made when designing the architecture of a software system. Normally, this rationale remains in the minds of designers and others involved in the design. Therefore, the reasoning behind the decisions that underpin the architecture model may be lost if not properly documented, causing maintainability problems in the software. In practice, the rationale is not documented or is documented in the middle of the architectural descriptions, which makes it difficult to understand and support subsequent decisions, within the development and maintenance of software, which is more critical in the agile approach to development. To address this problem, this paper proposes a documentation approach that combines rationale modeling with a focus on decisions made in projects that use agile methods, to specify a language that provides the basis for the construction of a tool that we have called DRML (Decisions and Rationale Modeling Language). The language is evaluated to document the rationale in the framework of the Unique Indigenous Information System (SUIIN, for its acronym in Spanish) project, in the context of a public entity that within its processes has a work team made up of systems engineers focused on software development. This evaluation has established that the approach provides sufficient expressiveness to document the decisions and their rationale, however, it has limitations to scale the modeling for a large number of decisions and their relationships.El rationale arquitectónico es el conjunto de razones detrás de las decisiones tomadas al diseñar la arquitectura de un sistema de software. Normalmente, dicho rationale se queda en las mentes de los diseñadores y demás involucrados en el diseño. Por lo tanto, el razonamiento detrás de las decisiones que sustentan el modelo de arquitectura puede perderse si no se documenta adecuadamente, causando problemas de mantenibilidad en el software. En la práctica, el rationale no se documenta o se documenta en medio de las descripciones arquitecturales, lo cual dificulta su comprensión y apoyo a las decisiones posteriores, dentro del desarrollo y mantenimiento de software, lo cual resulta más crítico en el enfoque ágil de desarrollo. Para abordar este problema, en este trabajo se propone un enfoque de documentación que combina el modelado del rationale, con foco en las decisiones que se toman en proyectos que utilizan métodos ágiles, con el fin de especificar un lenguaje que fundamente las bases para la construcción de una herramienta que hemos denominado Decisions and rationale modeling language (DRML). El lenguaje es evaluado para documentar el rationale en el marco del proyecto “Sistema Único de Información Indígena (SUIIN)”, en el contexto de una entidad pública que dentro sus procesos tienen un equipo de trabajo conformado por ingenieros de sistemas, enfocados en el desarrollo de software. Dicha evaluación ha permitido establecer que el enfoque brinda la suficiente expresividad para documentar las decisiones y su rationale, sin embargo, presenta limitaciones para escalar el modelado para un número grande de decisiones y sus relaciones

    A Software Products Line as Educational Tool to Learn Industrial Robots Programming with Arduino

    No full text
    Software reuse has potential for educational purposes since it uses decomposition and abstraction, two necessary skills to learn programming. Software reuse techniques require abstractions that are not obvious to students or even to professionals. Taking advantage of these techniques, students can learn computer programming in a productive and organized way. This paper proposes to use the Software Product Line (SPL) reuse technique as a strategy for learning to program industrial robots with the Arduino platform. First, the paper explains SPL construction and application with first-year university students. The SPL proposes abstractions close to the industrial robots domain with a simplified variability. The paper uses the case study method to show the feasibility of using the SPL approach in a learning environment. In this evaluation, students reused 38% to 43% of the total code needed to program the robot. It represents an improvement in the time it takes students to program industrial robotics solutions facilitating their learning. In addition, the paper unveils some limitations related to usability, specific knowledge, and some exploitable technologies

    A Software Products Line as Educational Tool to Learn Industrial Robots Programming with Arduino

    No full text
    Software reuse has potential for educational purposes since it uses decomposition and abstraction, two necessary skills to learn programming. Software reuse techniques require abstractions that are not obvious to students or even to professionals. Taking advantage of these techniques, students can learn computer programming in a productive and organized way. This paper proposes to use the Software Product Line (SPL) reuse technique as a strategy for learning to program industrial robots with the Arduino platform. First, the paper explains SPL construction and application with first-year university students. The SPL proposes abstractions close to the industrial robots domain with a simplified variability. The paper uses the case study method to show the feasibility of using the SPL approach in a learning environment. In this evaluation, students reused 38% to 43% of the total code needed to program the robot. It represents an improvement in the time it takes students to program industrial robotics solutions facilitating their learning. In addition, the paper unveils some limitations related to usability, specific knowledge, and some exploitable technologies

    Analizando la variabilidad del proceso unificado con la técnica de Washizaki

    Get PDF
    RESUMEN ANALÍTICOAdaptar el proceso software al contexto de la organización o a proyectos específcos es una actividad recurrente en la industria de software. Una de las técnicas efectivas para la adaptación del proceso software son las líneas de procesos, debido a que permiten disminuir el esfuerzo en la generación de procesos adaptados mediante la reutilización planifcada de los activos de proceso. Una actividad esencial para defnir líneas de procesos es determinar adecuadamente su variabilidad para alcanzar fexibilidad, adaptabilidad y reutilización. Este artículo presenta la experiencia de determinar la variabilidad en el Proceso Unifcado con respecto a algunas de las adaptaciones y extensiones existentes, usando la técnica de Washizaki para la comparación de modelos de procesos. El principal resultado es un modelo de variabilidad del Proceso Unifcado, el cual es un artefacto clave para defnirlo como una línea de procesos. Para su obtención el modelo ha sido analizado estáticamente. Además, este trabajo ha permitido evaluar la técnica de comparación de modelos de proceso usando la información empírica de algunos procesos existentes y reportados por distintas comunidades.PALABRAS CLAVES: Variabilidad del proceso Software, Proceso software, Familias de procesos, Proceso Unifcado, Adaptación del proceso.UNIFIED PROCESS VARIAbILITY ANALYSIS USING THE WASHIZAKI’S TECHNIQUEANALYTICAL SUMMARYAdapting the software process to the context of the organization or specifc projects is a recurring  activity in the software industry. One of the effective techniques for the tailoring software process are the process lines, because they allow to reduce the effort on the generation of adapted processes through planned reuse of process assets. An essential activity to defne processes lines is adequately determine their variability to achieve fexibility, adaptability and reuse. In this article presents the experience to determine the variability in the Unifed Process with respect to some of the existing adaptations and extensions, using the Washizaki’s technique to coparate process models. The main result is a model of variability of the Unifed Process, which is a key artifact to defne it as a process line. In order to obtain it the model has been analyzed statically. This work has allowed to evaluate the comparison technique of models using the empirical information of some existing processes which have been reported by different communities.KEYWORDS: Software process variability, Software Process, families Process, Unifed Process, Tailoring Process

    Estudiando el modelo ChildProgramming-G para encontrar elementos que permitan desarrollar un sistema de memoria transactiva

    No full text
    Based on the great challenges and difficulties that come with the software industry today, and the abrupt way it changes from one generation to another, it is necessary that software developers acquire certain skills and knowledge from an early age, for that reason He held two experiences with school-age children. In the first experiment the development model was used to teach children how to program called ChildProgramming, in the second experiment the ChildProgramming-G model, which is an extension that includes gamification techniques applied. During the experiments it was observed that a homogeneous models develop knowledge in children, plus some disadvantages when planning and allocation of tasks within the teams are presented. For that reason and to solve the problems presented is intended to incorporate the model ChildProgramming-G a set of solutions based on the formation of thematic experts to develop a system transactive memory (SMT), ensuring differentiation of knowledge as well as practical the coordination and credibility within the team, that lead to higher performance. This article describes the experiments carried out and relevant about the memory transactivate concepts that will be taken into account for the implementation of practices, which are part of an ongoing research are described.Partiendo de los grandes retos y dificultades que trae consigo la industria del software hoy en día, y la manera abrupta en que cambia de una generación a otra, es necesario que los desarrolladores de software adquieran ciertas habilidades y conocimientos desde edades tempranas, por tal motivo se llevó a cabo dos experiencias con niños en edad escolar. En la primera experiencia se aplicó el modelo de desarrollo para enseñar a los niños a programar denominado ChildProgramming, en la segunda experiencia se aplicó el modelo ChildProgramming-G, el cual es una extensión que incluye técnicas de gamificación. Durante las experiencias se pudo observar que los modelos desarrollan un conocimiento homogéneo en los niños, además de que se presentan algunos  inconvenientes a la hora de la planificación y asignación de las tareas dentro de los  equipos de trabajo. Por tal motivo y para dar solución a los inconvenientes presentados se pretende incorporar al modelo ChildProgramming-G un conjunto de prácticas basadas en la formación de expertos temáticos que desarrollen un sistema de memoria transactiva (SMT), garantizando  la diferenciación de conocimiento, además de la coordinación y la credibilidad dentro del equipo, que conlleven a un mayor rendimiento. En este artículo se describen las experiencias llevadas a cabo y los conceptos relevantes acerca de la memoria transactiva, que serán tomados en cuenta para la realización de las prácticas, las cuales hacen parte de un trabajo de investigación en curso

    Agile Architecture in Action (AGATA)

    No full text
    Abstract Introduction: This work proposes Agile Architecture in Action (AGATA), a software process framework that scales agile methods to larger teams. Methodology: following a human interface model, several Extreme Programming (XP) development teams work together around a central team that takes advantage of the ability of architectural methods to define the solution at the architectural level, improving communication and maintaining agile parameters. Results: AGATA was applied in a development project, involving software engineers and software engineering senior students that participated in a graduate practical course. In this case study we measured communication based in the architecture and face-to-face channels, taking into account the degree of distortion and quality of the channels. The main results show that communication levels in the whole team are reasonable and that the channels proposed by AGATA maintain agile parameters as to intergroup relationship and client deliveries. There are reports indicating scaling problems as teams grow; particularly, communication worsens. Conclusions: It is necessary to propose clear channels of communication. AGATA practices managed to maintain agile elements with a large team.Resumen Introducción: Este trabajo propone Agile Architecture in Action (AGATA), un marco de proceso de software que escala métodos ágiles a equipos más grandes. Metodología: Siguiendo un modelo de interfaz humano, varios equipos de desarrollo de Extreme Programming (XP) trabajan juntos alrededor de un equipo central que aprovecha la capacidad de métodos arquitectónicos para definir la solución a nivel arquitectónico, mejorando la comunicación y manteniendo los parámetros ágiles. Resultados: AGATA se aplicó en un proyecto de desarrollo, en el que participaron ingenieros de software y estudiantes de último año de ingeniería de software, que participaron en un curso práctico de posgrado. En este caso de estudio se midieron los canales de comunicación la arquitectura y el cara a cara, teniendo en cuenta el grado de distorsión y la calidad de los canales. Los principales resultados muestran que los niveles de comunicación en todo el equipo son razonables y que los canales propuestos por AGATA mantienen parámetros ágiles en cuanto a relaciones intergrupales y entregas de clientes. Hay informes que indican problemas de escala, a medida que los equipos crecen; en particular, la comunicación. Conclusiones: es necesario proponer canales claros de comunicación; las prácticas utilizando AGATA lograron mantener los elementos ágiles con un equipo grande
    corecore