• No se han encontrado resultados

Desarrollo de un sistema para la gestión de adopción de animales de compañía en la fundación de Protección Animal Ecuador (PAE)

N/A
N/A
Protected

Academic year: 2020

Share "Desarrollo de un sistema para la gestión de adopción de animales de compañía en la fundación de Protección Animal Ecuador (PAE)"

Copied!
147
0
0

Texto completo

(1)ESCUELA POLITÉCNICA NACIONAL ESCUELA DE FORMACIÓN DE TECNÓLOGOS. DESARROLLO DE UN SISTEMA PARA LA GESTIÓN DE ADOPCIÓN DE ANIMALES DE COMPAÑÍA EN LA FUNDACIÓN DE PROTECCIÓN ANIMAL ECUADOR (PAE).. PROYECTO PREVIO A LA OBTENCIÓN DEL TITULO DE TECNÓLOGO EN ANÁLISIS DE SISTEMAS INFORMÁTICOS. LOURDES BELÉN PEÑAFIEL GARCÍA lu-rock@outlook.com. FREDY VICENTE SÁNCHEZ ARTEAGA barcefredy_15@hotmail.com. DIRECTOR: ING. JUAN PABLO ZALDUMBIDE PROAÑO juan.zaldumbide@epn.edu.ec. CODIRECTORA: MARÍA GABRIELA PÉREZ HERNÁNDEZ, PhD maria.perez@epn.edu.ec. Quito, Noviembre 2017 I.

(2) DECLARACIÓN. Nosotros, Lourdes Belén Peñafiel García y Fredy Vicente Sánchez Arteaga, declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que no ha sido previamente presentado para ningún grado o calificación profesional; y, que hemos consultado las referencias bibliográficas que se incluyen en este documento.. A través de la presente declaración cedemos nuestros derechos de propiedad intelectual correspondientes de este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normativa institucional vigente.. Lourdes Belén Peñafiel García. Fredy Vicente Sánchez Arteaga. II.

(3) CERTIFICACIÓN. Certificamos que el presente trabajo fue desarrollado por Lourdes Belén Peñafiel García con cédula de identidad 1724514805 y Fredy Vicente Sánchez Arteaga con cédula de identidad 1725634552, bajo nuestra supervisión.. Ing. Juan Pablo Zaldumbide. Dra. María Pérez, PhD. DIRECTOR. CODIRECTORA. III.

(4) AGRADECIMIENTO. Una gran etapa de mi vida ha culminado, por eso volteo al cielo, sonrío y digo: Yo sé que fuiste tú, ¡Gracias Dios! Por bendecirme y darme las fuerzas que necesitaba para alcanzar con éxito mis metas. ¡Gracias! a mi padre Eduardo que con mucho esfuerzo y dedicación inculco en mí excelentes valores y me ayudo a ser una mujer integra y valiente, a mi madre Rosa que, aunque ya no está conmigo estoy segura que desde el cielo estará muy orgullosa de mí, celebrando con gran alegría y gozo. A mis hermanos Carlos y Eduardo que supieron aconsejarme en momentos complicados y sobre todo haberme brindado su apoyo incondicional cuando más lo necesitaba, gracias en general a toda mi familia que estuvo presente en la continuidad de este proyecto. Soy una mujer afortunada por tener en la misma persona a mi mejor amigo, compañero y gran amor, gracias Fredy por poner todo de ti y sacar lo mejor de mí, demostrarme cada día que, aunque las cosas parezcan imposibles, solo se necesita confiar. También agradezco a los profesores, especialmente al Ing. Juan Zaldumbide, director del proyecto, quienes nos supieron guiar y entregar los conocimientos necesarios para la obtención de este título. Finalmente doy gracias a la Escuela Politécnica Nacional por darme la oportunidad de concluir mis estudios en tan prestigiosa institución.. Lourdes. IV.

(5) AGRADECIMIENTO. En primer lugar a Dios por darme la dicha de vivir y ser quien me sostiene aun en medio de la tormenta y especialmente por entregarme una familia maravillosa, convirtiéndose en mis personas favoritas, con quien he reído y llorado, haciendo que todo valga la pena, a mi madre Consuelito por ser la lumbrera en mi camino apoyándome firmemente en cada momento dándome las fuerzas que necesito en todo momento, al igual que mis hermanos José, Xavier que comprendiéndome en las adversidades supieron darme su apoyo y a mi sobrino Elías que con sus ocurrencias alegraba los momentos de angustia.. A mi compañera, amiga y gran amor Belén que ha sabido entender, comprender cada adversidad y salir adelante juntos en esta etapa tan importante para nuestra vida ética y profesional.. A nuestros profesores que nos han transmitido sus conocimientos para formarnos día a día profesionalmente, en especial a nuestro director de proyecto el Ing. Juan Pablo Zaldumbide que nos guió durante este proceso y en general a la Escuela Politécnica Nacional de darme el prestigio de formarme.. Fredy. V.

(6) DEDICATORIA. A Dios por darme la sabiduría necesaria para culminar este proceso.. A mis padres Eduardo y Rosa que supieron brindarme el amor y paciencia que día a día necesite para la culminación de este proyecto.. A mis hermanos Carlos y Eduardo, por creer en mí y apoyarme siempre.. A mi mejor amigo y amor: Fredy, por estar a mi lado siempre y regalarme algo maravilloso, su amor.. Lourdes. VI.

(7) DEDICATORIA. A Dios por ser el quien me dio la sabiduría, entendimiento para terminar una etapa de mi vida, a mis hermanos José y Xavier y muy especial a mi madre Consuelito y Elías motores de mi vida.. A mi amor Belén porque juntos comenzamos esta dura pero gratificante etapa de estudio y de la misma forma la culminamos.. Y a todos aquellos que día a día me brindan el apoyo para salir adelante.. Fredy. VII.

(8) ÍNDICE DE CONTENIDO 1. 2. INTRODUCCIÓN ...................................................................................................... 1 1.1. Objetivo general ................................................................................................. 2. 1.2. Objetivos específicos ......................................................................................... 2. 1.3. Alcance .............................................................................................................. 2. METODOLOGÍA........................................................................................................ 3 2.1. Análisis y levantamiento de requisitos .............................................................. 3. 2.2. Selección del entorno de desarrollo .................................................................. 5. Scrum ........................................................................................................................ 5 Xampp ....................................................................................................................... 8 MVC ........................................................................................................................... 8 Symfony..................................................................................................................... 9 Ionic ......................................................................................................................... 11 MySQL ..................................................................................................................... 12 3. RESULTADOS Y DISCUSIÓN ............................................................................... 13 3.1. Diseño del sistema........................................................................................... 13. Sprint 1 .................................................................................................................... 13 Sprint 2 .................................................................................................................... 27 Sprint 3 .................................................................................................................... 36 Sprint 4 .................................................................................................................... 45 Sprint 5 .................................................................................................................... 49 Sprint 6 .................................................................................................................... 52 3.2. Implementación del sistema ............................................................................ 57. Roles ....................................................................................................................... 57 Artefactos ................................................................................................................ 57 Sprint 0 .................................................................................................................... 58 Actores .................................................................................................................... 59 MVC ......................................................................................................................... 59 Symfony – Estructura del Proyecto ........................................................................ 60 VIII.

