6 resultados para waterfall
em Universidad Politécnica de Madrid
Resumo:
El presente proyecto fin de carrera, realizado por el ingeniero técnico en telecomunicaciones Pedro M. Matamala Lucas, es la fase final de desarrollo de un proyecto de mayor magnitud correspondiente al software de vídeo forense SAVID. El propósito del proyecto en su totalidad es la creación de una herramienta informática capacitada para realizar el análisis de ficheros de vídeo, codificados y comprimidos por el sistema DV –Digital Video-. El objetivo del análisis, es aportar información acerca de si la cinta magnética presenta indicios de haber sido manipulada con una edición posterior a su grabación original, además, de mostrar al usuario otros datos de interés como las especificaciones técnicas de la señal de vídeo y audio. Por lo tanto, se facilitará al usuario, analista de vídeo forense, información que le ayude a valorar la originalidad del contenido del soporte que es sujeto del análisis. El objetivo específico de esta fase final, es la creación de la interfaz de usuario del software, que informa tanto del código binario de los sectores significativos, como de su interpretación tras el análisis. También permitirá al usuario el reporte de los resultados, además de otras funcionalidades que le permitan la navegación por los sectores del código que han sido modificados como efecto colateral de la edición de la cinta magnética original. Otro objetivo importante del proyecto ha sido la investigación de metodologías y técnicas de desarrollo de software para su posterior implementación, buscando con esto, una mayor eficiencia en la gestión del tiempo y una mayor calidad de software con el fin de garantizar su evolución y sostenibilidad en el futuro. Se ha hecho hincapié en las metodologías ágiles que han ido ganando relevancia en el sector de las tecnologías de la información en las últimas décadas, sustituyendo a metodologías clásicas como el desarrollo en cascada. Su flexibilidad durante el ciclo de vida del software, permite obtener mejores resultados cuando las especificaciones no están del todo definidas, ajustándose de este modo a las condiciones del proyecto. Resumiendo las especificaciones técnicas del software, C++ es el lenguaje de programación orientado a objetos con el que se ha desarrollado, utilizándose la tecnología MFC -Microsoft Foundation Classes- para la implementación. Es un proyecto MFC de tipo cuadro de dialogo,creado, compilado y publicado, con la herramienta de desarrollo integrado Microsoft Visual Studio 2010. La arquitectura con la que se ha estructurado es la arquetípica de tres capas, compuesta por la interfaz de usuario, capa de negocio y capa de acceso a datos. Se ha visto necesario configurar el proyecto con compatibilidad con CLR –Common Languages Runtime- para poder implementar la funcionalidad de creación de reportes. Acompañando a la aplicación informática, se presenta la memoria del proyecto y sus anexos correspondientes a los documentos EDRF –Especificaciones Detalladas de Requisitos funcionales-, EIU –Especificaciones de Interfaz de Usuario , DT -Diseño Técnico- y Guía de Usuario. SUMMARY. This dissertation, carried out by the telecommunications engineer Pedro M. Matamala Lucas, is in its final stage and is part of a larger project for the software of forensic video called SAVID. The purpose of the entire project is the creation of a software tool capable of analyzing video files that are coded and compressed by the DV -Digital Video- System. The objective of the analysis is to provide information on whether the magnetic tape shows signs of having been tampered with after the editing of the original recording, and also to show the user other relevant data and technical specifications of the video signal and audio. Therefore the user, forensic video analyst, will have information to help assess the originality of the content of the media that is subject to analysis. The specific objective of this final phase is the creation of the user interface of the software that provides information about the binary code of the significant sectors and also its interpretation after analysis. It will also allow the user to report the results, and other features that will allow browsing through the sections of the code that have been modified as a secondary effect of the original magnetic tape being tampered. Another important objective of the project is the investigation of methodologies and software development techniques to be used in deployment, with the aim of greater efficiency in time management and enhanced software quality in order to ensure its development and maintenance in the future. Agile methodologies, which have become important in the field of information technology in recent decades, have been used during the execution of the project, replacing classical methodologies such as Waterfall Development. The flexibility, as the result of using by agile methodologies, during the software life cycle, produces better results when the specifications are not fully defined, thus conforming to the initial conditions of the project. Summarizing the software technical specifications, C + + the programming language – which is object oriented and has been developed using technology MFC- Microsoft Foundation Classes for implementation. It is a project type dialog box, created, compiled and released with the integrated development tool Microsoft Visual Studio 2010. The architecture is structured in three layers: the user interface, business layer and data access layer. It has been necessary to configure the project with the support CLR -Common Languages Runtime – in order to implement the reporting functionality. The software application is submitted with the project report and its annexes to the following documents: Functional Requirements Specifications - Detailed User Interface Specifications, Technical Design and User Guide.
Resumo:
El trabajo ha sido realizado dentro del marco de los proyectos EURECA (Enabling information re-Use by linking clinical REsearch and Care) e INTEGRATE (Integrative Cancer Research Through Innovative Biomedical Infrastructures), en los que colabora el Grupo de Informática Biomédica de la UPM junto a otras universidades e instituciones sanitarias europeas. En ambos proyectos se desarrollan servicios e infraestructuras con el objetivo principal de almacenar información clínica, procedente de fuentes diversas (como por ejemplo de historiales clínicos electrónicos de hospitales, de ensayos clínicos o artículos de investigación biomédica), de una forma común y fácilmente accesible y consultable para facilitar al máximo la investigación de estos ámbitos, de manera colaborativa entre instituciones. Esta es la idea principal de la interoperabilidad semántica en la que se concentran ambos proyectos, siendo clave para el correcto funcionamiento del software del que se componen. El intercambio de datos con un modelo de representación compartido, común y sin ambigüedades, en el que cada concepto, término o dato clínico tendrá una única forma de representación. Lo cual permite la inferencia de conocimiento, y encaja perfectamente en el contexto de la investigación médica. En concreto, la herramienta a desarrollar en este trabajo también está orientada a la idea de maximizar la interoperabilidad semántica, pues se ocupa de la carga de información clínica con un formato estandarizado en un modelo común de almacenamiento de datos, implementado en bases de datos relacionales. El trabajo ha sido desarrollado en el periodo comprendido entre el 3 de Febrero y el 6 de Junio de 2014. Se ha seguido un ciclo de vida en cascada para la organización del trabajo realizado en las tareas de las que se compone el proyecto, de modo que una fase no puede iniciarse sin que se haya terminado, revisado y aceptado la fase anterior. Exceptuando la tarea de documentación del trabajo (para la elaboración de esta memoria), que se ha desarrollado paralelamente a todas las demás. ----ABSTRACT--- The project has been developed during the second semester of the 2013/2014 academic year. This Project has been done inside EURECA and INTEGRATE European biomedical research projects, where the GIB (Biomedical Informatics Group) of the UPM works as a partner. Both projects aim is to develop platforms and services with the main goal of storing clinical information (e.g. information from hospital electronic health records (EHRs), clinical trials or research articles) in a common way and easy to access and query, in order to support medical research. The whole software environment of these projects is based on the idea of semantic interoperability, which means the ability of computer systems to exchange data with unambiguous and shared meaning. This idea allows knowledge inference, which fits perfectly in medical research context. The tool to develop in this project is also "semantic operability-oriented". Its purpose is to store standardized clinical information in a common data model, implemented in relational databases. The project has been performed during the period between February 3rd and June 6th, of 2014. It has followed a "Waterfall model" of software development, in which progress is seen as flowing steadily downwards through its phases. Each phase starts when its previous phase has been completed and reviewed. The task of documenting the project‟s work is an exception; it has been performed in a parallel way to the rest of the tasks.
Resumo:
El trabajo se enmarca dentro de los proyecto INTEGRATE y EURECA, cuyo objetivo es el desarrollo de una capa de interoperabilidad semántica que permita la integración de datos e investigación clínica, proporcionando una plataforma común que pueda ser integrada en diferentes instituciones clínicas y que facilite el intercambio de información entre las mismas. De esta manera se promueve la mejora de la práctica clínica a través de la cooperación entre instituciones de investigación con objetivos comunes. En los proyectos se hace uso de estándares y vocabularios clínicos ya existentes, como pueden ser HL7 o SNOMED, adaptándolos a las necesidades particulares de los datos con los que se trabaja en INTEGRATE y EURECA. Los datos clínicos se representan de manera que cada concepto utilizado sea único, evitando ambigüedades y apoyando la idea de plataforma común. El alumno ha formado parte de un equipo de trabajo perteneciente al Grupo de Informática de la UPM, que a su vez trabaja como uno de los socios de los proyectos europeos nombrados anteriormente. La herramienta desarrollada, tiene como objetivo realizar tareas de homogenización de la información almacenada en las bases de datos de los proyectos haciendo uso de los mecanismos de normalización proporcionados por el vocabulario médico SNOMED-CT. Las bases de datos normalizadas serán las utilizadas para llevar a cabo consultas por medio de servicios proporcionados en la capa de interoperabilidad, ya que contendrán información más precisa y completa que las bases de datos sin normalizar. El trabajo ha sido realizado entre el día 12 de Septiembre del año 2014, donde comienza la etapa de formación y recopilación de información, y el día 5 de Enero del año 2015, en el cuál se termina la redacción de la memoria. El ciclo de vida utilizado ha sido el de desarrollo en cascada, en el que las tareas no comienzan hasta que la etapa inmediatamente anterior haya sido finalizada y validada. Sin embargo, no todas las tareas han seguido este modelo, ya que la realización de la memoria del trabajo se ha llevado a cabo de manera paralela con el resto de tareas. El número total de horas dedicadas al Trabajo de Fin de Grado es 324. Las tareas realizadas y el tiempo de dedicación de cada una de ellas se detallan a continuación: Formación. Etapa de recopilación de información necesaria para implementar la herramienta y estudio de la misma [30 horas. Especificación de requisitos. Se documentan los diferentes requisitos que ha de cumplir la herramienta [20 horas]. Diseño. En esta etapa se toman las decisiones de diseño de la herramienta [35 horas]. Implementación. Desarrollo del código de la herramienta [80 horas]. Pruebas. Etapa de validación de la herramienta, tanto de manera independiente como integrada en los proyectos INTEGRATE y EURECA [70 horas]. Depuración. Corrección de errores e introducción de mejoras de la herramienta [45 horas]. Realización de la memoria. Redacción de la memoria final del trabajo [44 horas].---ABSTRACT---This project belongs to the semantic interoperability layer developed in the European projects INTEGRATE and EURECA, which aims to provide a platform to promote interchange of medical information from clinical trials to clinical institutions. Thus, research institutions may cooperate to enhance clinical practice. Different health standards and clinical terminologies has been used in both INTEGRATE and EURECA projects, e.g. HL7 or SNOMED-CT. These tools have been adapted to the projects data requirements. Clinical data are represented by unique concepts, avoiding ambiguity problems. The student has been working in the Biomedical Informatics Group from UPM, partner of the INTEGRATE and EURECA projects. The tool developed aims to perform homogenization tasks over information stored in databases of the project, through normalized representation provided by the SNOMED-CT terminology. The data query is executed against the normalized version of the databases, since the information retrieved will be more informative than non-normalized databases. The project has been performed from September 12th of 2014, when initiation stage began, to January 5th of 2015, when the final report was finished. The waterfall model for software development was followed during the working process. Therefore, a phase may not start before the previous one finishes and has been validated, except from the final report redaction, which has been carried out in parallel with the others phases. The tasks that have been developed and time for each one are detailed as follows: Training. Gathering the necessary information to develop the tool [30 hours]. Software requirement specification. Requirements the tool must accomplish [20 hours]. Design. Decisions on the design of the tool [35 hours]. Implementation. Tool development [80 hours]. Testing. Tool evaluation within the framework of the INTEGRATE and EURECA projects [70 hours]. Debugging. Improve efficiency and correct errors [45 hours]. Documenting. Final report elaboration [44 hours].
Resumo:
En el presente proyecto se propone la definición e implementación de un subsistema de monitorización para un sistema de tiempo real distribuido. Este monitor supervisará el estado de todos los componentes software y hardware del sistema original, y permitirá el arranque y parada de cada componente individualmente o del subsistema completo. Constará de dos componentes básicos: un supervisor local para cada subsistema, y un supervisor central con interfaz gráfica. El supervisor local es un componente software asociado a cada subsistema que realizará las funciones de monitorización, arranque/parada de los componentes y envío de informes al supervisor central. Atenderá además a los comandos de arranque y parada provenientes del supervisor central. El supervisor central recibirá los informes de estado de cada uno de los supervisores locales y permitirá el arranque y parada de los subsistemas. Contará con un interfaz gráfico a modo de posición de control. El sistema será desarrollado íntegramente (salvo la posición gráfica) en ADA95, y podrá ejecutarse en cualquiera de las distribuciones Linux más extendidas. En el contexto de Ingeniería de Software, se seguirá un desarrollo en cascada, aportándose los requisitos, el diseño, la codificación y un plan de pruebas. Abstract In this project, the definition and implementation of a monitoring system is proposed for a previously defined real-time distributed system. This supervisory system will monitor the status of each subsystem and its software and hardware components. This new system will also be able to start and stop each individual component and start or stop the entire system. It will consist of two basic components: a local supervisor for each subsystem, and a central supervisor with a graphical unit interface (GUI). The local supervisor will be a software component attached to each original subsystem, which will perform functions such as components monitoring, start and stop the associated subsystem, and sending reports to the central supervisor. It also will attend the start and stop commands from the central supervisor. The central supervisor will receive status reports from each of the local supervisors and will allow starting and stopping the subsystems. It will offer a graphical interface to be used as a main control panel. The system will be developed in ADA 95 (except the graphical position), and should work on any of the most common Linux distributions. In the context of Software Engineering, the project will be developed following a waterfall life cycle. Reports on the stages of requirements, design, coding and testing plan shall be provided.
Resumo:
Este proyecto ha sido estructurado en tres bloques diferenciados que tiene como objetivo analizar el presente, pasado y futuro de la gestión de proyectos con una orientación clara a ofrecer apoyo a aquellas empresas que planeen realizar un giro en sus estructura de organización de trabajo hacia filosofías ágiles. La gestión de proyectos a acompañado al hombre desde el inicio de los tiempos, pero sin embargo no fue hasta nuestra historia más cercana cuando se comienza a tener conciencia de la necesidad de establecer aplicar métodos generales a la hora de afrontar proyectos de ingeniería. Pioneros fueron en este sentido personajes como Taylor, Fayol o Gantt, cuyas aportaciones iniciales posibilitaron el nacimiento de la gestión de proyectos a mediados del siglo XX. En las década sucesivas hasta nuestros días han aparecido un número considerable de metodologías, perfeccionando elementos anteriormente asimilados y adaptándose a la realidad tecnológica y social del momento. Este recorrido histórico se aborda en el primer bloque de este proyecto. Los puntos revisados en la introducción histórica proporcionan las bases de conocimiento para entender las principales características entre las grandes familias de metodologías que actualmente son implantadas en el mundo empresarial. Es precisamente este punto, el de la exposición y análisis de las metodologías más extendidas y contemporáneas a la elaboración de este proyecto, lo que se aborda en el segundo bloque. En él se desarrolla con intenso detalle dos metodologías de la familia de filosofías ágiles, elegidas entre las más extendidas en la industria: Scrum, eXtreme Programming (XP) y un híbrido de ambas. Para entender la dimensión del cambio filosófico en cuanto a la gestión de proyectos que emprenden estas metodologías, se hace necesario repasar cuales son las metodologías no ágiles más extendidas actualmente. Para ello se introducen metodologías como la llamada tradicional o PRINCE2, principalmente, ya que también se realiza un repaso más superficial por otras aproximaciones notables. El último bloque que construye el desenlace del proyecto, intenta responder a las cuestiones futuras relacionadas con la adopción de metodologías ágiles. Para ello se revisa los puntos más conflictivos a señalar en este proceso y se ofrecerán soluciones teóricas y prácticas para ayudar a las empresas en su fase de migración hacia filosofías de organización ágiles. Ya que toda empresa hoy en día debería tener un soporte tecnológico que ofrezca apoyo a su desarrollo empresarial, gran parte de la elaboración de este proyecto se ha dedicado a hacer un estudio comparativo de las actuales herramientas Open Source. Se han instalado y probado 25 herramientas para posteriormente seleccionar 3 que han sido analizadas en profundidad. Así mismo, se enumeran pros y contras de estas herramientas, aportando ideas de mejoras y trazando cuál debería ser su evolución para ofrecer una alternativa real a las herramientas comerciales orientadas a esta labor. Las empresas pueden utilizar este índice de herramientas de software para decidir si pueden sustentar su proceso de migración en una herramienta Open Source o si deben orientarse a herramientas comerciales o de creación propias. ABSTRACT. This project has been divided into three different blocks that aims to analyze the past, present and future of project management with a clear focus on providing support to those companies that are planning to make a shift in its organizational structure working towards agile philosophies . The project management has walked together with the humanity since the beginning of time , but it was on our recent history when it begins to become aware of the need to establish general methods to apply to engineering projects. There was pioneers like Taylor , Fayol or Gantt, whose contributions made possible the birth of project management in the mid- twentieth century. In the following decades, there was a considerable number of new methodologies, improving concepts and adapting then to the technological and social reality of the moment . This historical journey is addressed in the first block of this project. The different facts reviewed at the first block provide the knowledge to understand the key features among the most important families of methodologies that nowadays are implemented in the business world. It is precisely this point, the presentation and analysis of the most widespread methodologies what is addressed in the second block. Two of the most widespread agile methodologies are detailed: Scrum , eXtreme Programming ( XP ) and a hybrid of both . In order to understand the philosophical shift in terms of project management performed by these methodologies , it is necessary to review what are the most widespread no agile methodologies currently. For this purpose, methodologies like Waterfall or PRINCE2 are explained. Other no agile methodologies are explained as well, but not so deeply in comparison with them. The last section of this project is the conclusion, it tries to answer future questions related to the adoption of agile methodologies. For that reason, the most important milestones are reviewed to provide theoretical and practical solutions and answers to help companies in this migration process toward agile methodologies. Since every company should has a solid technical support for its business development, a considerably part of the time has been applied to make a comparative study of the existing Open Source tools. 25 tools have been installed and tested. Then, 3 tools has been selected to be analyzed deeply. Also, pros and cons of these tools have been exposed in order to suggest a roadmap to offer a real alternative to the existing commercial tools in this business area. The companies that are involved in a migration progress toward a agile methodology can used this study about the available Open Source tools to decide if they can afford the migration process based on one of them or if they should use a commercial tool or a tailor-made software.
Resumo:
Hoy en día existe una preocupación creciente por la calidad del software entregado en los proyectos que se realizan a lo largo del mundo. El trabajo de fin de grado que va a ser desarrollado en estas páginas pretende demostrar la importancia de la realización de tests funcionales durante el proceso de desarrollo de software para que el proyecto alcance la calidad requerida tan demandada en estos días. Para ello, después de una pequeña introducción a la historia del software, se presentarán y compararán diversos tipos de metodologías de desarrollo de software, tanto pesadas (cascada, espiral, etc.) como ágiles (Extreme Programming y Scrum), se enfatizará en dichas metodologías ágiles y cómo el proceso de testing y control de calidad encaja perfectamente con la filosofía de las citadas metodologías ágiles. Se desarrollará una explicación del papel de QA en el desarrollo de software, asi como una explicación de los tipos de test existentes, y las herramientas, tecnologías y patrones que existen a disposición de aquellos que quieran desempeñar el papel de QA. Para complementar el punto de vista teórico de este trabajo se presentará un caso práctico real realizado en la empresa bq bajo una metodología Scrum. Dicho caso práctico muestra el uso de ciertas herramientas y su aporte para el control de calidad del proyecto bajo desarrollo, demostrando su importancia. Se realizará énfasis en el proceso de automatización de ciertas baterías de test (llamadas test suites), mostrando desde el planteamiento inicial de las diferentes historias de usuario y la batería de test, pasando por la elección de las tecnologías más adecuadas para la elaboración de los test hasta llegar al lanzamiento de dicha batería de pruebas y la comprobación de éstas. El punto de vista práctico quedará complementado por una explicación del framework nightwatch.js, framework utilizado en el desarrollo del proyecto en bq para la automatización de test funcionales. Esta explicación comprenderá tanto la configuración y uso del framework como el uso de patrones y la estructura de las pruebas. ABSTRACT Nowadays there is a growing concern about the Quality of the software delivered in the projects that are made all around the world. This final project will try to prove the importance of performing functional tests during the Software Development Process in order to be able to reach the demanded Quality. To fulfill this objective, different types of Software Development methodologies will be presented and compared. Heavy methodologies (waterfall, spiral methodologies, etc.) as well as agile methodologies (Extreme Programming and Scrum). There will be an emphasis in the second kind (agile methodologies) and how the testing and quality assurance process fits perfectly in their philosophy. A deep explanation of the role that Quality Assurance holds on software development will be presented, as well as an explanation on the current types of testing and an explanation of the different tools; technologies and patrons that exist to help anyone who wants to perform the role of QA. To complement the theoretical perspective of this work a real case study, performed at the company bq under a Scrum methodology, will be presented. The mentioned study covers the use of certain tools and their input for the quality assurance of the project under development, proving its relevance. Emphasis will be made in the process of conducting a set of tests (called test suite), showing from the initial approach of the different users stories and the set of tests, going through the choosing of the most suitable technologies for the tests development, and ending with the performance of this battery of tests and their checkout. The practical point of view will be complemented by a deep explanation of the creation process using the nightwatch.js automated test framework, used in the project in bq. This explanation will cover both the configuration and use of the framework as the use of patterns and structure of the tests.