24 research outputs found

    Cobertura entre pruebas a distintos niveles para refactorizaciones más seguras

    Get PDF
    Esta tesis busca encontrar una práctica metodológica que permita definir distintos niveles de pruebas que operen como garantía de refactorizaciones seguras, independientemente del alcance de las mismas. Se enmarca en el tema general de refactoring, con elementos de Test Driven Development (TDD), utilizando las prácticas recomendadas en el marco de Behavior Driven Development (BDD) y de Acceptance Test Driven Development (ATDD). La práctica de refactoring descansa fuertemente en la existencia de pruebas unitarias automatizadas, que funcionan como red de seguridad que garantiza que el comportamiento de la aplicación no varía luego de una refactorización. Sin embargo, este simple enunciado no prevé que hay ocasiones en que las pruebas dejan de funcionar al realizar las refactorizaciones, con lo cual se pierde la sincronización entre código y pruebas, y la cualidad de red de seguridad de estas últimas. Esto es especialmente cierto ante refactorizaciones estructurales y rediseños macro. Por lo tanto, y dado que el uso de pruebas como red de contención es uno de los supuestos más fuertes de la práctica del refactoring, vamos a desarrollar, como objetivo de esta tesis, una práctica metodológica para permitir definir distintos niveles de pruebas que aseguren distintos tipos de refactorizaciones, validándola con un caso de estudio y apoyándonos en una herramienta automática desarrollada en el marco de este trabajo.Facultad de Informátic

    Estado del arte y tendencias en Test-Driven Development

    Get PDF
    Test-Driven Development, o TDD como se lo conoce más a menudo, surgió como una práctica de diseño de software orientado a objetos, basada en derivar el código de pruebas automatizadas escritas antes del mismo. Sin embargo, con el correr de los años, se ha ido ampliando su uso. Se ha utilizado para poner el énfasis en hacer pequeñas pruebas de unidad que garanticen la cohesión de las clases, así como en pruebas de integración que aseguren la calidad del diseño y la separación de incumbencias. Otros han querido enfatizar su adecuación como herramienta de especificación de requerimientos. Y en los últimos años se ha comenzado a avanzar con los conceptos de TDD hacia las pruebas de interacción a través de interfaces de usuario. Este trabajo pretende hacer una revisión del estado del arte de TDD y evaluar futuras tendencias, que inequívocamente se están dirigiendo a una integración de las distintas clases de TDD.Facultad de Informátic

    Hacia la modernización de aplicaciones corporativas dirigidas por modelos de datos. Implementación de un round-trip multidimensional orientado a aspectos JEE

    Full text link
    Este trabajo ha estudiado, en el contexto de la evolución de software, como resolver el problema de la sincronización parcial de dimensiones definidas por los aspectos de una aplicación JEE anotada, desde un enfoque dirigido por modelos.García Pau, V. (2011). Hacia la modernización de aplicaciones corporativas dirigidas por modelos de datos. Implementación de un round-trip multidimensional orientado a aspectos JEE. http://hdl.handle.net/10251/15493Archivo delegad

    Learning to apply Clean Code through a practical exercise

    Get PDF
    Grado en Ingeniería de Tecnologías de Telecomunicació

    Sistema para la gestión de información de los procesos de producción y capacitación de medicina natural y tradicional en Granma

    Get PDF
    In the Provincial Center of Traditional Medicine (MNT) in Granma located in Bayamo city, it gets to stub the step of information of the processes of production and training. This process comes true of way complex, because said information of a constant mode in order to have the precise control of the data should get registered, either in the provincial direction as in anyone of his entities. Attending to these needs, develops an application to facilitate the step of the processes of production and training in Traditional Medicina's Center of fast, reliable and safe way. The process of development of the application comes true basing itself on free technologies, multi-platform, using PHP 5.3.3 like the programming language, takes effect of Model-View-Controller architecture, using the framework CodeIgniter, MySQL 5.5.20 as System Managing of Data Bases and Netbeans 7.3 like Integrated Development Enviroment.En el Centro Provincial de Medicina Tradicional (MNT) en Granma ubicado en la ciudad de Bayamo, se lleva a cabo la gestión de información de los procesos de producción y capacitación. Este proceso se realiza de forma compleja, debido a que se debe registrar dicha información de un modo constante para así tener el control preciso de los datos, ya sea en la dirección provincial como en cualquiera de sus entidades. Atendiendo a estas necesidades, se desarrolla una aplicación para facilitar la gestión de los procesos de producción y capacitación en el Centro de Medicina Natural y Tradicional de forma rápida, confiable y segura. El proceso de desarrollo de la aplicación se realiza apoyándose en tecnologías libres, multiplataforma, utilizando PHP 5.3.3 como el lenguaje de programación, se implementa el patrón de arquitectura Modelo-Vista-Controlador, utilizando el framework CodeIgniter, MySQL 5.5.20 como Sistema Gestor de Bases de Datos y Netbeans7.3 como Entorno de Desarrollo Integrado

    Aplicación de técnicas de pruebas automáticas basadas en propiedades a los diferentes niveles de prueba del software

    Get PDF
    [Resumen]Las pruebas son una de las actividades clave en el desarrollo de software, puesto que ayudan a detectar defectos que, de otro modo, pasarían desapercibidos hasta que el software sea desplegado. Sin embargo, al contrario que en otras etapas del ciclo de vida del software, como son el análisis, el diseño o la implementación, para las que existen metodologías y técnicas bien definidas y ampliamente aceptadas en la comunidad informática, junto con herramientas que permiten llevar a cabo dichas tareas, no hay una uniformidad sobre las metodologías, técnicas o herramientas a utilizar para llevar a cabo las pruebas del software de una manera eficiente y eficaz. Este hecho provoca que, muchas veces, éstas sean omitidas o no realizadas con todo el rigor necesario. Esta tesis presenta una aproximación, basada en propiedades y puramente funcional, para la realización de las pruebas del software, que intenta paliar estos problemas. Para ello, se definen metodologías y técnicas de pruebas, integradas en el proceso de desarrollo de software, que pueden ser aplicadas a los diferentes niveles de pruebas del software. Así, pueden utilizarse para llevar a cabo pruebas unitarias y de componente, en las que se comprueba que cada componente individual se comporta de la manera esperada, pruebas de integración, que comprueban las interacciones de los componentes que forman parte de un sistema, y pruebas de sistema, que se encargan de comprobar diferentes aspectos del sistema como un todo. Además, se utiliza un lenguaje de especificación de pruebas común en todas las aproximaciones desarrolladas, el lenguaje de programación funcional Erlang, y las metodologías se definen de manera independiente a la estructura del software concreto a probar o el lenguaje de programación en el que éste esté implementado. Por último, cabe destacar que el uso de estas metodologías y técnicas de pruebas se ilustra a través de un ejemplo industrial, en concreto, el sistema VoDKATV. Este sistema ofrece acceso a servicios multimedia (canales de televisión, videoclub, aplicaciones, juegos, entre otros) a través de diferentes tipos de dispositivos, como, por ejemplo, televisiones, ordenadores, tabletas o móviles. Con respecto a la arquitectura, el sistema VoDKATV está compuesto por múltiples componentes implementados con diferentes tecnologías (Java, Erlang, C, etc.) que se integran entre sí. La complejidad de este sistema permite ilustrar cada una de las metodologías y técnicas de pruebas desarrolladas con un ejemplo real

    Implementación de microservicios para integrar la información de productos en una empresa retail

    Get PDF
    El área comercial corporativa de un negocio retail necesitaba mantener actualizada la información de los productos administrados por su plataforma de importaciones con el catálogo de productos corporativo. El catálogo ofrecería beneficios tales como actuar de intermediario para intercambiar dicha información entre diferentes plataformas, además de ser una fuente centralizada, estandarizada y validada de la información de productos para diferentes unidades de negocio. Para ello era necesario integrar la información de productos entre la plataforma de importaciones y el catálogo de productos lo cual se hizo a través de un conjunto de microservicios y servicios de mensajería bajo el patrón publicador suscriptor. El marco de trabajo elegido para esta integración de sistemas fue Scrum debido a la incertidumbre que se tenía y la necesidad de reaccionar de forma rápida a los cambios que surgiesen en el proyecto. Se logró cumplir con los objetivos de implementar la arquitectura de integración, aprovisionar la infraestructura, mejorar la plataforma de importaciones y realizar las pruebas de la implementación de la integración que permitieron cumplir con el objetivo de integrar la plataforma de importaciones y el catálogo de productos corporativo de forma satisfactoria

    Propuesta de instrumentos para mejorar el área de control de calidad de sistemas informáticos de una empresa de desarrollo de sistemas para el sector público

    Get PDF
    En el sector de Desarrollo de Software es muy común encontrar sistemas tanto a nivel de organizaciones privadas como públicas; que si bien están operando, no satisfacen todas las necesidades de sus usuarios, lo que ocasiona que no sean utilizados en su totalidad y lo que es peor, a perder la confianza del cliente en cuanto a quien lo desarrolló, para evitar esto, se debe fomentar el uso de modelos, metodologías ó buenas prácticas que permitan establecer el camino a seguir y el control que se debe hacer entre el fin e inicio de cada etapa del ciclo de desarrollo de software. El presente trabajo, se lo realizo en la empresa “SYSGENSA” en la cual se vio la necesidad de mejorar sus procesos, y empoderar a su recurso humano a fin de desarrollar aplicaciones que cumplan con niveles de calidad, tiempos y recursos de acuerdo a una planificación en función de las expectativas de sus clientes. Se proponen instrumentos y herramientas que apoyen al proceso de control de calidad en el ciclo de desarrollo de software de la Empresa. En la Tesis se desarrolla, en el capítulo 1, el marco teórico relacionado con calidad, en el capítulo 2 , se realiza un análisis breve sobre el sector de la industria del desarrollo de software en el Ecuador, en el capítulo 3, se presenta el análisis situacional de la empresa SYSGENSA, en el capítulo 4, se plantea la propuesta de mejora al proceso de desarrollo de software de la empresa, y un grupo de herramientas informáticas libres y propietarias que pueden apoyar a nivel de gestión de requerimientos, control de calidad, gestión de configuración y versiones, y gestión del proyecto

    Sistema informático para la de gestión de información sobre el personal técnico de la Universidad de Granma

    Get PDF
    In the Address of Human resources of the University of Granma it is carried out the control y prosecution of a great volume of information on the technical personnel that works in the same one. To give execution to the carried out information it is demanded the prosecution of great quantity of data y documents, what hinders the control y it favors the delay of the information. Also, the process of the information is carried out slowly, causing nuisances; with the result that the summary y analysis of these data at one time brief it is important to maintain an effective dynamics inside the business. Assisting to these necessities, software is developed to facilitate in a quick, reliable y sure way the administration of the information y prosecution of the data in the Address of Human resources in the University of Granma. The process of development of the product is carried out leaning on in free technologies y multiplatform, as NetBeans 7.2 like development environment, for the modeling of the database DB designer4, as programming language the Java 2EE with JSF, the pattern of architecture of 4 layer was implemented through the framework SPRING y HIBERNATE, as servant Apache Web Tomcat y system agent of Database MySQL.En la Dirección de Recursos Humanos de la Universidad de Granma se lleva a cabo el control y procesamiento de un gran volumen de información sobre el personal técnico que labora en la misma. Para dar cumplimiento a la información realizada se demanda el procesamiento de gran cantidad de datos y documentos, lo que dificulta el control y favorece la demora de la información. Además, el proceso de la información se realiza con lentitud, causando molestias; de ahí que la recopilación y análisis de estos datos en un tiempo breve sea importante para mantener una dinámica efectiva dentro del negocio. Atendiendo a estas necesidades, se desarrolla un software para facilitar de forma rápida, confiable y segura la gestión de la información y procesamiento de los datos en la Dirección de Recursos Humanos en la Universidad de Granma. El proceso de desarrollo del producto se realiza apoyándose en tecnologías libres y multiplataforma, como NetBeans 7.2 como entorno de desarrollo, para el modelado de la base de datos DB designer4, como lenguaje de programación el Java 2EE con JSF, se implementó el patrón de arquitectura de 4 capa a través de los framework SPRING e HIBERNATE, como servidor Web Apache Tomcat y sistema gestor de Base de Datos MySQL

    Prácticas y herramientas para el desarrollo ágil de software seguro

    Get PDF
    Se plantea aplicar y relacionar conceptos y procedimientos relacionados con la ciberseguridad que se utilizan a día de hoy en el ámbito profesional, de manera que puedan aportar un nuevo enfoque a la gestión de proyectos de desarrollo de software ágil, cuyo origen se remonta al año 2001 a través del Manifiesto Agile. El TFM “Prácticas y herramientas para el desarrollo ágil de software seguro” pretende sintetizar y reflexionar tanto los conocimientos adquiridos en el “Máster de Dirección de Proyectos Informáticos”, como las destrezas y experiencias vividas durante la vida laboral del alumno. En primer lugar, se describen los conceptos necesarios para entender el contexto del trabajo. A continuación, desde el punto de vista teórico, se realiza un análisis sobre la situación actual en la que se encuentran las metodologías de desarrollo orientadas a aportar agilidad y seguridad a las aplicaciones, Tras esto, se formularán un conjunto de prácticas, técnicas, principios y herramientas basados en la experiencia del alumno, aportando soluciones para proveer ágilmente de seguridad por defecto al software, siendo estos procesos reutilizables y aplicable a cualquier proyecto o equipo, independientemente de su naturaleza y situación específicas. Y por último se llevará a cabo un resumen de las conclusiones del trabajo.It is proposed to apply and relate concepts and procedures related to cybersecurity that are used today in the professional field, so that they can bring a new approach to the agile software project management, whose origin dates back to 2001 through the Agile Manifesto. The TFM “Practices and tools for agile and secure development during the SDLC” aims to synthesize and reflect both the knowledge acquired in the "Master in IT Project Management", as well as the skills and experiences lived during the student's working life. First of all, it describes from a theoretical point of view the current situation of development methodologies oriented to provide agility and security to applications. Secondly, a set of practices, techniques, principles and tools based on the student's experience will be formulated, providing solutions to provide agile security by default to the software, being these processes reusable and applicable to any project or team, regardless of their specific nature and situation.Máster Universitario en Dirección de Proyectos Informáticos (M133
    corecore