(9) Ionic – Estructura del proyecto ............................................................................... 62 MySQL – Estructura base de datos ........................................................................ 63 3.3. Pruebas de funcionamiento ............................................................................. 64. Registro de Pruebas del Sprint 1 ............................................................................ 64 Registro de Pruebas del Sprint 2 ............................................................................ 77 Registro de Pruebas del Sprint 3 ............................................................................ 82 Registro de Pruebas del Sprint 4 ............................................................................ 87 Registro de Pruebas del Sprint 5 ............................................................................ 89 Registro de Pruebas del Sprint 6 ............................................................................ 95 4. CONCLUSIONES.................................................................................................... 99. 5. RECOMENDACIONES ......................................................................................... 100. 6. REFERENCIAS BIBLIOGRÁFICAS ..................................................................... 100. 7. ANEXOS ..................................................................................................................... I 7.1. Anexo A: Formato solicitud de adopción caninos manual ................................. I. 7.2. Anexo B: Formato solicitud de adopción felino manual ................................... III. 7.3. Anexo C: Historias de usuario de la App Web .................................................. V. 7.4. Anexo D: Historias de usuario de la App Móvil .............................................. XIII. 7.5. Anexo E: Product Backlog ........................................................................... XVIII. 7.6. Anexo F: Formato para las pruebas de funcionamiento ............................... XXI. 7.7. Anexo G: Diagrama de flujo actual para solicitar adopción en PAE............ XXII. 7.8. Anexo H: Diagrama de flujo del sistema desarrollado en el proyecto ........ XXIII. 7.9. Anexo I: Sprint Backlog – Sprint 1 ............................................................... XXIV. 7.10. Anexo J: Sprint Backlog – Sprint 2 ............................................................... XXV. 7.11. Anexo K: Sprint Backlog – Sprint 3 ............................................................. XXVI. 7.12. Anexo L: Sprint Backlog – Sprint 4 .............................................................. XXVI. 7.13. Anexo M: Sprint Backlog – Sprint 5 ............................................................ XXVII. 7.14. Anexo N: Sprint Backlog – Sprint 6 ............................................................ XXVII. 7.15. Anexo O: Cronograma de Actividades ...................................................... XXVIII. IX.

(10) ÍNDICE DE FIGURAS Figura 1. MVC. Adaptado de (SATRIAWINARAH, 2016)................................................ 9 Figura 2. Módulo de administración de centros de adopción. ....................................... 14 Figura 3. Ingreso centro de adopción. ........................................................................... 14 Figura 4. Editar centro de adopción. .............................................................................. 15 Figura 5. Registrar gestor............................................................................................... 16 Figura 6. Verificar cuenta. .............................................................................................. 16 Figura 7. Confirmar email. .............................................................................................. 17 Figura 8. Confirmar cuenta............................................................................................. 17 Figura 9. Validar email y usuario. ................................................................................... 18 Figura 10. Iniciar sesión. ................................................................................................ 19 Figura 11. Iniciar app web. ............................................................................................. 19 Figura 12. Rol adopción. ................................................................................................ 20 Figura 13. Ingresar animal de compañía. ...................................................................... 20 Figura 14. Editar animal de compañía. .......................................................................... 21 Figura 15. Rol bienestar animal. .................................................................................... 22 Figura 16. Detalle animal de compañía. ........................................................................ 22 Figura 17. Administrar centro de adopción. ................................................................... 22 Figura 18. Restablecer contraseña. ............................................................................... 23 Figura 19. Enviar email. ................................................................................................. 23 Figura 20. Email Restablecer recibido. .......................................................................... 23 Figura 21. Ventana nueva contraseña. .......................................................................... 24 Figura 22. Iniciar cuenta. ................................................................................................ 24 Figura 23. Gestionar animal de compañía. .................................................................... 25 Figura 24. Ingresar animal de compañía. ...................................................................... 25 Figura 25. Editar animal de compañía. .......................................................................... 26 X.

(11) Figura 26. Buscar animal de compañía. ........................................................................ 27 Figura 27. Búsqueda finalizada...................................................................................... 27 Figura 28. Iniciar app móvil. ........................................................................................... 28 Figura 29. Modulo inicio. ................................................................................................ 29 Figura 30. Modulo registrar. ........................................................................................... 29 Figura 31. Inicio de sesión exitosa. ................................................................................ 30 Figura 32. Activar cuenta. .............................................................................................. 30 Figura 33. Mensaje regresar a la app. ........................................................................... 31 Figura 34. Iniciar sesión con Facebook. ........................................................................ 31 Figura 35. Confirmar datos de inicio con Facebook en la aplicación. ........................... 31 Figura 36. Iniciar sesión con Gmail. ............................................................................... 32 Figura 37. Confirmar datos de inicio con Gmail en la aplicación. ................................. 32 Figura 38. Validación de datos. ...................................................................................... 32 Figura 39. Iniciar sesión. ................................................................................................ 33 Figura 40. Datos inicio de sesión. .................................................................................. 33 Figura 41. Visualizar datos del adoptante...................................................................... 33 Figura 42. Validar sesión de usuario. ............................................................................ 34 Figura 43. Restablecer contraseña adoptante............................................................... 34 Figura 44. Mensaje acción exitosa................................................................................. 34 Figura 45. Email recibido restablecer contraseña. ........................................................ 35 Figura 46. Ventana restablecer contraseña app móvil. ................................................. 35 Figura 47. Contraseña actualizada app móvil. .............................................................. 35 Figura 48. Galerías animales de compañía. .................................................................. 37 Figura 49. Detalle animal de compañía app móvil......................................................... 37 Figura 50. Formulario Canino-Paso1. ............................................................................ 38 Figura 51. Formulario canino-Paso 2............................................................................. 38 XI.

(12) Figura 52. Formulario canino-Paso 3............................................................................. 39 Figura 53. Formulario canino-Paso 4............................................................................. 39 Figura 54. Formulario canino-Paso 5............................................................................. 40 Figura 55. Formulario canino-Paso 6............................................................................. 40 Figura 56. Formulario canino-Paso 7............................................................................. 41 Figura 57. Solicitar adopción felina. ............................................................................... 41 Figura 58. Formulario felino-Paso1. ............................................................................... 41 Figura 59. Formulario felino-Paso 2. .............................................................................. 42 Figura 60. Formulario felino-Paso 3. .............................................................................. 42 Figura 61. Formulario felino-Paso 4. .............................................................................. 43 Figura 62. Formulario felino-Paso 5. .............................................................................. 43 Figura 63. Formulario felino-Paso 6. .............................................................................. 44 Figura 64. Solitudes de adopción recibidas. .................................................................. 44 Figura 65. Gestionar respuesta de formularios recibidos. ............................................. 45 Figura 66. Notificación móvil .......................................................................................... 46 Figura 67. Estado actual: ADOPTADO .......................................................................... 47 Figura 68. Estado actual: ADOPTABLE ........................................................................ 47 Figura 69. Estado actual: RECUPERACIÓN ................................................................. 47 Figura 70. APK de Facebook. ........................................................................................ 48 Figura 71. Botón compartir. ............................................................................................ 48 Figura 72. Modal al compartir por red social. ................................................................ 48 Figura 73. Publicación compartida en Facebook........................................................... 49 Figura 74. Módulo Hogares Temporales ....................................................................... 50 Figura 75. Ingreso Hogar Temporal ............................................................................... 50 Figura 76. Editar Hogar Temporal.................................................................................. 51 Figura 77. Filtro TODOS del estado del animal de compañía....................................... 51 XII.

