Desarrollo de una aplicación web para la recogida de datos anual de los beneficiarios de la ONG “Handicap International”

Insunza Díaz, Eloy Jesús del Gran Poder (2017). Desarrollo de una aplicación web para la recogida de datos anual de los beneficiarios de la ONG “Handicap International”. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM).

Descripción

Título: Desarrollo de una aplicación web para la recogida de datos anual de los beneficiarios de la ONG “Handicap International”
Autor/es:
  • Insunza Díaz, Eloy Jesús del Gran Poder
Director/es:
  • Martínez Fernández, Raquel
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Septiembre 2017
Materias:
Palabras Clave Informales: Aplicación web, Bootstrap, colecta anual, Django, Handicap International, HTML, JQuery, ONG, PostgreSQL
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

El presente proyecto ha creado una aplicación web que facilita la Colecta Anual de Datos de los Beneficiarios realizada por Handicap International. El trabajo ha sido desarrollado en la sede de Lyon de dicha asociación. A continuación, se presenta un resumen del proyecto. Handicap International es una ONG con base en Lyon, Francia que realiza proyectos enfocados a la inclusión de las personas minusválidas. Una parte de sus fondos viene de fundaciones, estados y otras grandes entidades que, a cambio de su aportación, exigen una justificación de las actividades. Para ello, Handicap International lleva a cabo la Colecta Anual de Datos de los Beneficiarios, donde todos los Jefes de Proyecto rellenan un formulario Microsoft Excel con datos sobre su proyecto. Estos datos permiten, a su vez, que la asociación pueda tener control de sus actividades. Sin embargo, es necesario que los datos sean fiables. Por ello, quienes verifican los datos deben contactar con aquellos que los han introducido para que subsanen eventuales errores. En conjunto, supone una gran pérdida de tiempo tanto para los Jefes de Proyecto como para quienes tratan los datos. Al mismo tiempo, existen nuevas tecnologías que permiten automatizar tareas como esta, realizando, por ejemplo, verificaciones instantáneas. Entre ellas, destaca las tecnologías web que permiten, solo con un navegador, acceder a una infinidad de funcionalidades. La motivación de este proyecto es aplicar estas tecnologías a la Colecta Anual de Datos, para ahorrar trabajo, tiempo y dinero a una ONG, que podrá emplearlos en sus actividades humanitarias. El proyecto realizado es una aplicación web que permite automatizar muchas de las actividades de la Colecta de Datos. Esta aplicación permite introducir, editar y verificar los datos de la Colecta, detectando incongruencias y errores en los datos introducidos para que los distintos usuarios los subsanen en el momento. Finalmente, esta aplicación integra todos los datos de la colecta en una base de datos, más fácil de gestionar que los ficheros Excel. El objetivo final de la aplicación web es reducir el tiempo que los distintos trabajadores de Handicap International dedican a la Colecta Anual. Esto se traduce en la creación de una aplicación web que permite realizar las distintas actividades de la Colecta a través de un navegador. También supone la creación de una base de datos adaptada a las necesidades de la Colecta y que permite recuperar estas informaciones para que sean tratadas. Este objetivo se desglosa en los siguientes objetivos específicos: 1. Conocer Handicap International. Como toda asociación, Handicap International tiene sus especificidades que afectarán a la forma en que los usuarios interactúen con la aplicación. 2. Elección de las herramientas. Para llevar a cabo el proyecto se han debido elegir los programas de edición y los lenguajes de programación que mejor encajen con el proyecto. 3. Creación de la base de datos. Se ha debido elegir un tipo de base de datos que se adapte a las necesidades del proyecto. Es decir, que pueda guardar, no solo los datos de la Colecta, sino también datos sobre la estructura de Handicap International que permitan jerarquizar las distintas Colectas. Esta base de datos debe permitir también recuperar fácilmente los datos para poder tratarlos. 4. Funcionalidades de la interfaz. La interfaz de la aplicación debe permitir realizar las mismas acciones realizadas en el formulario Excel. Por tanto, los usuarios deben poder introducir los datos de una Colecta, editarlos y validarlos. Sin embargo, se deben aprovechar las capacidades de la tecnología web para, por ejemplo, realizar verificaciones sobre los datos de manera automática. 5. Funcionalidades Excel. Si bien Excel presenta muchos problemas para la Colecta, es la herramienta que se ha utilizado en años anteriores y muchos de los usuarios pueden preferir continuar utilizándola. Por ello, la aplicación debe poder tratar ficheros Excel para poder recuperar los datos desde dichos ficheros e, inversamente, generar ficheros Excel que contengan datos guardados en la aplicación. 6. Distinción de usuarios. Como hemos visto, diferentes personas con diferentes funciones participan en la Colecta. Por ello, se deben crear distintos tipos de usuarios con distintos derechos sobre la aplicación, en concordancia con sus funciones en la Colecta. 7. Funcionalidad Archivos. Para poder verificar la coherencia de los datos, es útil consultar las Colectas de años precedentes para ver, tanto los órdenes de magnitud de los datos, como los métodos de cálculo que se utilizaron. 8. Pruebas. La aplicación podrá ser modificada en el futuro. La edición de partes del código puede interferir de manera imprevista con otras funcionalidades. Para comprobar rápidamente que la aplicación funciona correctamente, se deben crear tests automatizados que pongan a prueba distintos aspectos de la aplicación. 9. Documentación del código. Para poder adaptar la aplicación a futuras necesidades, quien retome el código deberá poder comprenderlo. Con la finalidad de facilitar esta tarea, el código debe ser comentado y documentado. Este proyecto ha tenido como resultado una aplicación web que satisface su objetivo principal: proveer una herramienta que facilite la realización de la Colecta Anual de Datos. Asimismo, se ha creado una base de datos que contendrá los datos recogidos y que facilitará su reutilización. Estos son los resultados específicos obtenidos. 1. El alumno ha integrado las especificidades de Handicap International en el funcionamiento de la aplicación, gracias a las reuniones con distintos trabajadores de la asociación y la lectura de documentación institucional. Esto se traduce, por ejemplo, en la decisión de crear un cliente rico en lugar de aumentar el número de conexiones con el servidor, en los casos en que la conexión a internet sea intermitente. 2. En cuanto a las herramientas escogidas, se puede afirmar que son las adecuadas dado que el proyecto ha sido realizado con éxito. En este caso, para el servidor se ha elegido Django, un framework de Python adaptado a páginas que usan formularios y que tienen mucho tráfico. El cliente se ha realizado en HTML, dinamizado con JQuery, un framework de JavaScript, y definido el estilo con Bootstrap y CSS. Los códigos han sido editados con Notepad++, a excepción de los archivos Python que han sido tratados con el programa Anaconda. 3. Se ha puesto en marcha una base de datos que permite guardar los datos de la Colecta y recuperarlos para estudios posteriores. Se ha creado una base de datos relacional PostgreSQL gestionada gracias al servidor, Django. Sus distintas tablas están concebidas para guardar los datos necesarios, tanto de la Colecta, como de la organización de Handicap International, permitiendo jerarquizar dichas Colectas. 4. La interfaz web permite realizar las distintas actividades de la Colecta. En la aplicación el usuario escoge el proyecto sobre el que se quiere editar la Colecta. A continuación, un formulario HTML similar al formulario Excel existente le permite modificar las distintas informaciones y, antes de enviarlos, realizar verificaciones. Para ello, la página analiza con JQuery todos los campos y estudia posibles errores que serán indicados al usuario. Finalmente, se pueden guardar los datos y validarlos si son correctos. Para facilitar la utilización, el usuario puede guardar los datos, aunque sean erróneos y continuar su edición en otra ocasión. Sin embargo, la validación solo será posible si los datos son congruentes. 5. La aplicación permite subir formularios Excel ya completados y el servidor se encarga de recuperar los datos e introducirlos en la base de datos. Posteriormente, el usuario puede realizar modificaciones sobre estos datos. En sentido inverso, los datos pueden ser descargados bajo la forma del mismo formulario Excel, pudiendo guardarse así una copia de los datos introducidos en la aplicación. 6. Se ha desarrollado un sistema de gestión de los usuarios. La aplicación distingue entre diferentes usuarios correspondientes a los distintos niveles dentro del proceso de la Colecta Anual. Esta distinción se traduce en los distintos derechos que tiene cada usuario, es decir, qué Colectas puede ver o editar cada uno. Al mismo tiempo, el sistema de Login y Logout provisto por Django gestiona fácilmente las sesiones. 7. Se ha realizado la función Archivos. Esta funcionalidad permite ver todas las Colectas de todos los años precedentes, pero no editarlas. Para facilitar la búsqueda, se ha incluido un filtro con distintos parámetros. 8. Se ha preparado una serie de tests automatizados que ponen a prueba tres aspectos de la aplicación. Primero, se pone a prueba el funcionamiento de la base de datos, comprobando que los datos se guardan correctamente. Segundo, se comprueba que los formularios son validados exclusivamente cuando se debe y que no aceptan ciertos datos como, por ejemplo, texto en un campo numérico. Tercero, se pone al servidor en distintas situaciones para ver su respuesta. Se comprueba si el usuario es reenviado a la página Login cuando no ha iniciado sesión o si la plantilla servida es la correcta. 9. Se ha documentado la aplicación. Por un lado, el código ha sido comentado, es decir, en la declaración de cada función se ha explicado lo que realiza, los parámetros necesarios y se ha detallado su algoritmo. Para facilitar su comprensión, se han revisado las sangrías del código y se ha procurado utilizar nombres adecuados para los distintos elementos y variables. Por otro lado, se ha realizado la presente documentación, que recoge una visión global del proyecto, permitiendo a aquel que lo retome comprender su lógica. En conclusión, el presente proyecto ha aportado una aplicación web que facilitará el trabajo de los distintos trabajadores en Handicap International. Esta no ha podido ser probada por los usuarios y, por consiguiente, no se ha podido lanzar. Sin embargo, una gran parte del trabajo ha sido realizado y el proyecto está preparado para poder ser retomado. De esta manera, se ha contribuido a facilitar la Colecta Anual de Datos, reduciendo así el tiempo que se le debe dedicar. Tiempo que, en una ONG como Handicap International, podrá ser dedicado al desarrollo de los proyectos humanitarios. En cuanto a la organización del proyecto, se han desarrollado una planificación temporal y su correspondiente diagrama de Gantt, y una Estructura de Descomposición del Producto. Estos elementos reflejan cómo el trabajo ha sido organizado para poder alcanzar los objetivos propuestos. Con relación al presupuesto, se ha realizado una valoración económica del proyecto de 17.151,54 euros. Se ha utilizado el Use Case Point Estimation para valorar el coste humano. A este coste se le han añadido los costes materiales, como electricidad u ordenadores. Sin embargo, esta valoración es orientativa puesto que el proyecto se sitúa en el marco de unas prácticas.

Más información

ID de Registro: 47848
Identificador DC: http://oa.upm.es/47848/
Identificador OAI: oai:oa.upm.es:47848
Depositado por: Biblioteca ETSI Industriales
Depositado el: 22 Sep 2017 06:23
Ultima Modificación: 22 Sep 2017 06:23
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM