24 research outputs found
Cobertura entre pruebas a distintos niveles para refactorizaciones más seguras
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
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
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
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
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
[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
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
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
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
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