(13) Figura 78. Filtro ADOPTADO del estado del animal de compañía. .............................. 52 Figura 79. Filtro RECUPERACIÓN del estado del animal de compañía. ..................... 52 Figura 80. Filtro ADOPTABLE del estado del animal de compañía.............................. 52 Figura 81. Filtros aplicación móvil. ................................................................................. 53 Figura 82. Filtro especie. ................................................................................................ 54 Figura 83. Filtro por especie y edad............................................................................... 54 Figura 84. Información Hogar Temporal app móvil. ...................................................... 55 Figura 85. Usar cámara para evidenciar entrega. ......................................................... 55 Figura 86. Capturar foto. ................................................................................................ 55 Figura 87. Redactar reporte. .......................................................................................... 56 Figura 88. Guardar evidencia. ........................................................................................ 56 Figura 89. Evidencia de visita (a). .................................................................................. 56 Figura 90. Evidencia de visita (b). .................................................................................. 57 Figura 91. Arquitectura del Sistema de Adopciones PAE. ............................................ 58 Figura 92. Mapa navegación-app web........................................................................... 58 Figura 93. Mapa navegación-app móvil. ........................................................................ 59 Figura 94. Modelo MVC del sistema. ............................................................................. 60 Figura 95. Estructura General Symfony......................................................................... 61 Figura 96. Resources Proyecto Symfony ...................................................................... 61 Figura 97. SRC del proyecto Symfony. .......................................................................... 61 Figura 98: Api/Doc Rest ................................................................................................. 62 Figura 99. Estructura general Ionic. ............................................................................... 63 Figura 100. Carpeta www proyecto Ionic. ...................................................................... 63 Figura 101. Diagrama de Base de Datos en MySQL. ................................................... 64. XIII.

(14) ÍNDICE DE TABLAS Tabla 1. Roles del proyecto............................................................................................ 57 Tabla 2. Artefactos del proyecto. ................................................................................... 57 Tabla 3. Actores del Sistema. ........................................................................................ 59 Tabla 4. Caso de Prueba. Historia HAW-PAE-01 (a) .................................................... 64 Tabla 5.Caso de Prueba. Historia HAW-PAE-01 (b) ..................................................... 65 Tabla 6. Caso de Prueba. Historia HAW-PAE-02 (a) .................................................... 66 Tabla 7. Caso de Prueba. Historia HAW-PAE-02 (b) .................................................... 67 Tabla 8. Caso de Prueba. Historia HAW-PAE-02 (c) .................................................... 67 Tabla 9. Caso de Prueba. Historia HAW-PAE-02 (d) .................................................... 68 Tabla 10. Caso de Prueba. Historia HAW-PAE-03 (a) .................................................. 69 Tabla 11. Caso de Prueba. Historia HAW-PAE-03 (b) .................................................. 70 Tabla 12.Caso de Prueba. Historia HAW-PAE-03 (c) ................................................... 70 Tabla 13.Caso de Prueba. Historia HAW-PAE-03 (d) ................................................... 71 Tabla 14.Caso de Prueba. Historia HAW-PAE-03 (e) ................................................... 72 Tabla 15.Caso de Prueba. Historia HAW-PAE-08 (a) ................................................... 73 Tabla 16. Caso de Prueba. Historia HAW-PAE-08 (b) .................................................. 73 Tabla 17. Caso de Prueba. Historia HAW-PAE-08 (c) .................................................. 74 Tabla 18. Caso de Prueba. Historia HAW-PAE-08 (d) .................................................. 75 Tabla 19. Caso de Prueba. Historia HAW-PAE-08 (e) .................................................. 76 Tabla 20. Caso de Prueba. Historia HAW-PAE-11 ....................................................... 77 Tabla 21. Caso de Prueba. Historia HAM-PAE-01 (a) .................................................. 77 Tabla 22. Caso de Prueba. Historia HAM-PAE-01 (b) .................................................. 78 Tabla 23. Caso de Prueba. Historia HAM-PAE-02 (a) .................................................. 79 Tabla 24. Caso de Prueba. Historia HAM-PAE-02 (b) .................................................. 79 Tabla 25. Caso de Prueba. Historia HAM-PAE-02 (c)................................................... 80 XIV.

(15) Tabla 26. Caso de Prueba. Historia HAM-PAE-02 (d) .................................................. 81 Tabla 27. Caso de Prueba. Historia HAM-PAE-02 (e) .................................................. 82 Tabla 28. Caso de Prueba. Historia HAM-PAE-04 (a) .................................................. 82 Tabla 29. Caso de Prueba. Historia HAM-PAE-04 (b) .................................................. 83 Tabla 30. Caso de Prueba. Historia HAW-PAE-04 (a) .................................................. 84 Tabla 31. Caso de Prueba. Historia HAW-PAE-04 (b) .................................................. 85 Tabla 32. Caso de Prueba. Historia HAW-PAE-04 (c) .................................................. 86 Tabla 33. Caso de Prueba. Historia HAM-PAE-05 ........................................................ 87 Tabla 34. Caso de Prueba. Historia HAW-PAE-05 ....................................................... 88 Tabla 35. Caso de Prueba. Historia HAW-PAE-06 ....................................................... 88 Tabla 36. Caso de Prueba. Historia HAW-PAE-07 (a) .................................................. 89 Tabla 37. Caso de Prueba. Historia HAW-PAE-07 (b) .................................................. 90 Tabla 38. Caso de Prueba. Historia HAW-PAE-07 (c) .................................................. 91 Tabla 39. Caso de Prueba. Historia HAW-PAE-07 (d) .................................................. 92 Tabla 40. Caso de Prueba. Historia HAW-PAE-07 (e) .................................................. 93 Tabla 41. Caso de Prueba. Historia HAW-PAE-09 ....................................................... 93 Tabla 42. Caso de Prueba. Historia HAM-PAE-03 (a) .................................................. 95 Tabla 43. Caso de Prueba. Historia HAM-PAE-03 (b) .................................................. 96 Tabla 44. Caso de Prueba. Historia HAM-PAE-06 (a) .................................................. 97 Tabla 45. Caso de Prueba. Historia HAM-PAE-06 (b) .................................................. 98. XV.

(16) RESUMEN La Fundación Protección Animal Ecuador (PAE) maneja registros físicos para la adopción de animales de compañía, esto causa que la información no sea clara o sea distorsionada porque no cuenta con una base de datos de los animales registrados en los centros de adopción (Alangasi, Quito, Tumbaco) y tampoco de los adoptantes. Cuando un adoptante llena una solicitud de adopción, el gestor (persona encargada de gestionar la información interna de las adopciones en la fundación) debe interpretar la escritura generando malentendidos en la información receptada, además el proceso de adopción se convierte en una tarea demorosa y desorganizada. Para esta problemática se desarrolló un sistema para la gestión de adopción de animales de compañía, el cual está compuesto por dos aplicaciones. Una aplicación web orientada a la gestión interna de la fundación, encargada de facilitar el manejo de información y consulta de datos de forma eficiente y eficaz. Y una aplicación móvil orientada a la gestión externa de la fundación, facilitando el envío de datos y recepción de los mismos. Este sistema agilita el proceso de una adopción transformándolo en una tarea ágil y organizada. La aplicación web trabaja con Symfony el cual cuenta con una variedad de bundles que permite ampliar las características de este sistema. Para el almacenamiento de datos se ha trabajado con la base de datos MySQL ideal para el manejo de una gran cantidad de información y conectividad segura. Y en la aplicación móvil se ha utilizado Ionic que ayuda a la creación de aplicaciones nativas e híbridas mediante la utilización de tecnologías web como HTML, CSS, JavaScript. (Ionic, 2017). XVI.

(17) ABSTRACT The Ecuador Animal Protection Foundation (PAE) manages physical records for the adoption of pets, this causes the information is not clear or is distorted because it does not have a database of animals registered in the adoption centers (Alangasi, Quito, Tumbaco) and neither of the adopters. When an adopter completes an application for adoption, the manager (person in charge of managing the internal information of the adoptions in the foundation) must interpret the deed generating misunderstandings in the information received, and the adoption process becomes a delayed and disorganized task. For this problem was developed a system for the management of adoption of pets, which is composed of two applications. A web application aimed at the internal management of the foundation, responsible for facilitating the management of information and query of data efficiently and effectively. And a mobile application oriented to the external management of the foundation, facilitating the sending of data and reception of the same. This system streamlines the process of an adoption transforming it into an agile and organized task. The web application works with Symfony which has a variety of bundles that allows to expand the characteristics of this system. For data storage, we have worked with the ideal MySQL database for the management of a large amount of information and secure connectivity and in the mobile application Ionic has been used to help the creation of native applications through the use of web technologies like HTML, CSS, JavaScript. (Ionic, 2017). XVII.

(18) 1 INTRODUCCIÓN En las calles de Quito es común observar cientos de perros abandonados. Estos animalitos vagan por plazas, avenidas y parques. Según datos del Cabildo, en la ciudad existen más de 200 mil perros en estado de abandono. Por ello, muchas organizaciones animalistas realizan campañas de adopción, por ejemplo, Protección Animal Ecuador (PAE) tiene un programa de adopción responsable de perros y gatos, también ofrece servicio veterinario para animalitos en condiciones de abandono. (El Telégrafo, 2016) PAE es una fundación apolítica, arreligiosa, con personería jurídica, de derecho privado y sin fines de lucro que promueve la protección y el bienestar de los animales mediante acciones directas y la concienciación de la comunidad en el respeto que merecen. (Protección Animal Ecuador, 2017) Actualmente, para el proceso de adopción de animales de compañía (perros y gatos) rescatados de la calle o abandonados por sus dueños, después de pasar por chequeos médicos son puestos en adopción. Para realizar el proceso de adopción la fundación cuenta con un formulario que los interesados en adoptar un animal de compañía tienen que llenar manualmente, pero este proceso genera muchas dificultades al momento de revisar y organizar la información. Además, de pérdida para recuperar la información y generar el proceso. El medio utilizado para interactuar entre el adoptante (persona que aplica para una adopción) y PAE son el correo electrónico y la línea telefónica, pero esta forma de gestionar el proceso de adopción trae consigo problemas, tales como, acumulación de correos electrónicos sin revisar y saturación de las líneas telefónicas, para atender las constantes solicitudes de asistencia que recibe la fundación. Para dar solución a este problema, en este trabajo se propone el diseño de una base de datos que permita recoger toda esta información y un sistema que constará de dos aplicaciones, una aplicación web interna para los gestores quienes estarán encargados de revisar las solicitudes de adopción y manejar la información en cuanto a registros, actualizaciones y eliminación de fichas con los datos de los animales de compañía. Así, esta aplicación web se encargaría de gestionar el flujo de pre-aprobación del proceso de adopción. Para el adoptante se desarrollará una aplicación móvil la cual se encargará de gestionar la información que actualmente se registra a través de un formulario físico que posee la 1.

(19) fundación. Además, el rescatista podrá conocer la ubicación disponible para los hogares temporales de los animales de compañía.. 1.1 Objetivo general Desarrollar un sistema para la gestión de adopción de animales de compañía en la fundación de Protección Animal Ecuador (PAE).. 1.2 Objetivos específicos ·. Identificar los requerimientos del sistema.. ·. Diseñar e implementar la estructura de la base de datos y subir la información.. ·. Diseñar el mapa de navegación de la aplicación web.. ·. Desarrollar el sistema a través de la aplicación web y móvil.. ·. Realizar pruebas de funcionamiento.. 1.3 Alcance Desarrollar el sistema a través de la aplicación web y móvil, diseñar el mapa de navegación de la aplicación web, identificar los requerimientos del sistema. La fundación PAE en la actualidad administra una gran cantidad de datos sobre adopciones de animales de compañía, que se registra y guarda físicamente por lo que la información que genera el proceso de adopción de dichos animales de compañía se vuelve difícil de manejar, administrar y mantener una correcta organización entre los involucrados, ocasionando demora en el proceso de adopciones (alrededor de 5 días). Los animales de compañía que se quieren adoptar son aquellos que han sido abandonados, rescatados, maltratados y aquellos que estuvieron heridos en cualquier parte del país, PAE los recupera, los examina y los da en adopción, esta fundación no siempre cuenta con el espacio o con las condiciones adecuadas para recibir otro animal y es importante asignarle un hogar temporal lo más pronto posible. Por tal motivo en este trabajo se propone implementar un sistema capaz de gestionar las solicitudes de adopción y los historiales de los animales de compañía, reduciendo el tiempo que demora todo este proceso y mejorar la organización y comunicación entre los involucrados. El sistema constará de una aplicación web para los gestores, cuyos datos podrán ser consultados en una base de datos accesible las 24 horas y una aplicación móvil dirigida a los adoptantes que estén interesados en tener un animal de. 2.

(20) compañía al cual podrán acceder desde cualquier lugar que cuente con acceso a internet. Para poder garantizar la integridad, consistencia y seguridad de datos las aplicaciones contarán con un sistema de autenticación y perfiles, las otras funcionalidades del sistema se describen a continuación. La aplicación web permitirá: ·. Ingresar, actualizar y eliminar información de los animales de compañía.. ·. Aprobar o negar el formulario de adopción.. ·. Revisar el estado (adoptado, adoptable y recuperación) de cualquier animal registrado en el sistema.. ·. Compartir características del animal de compañía (Foto, edad, estatura, ubicación, historia) por medio de Facebook.. ·. Manejar y controlar la información de los hogares temporales.. La aplicación móvil permitirá: ·. Registro de adoptantes por medio de Facebook, Gmail o un registro en la aplicación.. ·. Visualización de todos los animales de compañía que se encuentran en adopción.. ·. Filtrado de animales por categoría (canino, felino).. ·. Llenar y enviar el formulario de adopción.. ·. Recibir notificación de la pre-aprobación o negación de la adopción.. ·. Brindar información al rescatista del hogar temporal.. 2 METODOLOGÍA 2.1 Análisis y levantamiento de requisitos El análisis y levantamiento de requisitos es una etapa la cual nos ayuda a abstraer las ideas principales del proyecto, las necesidades del dueño del producto. Para complementar dicha etapa nos hemos basado en las herramientas que propone la metodología SCRUM. Para la creación del sistema de información que permita agilitar el proceso de adopción de animales de compañía se procede a:. 3.

(21) En primer lugar, se realizará la visita de las instalaciones de PAE para reunirnos con el personal encargado quienes proporcionarán la información necesaria en el proceso de adopción de animales de compañía, también se observará cómo se procede a guardar la información para la organización y control. Teniendo en cuenta estos aspectos se identificará los requerimientos del sistema para las aplicaciones web y móvil. Al tener la información de las reuniones, se procederá al análisis para el diseño preliminar de la base de datos, que involucra la verificación con la organización para su posterior implementación con el uso de MySQL que es un sistema de administración de bases de datos relacional, se trata de un programa capaz de almacenar una enorme cantidad de datos de gran variedad y de distribuirlos para cubrir las necesidades de cualquier tipo de organización (Gilillan Ian, 2003). Se diseñará un mapa de navegación de la aplicación web y su construcción iniciará con el desarrollo de los módulos de registro, actualización y eliminación en la misma, para lo que se usará Symfony versión 3.2 que es un framework orientado PHP para crear sitios web y aplicaciones web, se utilizará FOSRestBundle para hacer APIs RESTful de forma más óptima para construir un controlador que funciona tanto para HTML, así como JSON / XML (Symfony, 2017). Para el segundo entregable se creará el módulo de consultas a la información de la base de datos. Además, se creará la sección de aprobación o negación de las solicitudes de adopción, y se podrá compartir en Facebook la información de cada animal de compañía. En el siguiente entregable se procederá a crear la administración de usuarios construyendo el módulo de acceso a la aplicación web mediante el uso de FOSUserBundle que provee seguridad flexible que le permite cargar los usuarios de configuración en la base de datos. (Symfony, 2017). Además, se creará la sección del control de los hogares temporales referente al bienestar animal. De acuerdo a los requisitos determinados se desarrollará la aplicación móvil que utilizará los datos ingresados a través de la aplicación web como un servicio, añadiendo funcionalidad de llenado del formulario de adopciones, notificaciones de aprobación, negación y a su vez que permitirá localizar la ubicación de los hogares temporales. Para el desarrollo de la aplicación móvil se usará Ionic un framework de código abierto que permite la creación de aplicaciones web híbridas altamente interactivos y 4.

(22) progresivos (Ionic, 2017) juntamente con AngularJS para el desarrollo del front-end (AngularJs, 2017) y el uso de Cordova una colección de extensiones que hacen que sea fácil de construir, probar y desplegar aplicaciones móviles (Cordova, 2017). Se procederá a realizar la autenticación a través del plugin Facebook4 que permite el inicio de sesión con el uso del navegador de diversos proveedores Facebook y plugin GooglePlus para Gmail o a su vez por medio del registro en la aplicación móvil (Cordova, 2017). Se añadirá la funcionalidad de búsqueda por filtros de animales de compañía en adopción para posteriormente transmitir la información en el formulario de adopción sometiéndose a la espera de la respuesta por parte de bienestar animal de PAE, se creará la sección de la guía para ubicar los hogares temporales. Al completar las actividades indicadas con antelación se procederá a realizar las pruebas en todo el sistema de gestión (base de datos, aplicación móvil y web), para validar la funcionalidad establecida por la organización y si cumple con los requisitos identificados. Adicionalmente para la implementación del sistema informático es necesario contar con una metodología ágil que ayude a una óptima interacción con los involucrados por ello emplearemos SCRUM que según Schwaber y Sutherland (2013) es un marco de trabajo para el desarrollo y el mantenimiento de productos complejos, a la vez que entrega productos del máximo valor posible productiva y creativamente. Consiste en los equipos: roles, eventos, artefactos y reglas asociadas.. 2.2 Selección del entorno de desarrollo Para el desarrollo de este sistema se utilizó SCRUM como metodología ágil para tener un seguimiento continuo de los avances del proyecto.. Scrum Monte (2016), indica que Scrum está basado, por un lado, en la teoría del control empírico de procesos para la gestión de sistemas adaptativos complejos y, por otro lado, está basado en procesos de mejora continua, que pueden resumirse a partir del ciclo de Deming: ·. Plan (planifica): ¿Qué hacer?, ¿Cómo hacerlo?. ·. Do (ejecuta): hacer lo que se ha planificado.. ·. Check (comprueba): ¿Se ha podido actuar según lo que se había planificado? 5.

(23) ·. Act (actúa): ¿Cómo mejoramos para el próximo ciclo?. Además (Monte, 2016) sostiene que “Scrum es un marco de trabajo (framework) para la gestión de productos, proyectos y servicios complejos, que facilita un desarrollo mantenido e incremental, señala que “la pieza fundamental que proporciona flexibilidad en Scrum es el sprint. A cada sprint hay una adaptación continua de los objetivos del proyecto y de los productos que se crean”. (Pg, 39) Scrum propone: ·. Tres roles: product owner, Scrum master y development team.. ·. Tres artefactos: product backlog, sprint backlog y burn down.. ·. Tres actividades: daily Scrum, sprint review y sprint retrospection. Ciclo de vida El ciclo de Scrum empieza cuando el producto owner crea e informa el product backlog. El product backlog (PB) está formado por historias de usuario definidas funcionalmente que nos informa de algún aspecto o alguna funcionalidad que se quiere para el producto. (Monte, 2016) Para cada sprint del proyecto, el Scrum team decide que funcionalidad del product backlog se incorporan en el sprint backlog en curso y, entonces, el development team desglosa las historias en tareas y estima el esfuerzo de cada tarea. (Monte, 2016) Mientras dure el sprint, se llevarán a cabo reuniones diarias (daily meetings) en que el equipo se sincronizara internamente y avanzara en la construcción de las tareas. El proceso tiene que acabar en una reunión de presentación de resultados al usuario (sprint review) en que este aceptara el producto creado. (Monte, 2016) Finalmente, el development team y el Scrum master tendrán una reunión (Scrum retrospective) para identificar áreas de mejora del proceso interno e iniciar un nuevo sprint. (Monte, 2016) Roles ·. Product Owner (PO), dueño del proyecto, es el enlace entre el cliente y el equipo de desarrollo. (Monte, 2016). ·. Scrum master (SM) es un mentor para los componentes del development team y quien proporciona soporte al DT ayudando a resolver los problemas. (Monte, 2016). 6.

(24) ·. Development team (DT), equipo de trabajo, se caracteriza por ser flexible, auto organizado y multidisciplinario. (Monte, 2016). Artefactos (Monte, 2016) dice que “los artefactos son las herramientas que propone Scrum para que los diferentes roles definidos anteriormente puedan coordinarse y trabajar” (pg, 55) ·. Product backlog (PB): es la lista de funcionalidades, productos o acciones que conforman el producto que se ha de construir, se compone de historias de usuario, cada historia se va completando y detallando a medida que se necesite o debe información. (Monte, 2016). ·. Sprint backlog (SB): es la lista de funcionalidades extraídas del product backlog que se incorporan al sprint en curso. (Monte, 2016). Actividades Las actividades que propone Scrum son: ·. Sprint 0 o first sprint: corresponde a la fase inicial del proyecto, en que el Scrum team planifica, establece las reglas y hace la planificación inicial. En algunos proyectos puede ser necesario disponer de un tiempo previo al primer sprint para preparar infraestructura general, definir arquitectura, hacer un prototipo. (Monte, 2016). ·. Sprint: es la unidad de tiempo que determina un ciclo de desarrollo con Scrum, a cada nuevo sprint, y en función de la velocidad del equipo, el PO selecciona los elementos más prioritarios del product backlog y los incorpora en la lista del sprint (sprint backlog). (Monte, 2016). ·. Daily meeting (reunión diaria): se realiza siempre en el mismo lugar y a la misma hora, y no ha de durar más de quince minutos. (Monte, 2016). ·. Sprint review (revisión del sprint): el DT muestra a los usuarios/clientes el incremento de producto desarrollado. (Monte, 2016). ·. Refinement/ Grooming (refinamiento): estas reuniones sirven principalmente para adquirir conocimiento o bien para tratar cambios. (Monte, 2016). Se utilizó un servidor de plataforma libre denominado Xampp que integra un servidor de base de datos MySQL la cual almacena la información de la aplicación web desarrollada con Symfony y también la información de la aplicación móvil desarrollada con IONIC, estas dos aplicaciones están integradas en un patrón de gestor MVC.. 7.

(25) Xampp Según (Zepeda, 2017) XAMPP es un servidor independiente multiplataforma, de software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas.. MVC (Romero Y. & González Y, 2012) El modelo-vista-controlador fue diseñado para reducir el esfuerzo de programación necesario en la implementación de sistemas múltiples y sincronizados de los mismos datos. Sus características principales están dadas por el hecho de que, el Modelo, las Vistas y los Controladores se tratan como entidades separadas; esto hace que cualquier cambio producido en el Modelo se refleje automáticamente en cada una de las vistas. ·. Modelo: es el objeto que representa los datos del programa, maneja los datos y controla todas sus transformaciones. (Romero Y. & González Y, 2012). ·. Vista: es el objeto que maneja la presentación visual de los datos representados por el Modelo, genera una representación visual del Modelo y muestra los datos al usuario. (Romero Y. & González Y, 2012). ·. Controlador: es el objeto que proporciona significado a las órdenes del usuario, actuando sobre los datos representados por el Modelo, centra toda la interacción entre la Vista y el Modelo. (Romero Y. & González Y, 2012). 8.

(26) Figura 1. MVC. Adaptado de (SATRIAWINARAH, 2016). Symfony Symfony es un conjunto de componentes de PHP, es el marco líder de PHP para crear sitios web y aplicaciones web. (Symfony, 2017) Estructura en disco del proyecto Symfony (mercenariophp, 2016) Al entrar al directorio del proyecto podemos comprobar que se han creado varias carpetas organizadas de la siguiente manera. ·. app: contiene la configuración, plantillas y traducciones de la aplicación.. ·. bin: consta del ejecutable de consola, que permite llamar las utilidades del cliente desde nuestro terminal.. ·. src: es el código fuente de la aplicación.. ·. tests: almacena los sources de tests, ya sea PHPUnit, codeception u otra herramienta.. ·. var: el directorio temporal donde se almacenan los archivos de cache.. ·. vendor: contiene las librerías externas que se utilizan.. 9.

(27) Bundles de Symfony FOSUserBundle El componente Symfony Security proporciona un marco de seguridad flexible que le permite cargar usuarios desde la configuración, una base de datos o cualquier otro lugar que pueda imaginar. El FOSUserBundle se basa en esto para que sea rápido y fácil de almacenar usuarios en una base de datos, así como la funcionalidad para el registro, restablecer la contraseña y una página de perfil. (Symfony, 2017) FOSRestBundle Este bundle genera controladores tipo rest en los cuales indicarles el método HTTP que van a utilizar y generar rutas automáticas. (Robles, 2017) NelmioCorsBundle Permite enviar encabezados de compartición de recursos de origen cruzado con configuración de estilo ACL por URL. (Seldaek, 2017) NelmioApiDocBundle Permite generar una documentación decente para sus API. (Symfony, 2017). JMSSerializerBundle JMSSerializerBundle le permite serializar sus datos en un formato de salida solicitado, como JSON, XML o YAML, y viceversa. (Schmitt, 2017) KnpPaginatorBundle Este paquete sirve para paginar todo, se basa en el componente Knp Pager. Este componente introduce una manera diferente para el manejo de la paginación. (polc, 2017) LexiKJWTAuthenticationBundle Este paquete proporciona autenticación JWT (Json Web Token) para su API Symfony. (chalasr, 2017). 10.

(28) Facebook Graph/SDK El SDK de Facebook para PHP es una biblioteca con funciones eficaces que le permiten a los desarrolladores de PHP integrar fácilmente el inicio de sesión con Facebook y realizar solicitudes a la API Graph. (Facebook, 2017) LiipImagineBundle Proporciona un kit de herramientas de abstracción de manipulación de imágenes para proyectos basados en Symfony. Las características incluyen: ·. Conjuntos de filtros: utilizando cualquier lenguaje de configuración compatible con Symfony (como YML y XML), puede crear definiciones de conjuntos de filtros que especifiquen rutinas de transformación. Estos incluyen un conjunto de filtros y post-procesadores, así como otros parámetros opcionales. (Symfony, 2017). VichUploaderBundle Es un paquete de Symfony que intenta facilitar la carga de archivos que se adjuntan a entidades ORM, documentos MongoDB ODM, documentos PHPCR ODM o modelos Propel. (Garak, 2017). Ionic Es un marco de desarrollo de aplicaciones móviles HTML5 dirigido a la creación de aplicaciones móviles híbridas. Las aplicaciones híbridas tienen muchos beneficios sobre aplicaciones nativas puras, específicamente en términos de soporte de plataforma, velocidad de desarrollo y acceso a código de terceros. (Ionic, 2017) A diferencia de un marco de respuesta, Ionic viene con elementos de interfaz de usuario móviles de estilo nativo y diseños que obtendría con un SDK nativo en iOS o Android, pero que en realidad no existía antes en la web. (Ionic, 2017) Plugins de Ionic InappBrowser Permite abrir un link ya sea en el navegador (si utilizamos ionic serve) o en el navegador del dispositivo si estamos utilizando alguna plataforma como android o IOS. (Pacheco, 2017) Google Plus Este complemento le permite autenticar e identificar usuarios con inicio de sesión de Google en iOS y Android. (Verbruggen, 2017) 11.

(29) Angular-wizard Es un componente del asistente para formularios Angular. Al igual que cualquier asistente de formulario puede definir pasos y controlar cómo funciona cada paso. Puede activar / desactivar el botón de navegación en función de la validez del paso actual. (mphanich, 2017) Actionsheet El complemento ActionSheet muestra una lista nativa de opciones de las que el usuario puede elegir. (Ionic, 2017) Camera Toma una foto o captura video. (Ionic, 2017) File-transfer Este plugin te permite cargar y descargar archivos, define global FileTransfer, FileUploadOptions constructores. (Gill, 2017) Facebook4 Esta es una bifurcación del complemento oficial para Facebook en Apache Cordova que implementa el último SDK de Facebook. A menos que se indique, este es un reemplazo directo. No tiene que reemplazar su código de cliente. (npm, 2017) El complemento de Facebook para Apache Cordova le permite usar el mismo código de JavaScript en su aplicación Cordova que usa en su aplicación web. (npm, 2017). MySQL Es la base de datos de código abierto más popular del mundo. Con su rendimiento, confiabilidad y facilidad de uso comprobados, MySQL se ha convertido en la principal opción de base de datos para aplicaciones basadas en la Web, utilizada por propiedades web de alto perfil como Facebook, Twitter, YouTube, y los cinco principales sitios web. Además, es una alternativa extremadamente popular como base de datos integrada, distribuida por miles de ISV y OEM. (Oracle, 2017). 12.

(30) 3 RESULTADOS Y DISCUSIÓN 3.1 Diseño del sistema Sprint 1 El propósito del primer sprint fue registrar nuevos gestores (personas encargadas de gestionar la información interna de las adopciones en la fundación), los que posteriormente ingresarían a la aplicación web, actualizarían y eliminarían la información del animal de compañía, para este registro se necesitara administrar la información de los centros de adopción. Para realizar y efectuar dicho sprint se creó su Sprint Backlog (Ver ANEXO I) Observaciones del Sprint: En la preparación del sprint se encontró que al ingresar a la aplicación web sería viable que el gestor que este ingresando a la aplicación web pueda recuperar su contraseña debido a que es común que la pierdan, por lo cual se aumentó y describió correctamente este requerimiento en la historia de usuario HAWPAE-02 (Ver ANEXO C). También se concluyó que solo existan dos tipos de gestor: gestor de adopción y gestor de bienestar animal en lugar de tres como se había establecido en los requerimientos. Además se corrigieron los estados del animal de compañía que mejor convenían para entendimiento de Product Owner estos son: adoptado, adoptable y recuperación, también se solicitó crear una búsqueda por nombre del animal de compañía. En el proceso actual que maneja el PAE para la solicitud de adopciones (Ver ANEXO G) no cuentan con un registro de gestores, centros de adopción o animales, todo este proceso lo manejan de forma física. Este sistema implementa un proceso (Ver ANEXO H) el cual permite reducir tiempo y papeleo. Producto del Sprint: Administrar información de los centros de adopción Este módulo tiene como objetivo que la aplicación web permita controlar y revisar la información de los centros de adopción, con la finalidad de gestionarlos y manejarlos. Tiene el siguiente comportamiento: ·. Permite el ingreso, actualización y eliminación de los centros.. ·. Muestra la información de los centros.. 13.

(31) Para este comportamiento, se diseñó e implemento el módulo de administración de centros de adopción. En la figura 2 se ve el módulo de la aplicación web que se muestra al gestor de bienestar animal al realizar dicha operación.. Figura 2. Módulo de administración de centros de adopción.. En la figura 3 y en la figura 4 se puede ver el detalle del ingreso de centros y edición de los mismos.. Figura 3. Ingreso centro de adopción.. 14.

(32) Figura 4. Editar centro de adopción.. Producto del Sprint: Módulo de registro para gestores Este módulo tiene como objetivo que la aplicación web permita registrar un nuevo gestor (adopción o bienestar animal) con la finalidad de poder acceder a la información de los animales de compañía, este registro podrá ser ejecutado únicamente por el gestor de adopción. Tiene el siguiente comportamiento: ·. Permite la creación de un nuevo gestor, desplegando un mensaje de confirmación al correo electrónico que el gestor registro.. ·. No permite registrar un gestor con el mismo nombre o con el mismo correo electrónico, hasta que el nuevo gestor lo corrija no recibirá ningún mensaje de confirmación.. Para este comportamiento, se diseñó la interfaz del registro para nuevos gestores que posteriormente se implementó en la aplicación web junto con la instalación de FOSUserBundle; el cual nos facilita la creación, edición, añadir o eliminar roles y recuperar contraseñas (Yamuza, 2015). En la figura 5 se ve el módulo de la aplicación web que se muestra al gestor al realizar dicha operación.. 15.

(33) Figura 5. Registrar gestor.. Una vez que el nuevo gestor cumpla con los requisitos solicitados en el módulo de registro se confirmara la creación de su cuenta, en la figura 6 se ve la página que se mostrara al gestor.. Figura 6. Verificar cuenta.. El gestor que se registró tendrá que revisar la bandeja de entrada del correo electrónico que utilizo para dicho registro, en la figura 7 se ve el email que se envía para la confirmación de la cuenta.. 16.

(34) Figura 7. Confirmar email.. Una vez que el gestor verifique su nombre de usuario y haya confirmado su cuenta en el botón se desplegara una página como resultado de esta operación, se muestra en la figura 8 el resultado.. Figura 8. Confirmar cuenta.. De igual manera otro de los comportamientos que cumple este módulo es no permitir el registro de un nuevo gestor que tenga el nombre de un usuario ya registrado o el mismo correo electrónico, se muestra en la figura 9 el resultado.. 17.

(35) Figura 9. Validar email y usuario.. Producto del Sprint: Módulo de ingreso a la aplicación web Este módulo tiene como objetivo que la aplicación web solicite un usuario y contraseña, con la finalidad de garantizar la seguridad de la información y controlar el acceso, operaciones y modificación de datos. Tiene el siguiente comportamiento: ·. Permite el acceso a las operaciones y funcionalidades que ofrece la aplicación web.. ·. Dependiendo del tipo de gestor (adopción, bienestar animal) que sea se mostrara los objetos y acciones que cada uno puede realizar de acuerdo a los requerimientos del Product Owner.. ·. En caso de que el gestor haya olvidado su contraseña este podrá recuperar el acceso a la aplicación web mediante la verificación de cuenta con el email que tenga registrado.. Para este comportamiento, se diseñó e implemento el módulo de ingreso, en la figura 10 se muestra la página que el gestor verá al momento de ingresar a la aplicación web.. 18.

(36) Figura 10. Iniciar sesión.. Una vez que se haya identificado, se desplegará el inicio y en la parte superior derecha podrá verificar el nombre del gestor que ingreso a la aplicación web, en la figura 11 se muestra el resultado.. Figura 11. Iniciar app web.. Dependiendo del tipo de gestor que sea se mostrara las funciones y/o operaciones que puede realizar. Existen dos tipos de gestor especificados por el Product Owner: ADOPCIÓN: ·. Este gestor será el único capaz de describir a la mascota como apto o no para la adopción.. ·. Podrá ingresar, actualizar o eliminar datos del animal de compañía.. ·. Encargado de detallar si el animal de compañía está en tratamiento, o si tiene problemas en la piel.. ·. Básicamente este tipo será orientado al de un médico (Veterinario).. ·. Además será el único que controlará el registro de nuevos gestores, asegurando la integridad del sistema. 19.

(37) Se muestra en la figura 12 lo que ADOPCIÓN puede operar y ejecutar.. Figura 12. Rol adopción.. En la figura 13 se muestra que el gestor (ADOPCIÓN) puede ingresar un nuevo animal de compañía.. Figura 13. Ingresar animal de compañía.. En la figura 14 se muestra que el gestor (ADOPCIÓN) puede actualizar o eliminar un animal de compañía y revisar el detalle de cualquier animal de compañía.. 20.

(38) Figura 14. Editar animal de compañía.. BIENESTAR ANIMAL: ·. Este gestor será el encargado de recibir las solicitudes de adopción y será quien aprobara o negara los formularios, dependiendo si el animal de compañía es apto o no como lo informe Adopción.. ·. Además será el encargado de manejar toda la información de los hogares temporales y los centros de adopción.. ·. Podrá ingresar, actualizar o eliminar datos del animal de compañía.. Se muestra en la figura 15 lo que BIENESTAR ANIMAL puede operar y ejecutar.. 21.

(39) Figura 15. Rol bienestar animal.. Puede revisar el detalle de la mascota, como se muestra en la figura 16.. Figura 16. Detalle animal de compañía.. Puede ingresar, eliminar y editar la información de los centros de adopción, como se muestra en la figura 17.. Figura 17. Administrar centro de adopción.. 22.

(40) Otro de los comportamientos que este módulo debe realizar es la función de recuperar contraseña para lo cual anteriormente se había instalado FosUserBundle ya que nos facilita realizar este proceso y también se requiere la configuración del Swiftmailer, en la figura 18 se muestra la ventana que vera el gestor al momento de solicitar el restablecimiento de su contraseña.. Figura 18. Restablecer contraseña.. Como se puede apreciar el gestor tiene la opción de restablecer su contraseña utilizando su nombre de usuario registrado o el email que utilizo para su registro, en la figura 19 se muestra la página que vera el gestor al dar clic en restablecer contraseña.. Figura 19. Enviar email.. El gestor deberá revisar la bandeja de entrada de su correo electrónico, en la figura 20 se muestra el resultado.. Figura 20. Email Restablecer recibido.. 23.

(41) Una vez que el gestor haya hecho clic en restablecer contraseña, se desplegara la siguiente página, en la figura 21 se muestra el resultado.. Figura 21. Ventana nueva contraseña.. Finalmente, llenado los datos correctamente el gestor podrá ingresar nuevamente a su cuenta, como se muestra en la figura 22.. Figura 22. Iniciar cuenta.. Producto del Sprint: Gestionar información del animal de compañía Este módulo tiene como objetivo que la aplicación web permita ingresar, actualizar y eliminar información del animal de compañía, con la finalidad de tener un registro de los animales que se encuentran en el PAE. Tiene el siguiente comportamiento: ·. Permite ingresar, actualizar, eliminar información del animal de compañía.. ·. Muestra el detalle del animal de compañía ingresado.. Para este comportamiento, se diseñó e implemento el módulo de ingreso, en la figura 23, figura 24 y figura 25 se muestra la página que el gestor verá al momento de ingresar a la aplicación web.. 24.

(42) Figura 23. Gestionar animal de compañía.. Figura 24. Ingresar animal de compañía.. 25.

(43) Figura 25. Editar animal de compañía.. Producto del Sprint: Búsqueda de animales de compañía Este módulo tiene como objetivo que la aplicación web busque y muestre las coincidencias del animal de compañía del cual se ha ingresado el nombre. Tiene el siguiente comportamiento: ·. Consulta del animal de compañía de interés.. Para este comportamiento, se diseñó e implemento botón de búsqueda, en la figura 26 y la figura 27 se muestra el funcionamiento.. 26.

(44) Figura 26. Buscar animal de compañía.. Figura 27. Búsqueda finalizada.. Sprint 2 El propósito del segundo sprint fue registrar nuevos adoptantes, los cuales podrán hacerlo mediante la aplicación móvil, la red social Facebook y Gmail, además de que se podrá iniciar la sesión. Para realizar y efectuar dicho sprint se creó su Sprint Backlog (Ver ANEXO J) Observaciones del Sprint: En la preparación del sprint se encontró que al ingresar a la aplicación móvil sería viable que el adoptante pueda recuperar su contraseña debido a que es común que la pierdan, por lo cual se aumentó y describió correctamente este requerimiento en la historia de usuario HAM-PAE-02 (Ver ANEXO D). El PAE no maneja un registro de adoptantes, únicamente formularios físicos de adopciones, pero dentro del proceso de este sistema (Ver ANEXO H) es necesario registrar dicha operación para continuar con la solicitud de adopciones. Producto del Sprint: Registrar adoptantes Este módulo tiene como objetivo que la aplicación móvil permita registrar un nuevo adoptante, con la finalidad de obtener posibles candidatos para la adopción de un animal de compañía. Tiene el siguiente comportamiento:. 27.

(45) ·. Permite la creación de un nuevo adoptante, desplegando un mensaje de confirmación al correo electrónico que el adoptante registro.. ·. No permite registrar un adoptante con el mismo nombre o con el mismo correo electrónico si es registrado en la aplicación móvil.. ·. Permite el registro por medio de Facebook y Gmail.. Para este comportamiento, se diseñó e implemento el módulo de registro de adoptantes. En la figura 28 se ve el módulo de la aplicación móvil que se muestra al adoptante.. Figura 28. Iniciar app móvil.. Al dar clic en comenzar se desplegará el módulo de inicio, como se muestra en la figura 29.. 28.

(46) Figura 29. Modulo inicio.. El módulo de registro se encuentra dando clic en la imagen inferior derecha, icono de registro, esta acción le mostrara el siguiente modulo, tal como lo muestra la figura 30.. Figura 30. Modulo registrar.. Una vez llena la información se desplegará un mensaje de operación exitosa, como se muestra en la figura 31.. 29.

(47) Figura 31. Inicio de sesión exitosa.. Inmediatamente se recibirá un correo electrónico para activar la cuenta, como se muestra en la figura 32.. Figura 32. Activar cuenta.. Como se indica en la figura 33, el enlace de cuenta verificada nos indica que regresemos a la aplicación móvil e ingresemos a nuestra sesión, pues nuestra cuenta ha sido activada.. 30.

(48) Figura 33. Mensaje regresar a la app.. Además el adoptante podrá registrarse e iniciar automáticamente la sesión por medio de Facebook y Gmail como se muestra en la figura 34 y en la figura 35.. Figura 34. Iniciar sesión con Facebook.. Figura 35. Confirmar datos de inicio con Facebook en la aplicación.. Y por la cuenta de Gmail, como se muestra en la figura 36 y en la figura 37.. 31.

(49) Figura 36. Iniciar sesión con Gmail.. Figura 37. Confirmar datos de inicio con Gmail en la aplicación.. De igual forma si un adoptante intenta registrarse con el mismo usuario existente la aplicación móvil no lo permitirá informándole de un error y que lo corrija, como lo muestra la figura 38. Figura 38. Validación de datos.. Producto del Sprint: Iniciar Sesión. 32.

(50) Este módulo tiene como objetivo que la aplicación móvil permita al adoptante iniciar la sesión desde su dispositivo Android. Tiene el siguiente comportamiento: ·. Muestra la información básica del adoptante.. Para este comportamiento, se diseñó e implemento el módulo de inicio de sesión. En la figura 39 se ve el módulo de la aplicación móvil que se muestra al adoptante.. Figura 39. Iniciar sesión.. Al llenar los datos correctos se podrá ingresar al perfil del adoptante, como se muestra en la figura 40 y en la figura 41.. Figura 40. Datos inicio de sesión.. Figura 41. Visualizar datos del adoptante.. 33.

(51) Si el adoptante ingresa mal los datos, se desplegará el siguiente mensaje, como lo muestra la figura 42.. Figura 42. Validar sesión de usuario.. Otro comportamiento que cumple este sprint es el de restablecer la contraseña del adoptante, en la figura 43 y en la figura 44 se muestra su operación.. Figura 43. Restablecer contraseña adoptante.. Figura 44. Mensaje acción exitosa.. La figura 45 nos indica que ha sido enviado un correo a la cuenta con la cual se había unido a la aplicación móvil, el adoptante recibirá el correo.. 34.

(52) Figura 45. Email recibido restablecer contraseña.. Se nos desplegara una página donde nos solicitara poner la nueva contraseña, como la figura 46.. Figura 46. Ventana restablecer contraseña app móvil.. Y finalmente se nos informara que la contraseña ha sido cambiada con éxito, como lo muestra la figura 47.. Figura 47. Contraseña actualizada app móvil.. 35.

Referencias

Documento similar

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y