1 00:00:01,010 --> 00:00:14,609 Buenas tardes. Hoy, día 21 de mayo, a las 19 horas, estamos convocados a través de Jefatura del Departamento para la defensa del Módulo Profesional de Proyecto de Ciclo Formativo de Grado Superior de Desarrollo de Aplicaciones Web. 2 00:00:14,609 --> 00:00:22,730 Os informo de que esta defensa está siendo grabada y que esta grabación se usará en el entorno cerrado de EducaMadrid con fines educativos 3 00:00:22,730 --> 00:00:31,629 y sólo estará a disposición de los profesores evaluadores en el aula virtual para llevar a cabo la evaluación y calificación de la defensa del proyecto 4 00:00:31,629 --> 00:00:37,950 En el aula virtual de proyectos habéis sido informado de los criterios y rúbrica de calificación 5 00:00:37,950 --> 00:00:48,289 El orden de la presentación del proyecto es el siguiente, 15 minutos máximo para defender el proyecto y 5 minutos para preguntas por parte del tribunal. 6 00:00:49,189 --> 00:00:54,750 Dicho esto, vuestro tiempo de exposición comienza a partir de este momento. Adelante y mucha suerte. 7 00:00:56,369 --> 00:00:56,750 Gracias. 8 00:01:03,240 --> 00:01:15,840 Comparto pantalla. Confirmadme que estoy comprando pantalla. 9 00:01:15,939 --> 00:01:16,260 Sí, vemos. 10 00:01:16,260 --> 00:01:24,200 Super, bueno, buenas tardes, hoy vengo a presentar nuestro proyecto de fin de ciclo 11 00:01:24,200 --> 00:01:27,019 titulado reconocimiento facial para el control horario 12 00:01:27,019 --> 00:01:35,319 Esta presentación está dividida en 18 partes para explicar de forma clara nuestro proyecto 13 00:01:35,319 --> 00:01:43,060 Nuestro equipo de trabajo está conformado por David Martín Prado, Raquel Molina Serrano 14 00:01:43,060 --> 00:01:47,299 y mi persona Isis Torres Gómez, nuestra tutora Manuela López Mancilla 15 00:01:47,780 --> 00:01:59,469 Nuestra introducción. Nuestro proyecto surge con la reforma laboral del 2025, que obliga a todas las empresas en España a llevar un registro digital de la jornada laboral. 16 00:02:00,030 --> 00:02:07,989 Actualmente, entre el 72% y el 90% de los PINES, que son pequeñas empresas, aún usan fichajes en papel. 17 00:02:08,430 --> 00:02:13,789 Esto no solo genera errores y fraudes, sino que también posibles sanciones por no cumplir la normativa. 18 00:02:13,789 --> 00:02:29,229 Por eso, decidimos desarrollar una solución moderna, automática y segura, que es una aplicación web de control horario mediante reconocimiento facial que permita a las empresas cumplir de forma eficiente y fiable cumplir la ley. 19 00:02:31,840 --> 00:02:34,819 ¿En qué consiste nuestro proyecto y cuál es nuestra solución? 20 00:02:35,659 --> 00:02:44,419 La aplicación permite registrar la entrada y salida de los empleados mediante reconocimiento facial. 21 00:02:44,419 --> 00:02:54,199 Este sistema incluye tres interfaces, la interfaz de empleado, la interfaz de administración y la interfaz que está en la tablet 22 00:02:54,199 --> 00:02:55,199 ¿Cuál es la necesidad? 23 00:02:55,840 --> 00:03:04,139 Como ya dije anteriormente, muchas empresas pequeñas todavía hacen este fichaje de manera con papel 24 00:03:04,139 --> 00:03:11,240 Lo cual, usan los registros en papel, lo que implica errores y fraudes y pérdida de tiempo 25 00:03:11,240 --> 00:03:19,360 Por lo cual nosotros decidimos implementar esto porque es urgente adoptar sistemas automáticos y seguros y eficientes. 26 00:03:21,360 --> 00:03:22,780 ¿Por qué nuestra solución? 27 00:03:23,439 --> 00:03:26,000 Nuestra solución cumple con la normativa vigente. 28 00:03:26,900 --> 00:03:36,000 Integra fácilmente con sistemas existentes, ya que solamente necesitamos un dispositivo que cuente con navegador y cámara para poder hacer uso de este sistema. 29 00:03:36,819 --> 00:03:38,379 Reduce errores y ahorra tiempo. 30 00:03:38,379 --> 00:03:46,780 Nuestro sistema de reconocimiento facial tarda entre 10 y 15 segundos en reconocer el rostro 31 00:03:46,780 --> 00:03:50,240 Es segura, escalable, rápida y fácil de usar 32 00:03:50,240 --> 00:03:54,939 Y si una persona no quiere utilizar el reconocimiento facial, tenemos la opción de QR o PIN 33 00:03:54,939 --> 00:03:59,180 Fundamentos del proyecto 34 00:03:59,180 --> 00:04:01,620 Los objetivos generales 35 00:04:01,620 --> 00:04:07,000 En primer lugar, nuestra aplicación busca digitalizar completamente el registro horario 36 00:04:07,000 --> 00:04:12,900 Eliminando la información de papel y centrándola en una base de datos que sea más segura 37 00:04:12,900 --> 00:04:18,800 Para eso creamos el portal de empleado, donde cada trabajador puede consultar y exportar su fichaje 38 00:04:18,800 --> 00:04:23,000 Nuestra aplicación permite reducir costos operativos 39 00:04:23,000 --> 00:04:29,100 Ya que no necesitamos a una persona que esté en la entrada o llevando los datos de cada empleado 40 00:04:29,100 --> 00:04:37,019 sino que lo resuelve el portal de reconocimiento instalado en la entrada de la empresa con una tablet. 41 00:04:38,220 --> 00:04:42,339 El sistema permite ampliar el control de información de recursos humanos, 42 00:04:42,579 --> 00:04:47,279 ya que ellos tendrán en el portal de administración, podrán administrar toda la información, 43 00:04:47,560 --> 00:04:52,180 ofrecer estadísticas, ver la gestión de empleado, consultar datos, etc. 44 00:04:52,680 --> 00:05:00,779 Nuestros objetivos específicos a nivel técnico fueron muy claros. 45 00:05:01,180 --> 00:05:08,899 Necesitábamos un sistema de reconocimiento facial donde implementáramos en un sistema fiable los datos biométricos. 46 00:05:09,279 --> 00:05:28,959 El portal de empleado lo desarrollamos para que cada usuario pudiera ver su información y el portal de administración está creado con un CRUD restringido con roles para que el administrador pueda agregárselos a cualquier usuario. 47 00:05:28,959 --> 00:05:40,060 Nuestro servidor, nuestra aplicación está instalada en un servidor LAMP, la cual tiene Linux, Apache, MySQL y PHP. 48 00:05:40,600 --> 00:05:49,980 Nuestra base de datos diseñada en MySQL y usamos como gestor PHP MyAdmin. 49 00:05:50,879 --> 00:05:58,420 Como vale un añadido, nuestra aplicación garantiza la protección de datos porque los datos están cifrados. 50 00:05:58,959 --> 00:06:03,379 Todo se almacena fuera del espacio web y usamos tecnologías de código abierto. 51 00:06:04,259 --> 00:06:09,079 Como mencioné antes, nuestro fichaje tarda menos de 15 a 10 segundos. 52 00:06:12,160 --> 00:06:13,660 La metodología del desarrollo. 53 00:06:13,660 --> 00:06:20,600 Se ha seguido una metodología híbrida que combina enfoques tradicionales con metodologías ágiles como Scrum. 54 00:06:21,120 --> 00:06:23,379 Y este trabajo se dividió en varias fases. 55 00:06:23,920 --> 00:06:24,660 Nuestras fases fueron... 56 00:06:25,639 --> 00:06:27,040 Siguiente. 57 00:06:27,040 --> 00:06:36,110 Nuestras fases fueron análisis, diseño, implementación, integración y pruebas, despliegue y mantenimiento 58 00:06:36,110 --> 00:06:42,220 El funcionamiento de la aplicación es muy sencillo 59 00:06:42,220 --> 00:06:48,839 El reconocimiento facial empieza cuando el empleado se para frente a la tablet 60 00:06:48,839 --> 00:06:52,579 Inicia el reconocimiento facial y esta confirmará la identidad 61 00:06:52,579 --> 00:06:55,939 La tablet va a reconocer si es entrada o salida 62 00:06:59,089 --> 00:07:10,269 Una vez logueado, el empleado puede ir al portal de empleado donde verá su información, puede ver sus incidencias, resumen de actividades, sus últimos accesos y sus históricos de registro. 63 00:07:10,730 --> 00:07:29,459 El portal de administración es uno de los más importantes ya que es el cual que Recursos Humanos podrá usar para llevar control de sus empleados, ya que puede ver el control de la plantilla en el centro de trabajo, puede hacer la gestión de usuarios, gestión de empleados, exportación de registros, configuración de roles y ajustes. 64 00:07:30,839 --> 00:07:42,620 Todo esto está sincronizado, nuestra sincronización con Frontend y Backend fue hecha con PHP y Aja, ya que esto hace que nuestra aplicación sea muy fluida y se actualice en tiempo real. 65 00:07:43,040 --> 00:07:49,259 Las vistas y el acceso de la información desde el portal de empleado y el panel de administración son muy fluidas gracias a esto. 66 00:07:52,180 --> 00:07:58,560 Flujo típico de trabajo. Un día normal usando nuestra aplicación en el trabajo sería la siguiente. 67 00:07:58,560 --> 00:08:27,720 El empleado llega a la puerta del trabajo y estaría a la tabla. Realizaría su fichado, entrada, trabajaría su horario normal y luego volvería a ficharse a su salida. El empleado puede declarar incidencias. Si ve alguna en su portal de usuario, eso le llegaría al portal de administrador y en su informe mensual podría ver todas sus horas trabajadas y filtrarla mediante registro. 68 00:08:31,399 --> 00:08:37,799 Nuestra planificación y costos, estimamos horas estimadas 250 horas y costos total 9,700. 69 00:08:37,799 --> 00:08:43,379 En licencias no gastamos nada ya que hicimos uso de software libre. 70 00:08:44,000 --> 00:08:49,480 Para trabajar en equipo usamos herramientas como GitHub, Jira y Visual Studio Code. 71 00:08:50,419 --> 00:08:55,259 El panel de empleado y el panel de administración están incluidos en la planificación y costos. 72 00:08:58,700 --> 00:09:01,399 Y ahora los dejo con David que les hablará de los requisitos. 73 00:09:01,399 --> 00:09:09,159 Muchas gracias Isis. Continuando con la exposición de nuestro proyecto, vamos a explicar cómo está construido desde el punto de vista del diseño e implementación del mismo. 74 00:09:10,059 --> 00:09:16,559 Para lograr los objetivos que hemos anunciado, hemos desarrollado unos requisitos funcionales de los cuales hemos alcanzado los siguientes logros. 75 00:09:16,700 --> 00:09:23,960 La autentificación de usuarios, el control de asistencia automático, la gestión eficaz de los datos del sistema y la gestión de incidencias para los empleados. 76 00:09:23,960 --> 00:09:47,519 No solo nos hemos centrado en qué hace nuestra aplicación, sino en cómo lo hace. Para ello hemos establecido unos requisitos esenciales como son la seguridad con la encriptación y comunicaciones seguras, la disponibilidad para ser múltiples, la precisión y velocidad con un 99% de aciertos en menos de 10 segundos y gracias al sistema modular, la integración con otros sistemas y bases de datos. 77 00:09:47,519 --> 00:10:05,639 Para que toda esta funcionalidad sea posible, hemos establecido unos requisitos técnicos, como son las cámaras con una resolución mínima de 640 x 480 en los equipos de reconocimiento, un servidor web que puede estar alojado de forma local o en la nube y que debe de contar con PHP, Node.js y una base de datos. 78 00:10:06,179 --> 00:10:10,899 Para los clientes hay un navegador, o sea, necesitan un navegador moderno que soporte Javascript. 79 00:10:11,899 --> 00:10:27,480 El diseño de la estructura de datos ha sido fundamental en nuestro desarrollo, del cual hemos establecido las entidades necesarias, sus propiedades y sus relaciones. De allí hemos podido obtener las clases de las distintas clases y las tablas de los avances de datos. 80 00:10:27,480 --> 00:10:46,600 Como tablas principales tenemos la tabla de empleado que cuenta con datos del mismo empleado, la tabla de usuario que guarda los hashtags y contraseñas, la tabla de marcaje que guarda los registros de entradas y salidas, la tabla bio que guarda encriptados los datos biométricos de los empleados y la tabla root que guarda todos los privilegios de los mismos. 81 00:10:48,889 --> 00:11:12,470 Hemos modelado cuidadosamente los casos de uso de los distintos roles. El rol de conserje, que sirve para hacer el fichaje y registrar las entradas y salidas. El rol de empleado, que cuenta con su propio portal para poder revisar sus registros y declarar sus incidencias. Y el rol de administración, que realiza el cruce sobre empleados y usuarios, la generación de informes y el restablecimiento de contraseñas, entre otras funciones. 82 00:11:12,470 --> 00:11:33,509 La estructura lógica del proyecto se ha organizado de forma clara, utilizando para ello tecnologías y lenguajes probados. Por ejemplo, para el frontend se han usado HTML, Javascript y JS. Para la lógica del servidor se han empleado PHP y Javascript en Node.js. 83 00:11:33,509 --> 00:11:45,470 Para el sistema de gestión de base de datos se han usado MySQL usando el administrador PHP MyAdmin, una plataforma LAN para el servidor y herramientas como Composer, Visual Studio Code, Jira o GitHub. 84 00:11:46,950 --> 00:11:58,370 La estructura de carpetas del servidor se han organizado separando la presentación, la lógica y la estética. 85 00:11:58,370 --> 00:12:20,750 En la carpeta SRC se han guardado todas las clases principales, en la carpeta public toda la estructura de presentación de cada usuario, en la carpeta JS todo el código de JavaScript, en la carpeta CSS todas las hojas de estilo y en la carpeta lógica todo el código PHP que realiza la conexión con el cliente, la base de datos y la respuesta de AJAX. 86 00:12:20,750 --> 00:12:23,629 un pilar importante durante el desarrollo 87 00:12:23,629 --> 00:12:25,110 es el compromiso con la protección de datos 88 00:12:25,110 --> 00:12:27,870 nos hemos asegurado de cumplir con privacidad 89 00:12:27,870 --> 00:12:29,870 garantizando la seguridad y transparencia 90 00:12:29,870 --> 00:12:30,950 y minimizando los datos 91 00:12:30,950 --> 00:12:33,789 la exclusividad de no emplear los datos 92 00:12:33,789 --> 00:12:35,429 para otro fin que no sea el de la aplicación 93 00:12:35,429 --> 00:12:38,070 hemos ofrecido también el consentimiento 94 00:12:38,070 --> 00:12:39,409 explícito entre las partes para 95 00:12:39,409 --> 00:12:41,230 el uso de la aplicación 96 00:12:41,230 --> 00:12:43,769 y gracias a nuestra estructura 97 00:12:43,769 --> 00:12:45,529 modular podemos ofrecer 98 00:12:45,529 --> 00:12:47,549 alternativas de implementación para otros medios 99 00:12:47,549 --> 00:12:48,929 de reconocimiento distintos 100 00:12:48,929 --> 00:12:53,870 La colaboración en el control de versiones ha sido muy importante en nuestro proyecto 101 00:12:53,870 --> 00:12:59,990 Y usando GitHub como herramienta hemos podido tener el código actualizado entre todos los programadores 102 00:12:59,990 --> 00:13:03,669 Hemos podido compartir también documentos y diagramas 103 00:13:03,669 --> 00:13:08,230 Hemos podido trabajar en distintas ramas sin que eso afectase al flujo de trabajo 104 00:13:08,230 --> 00:13:11,809 Y durante todo el proceso hemos realizado más de 137 códigos 105 00:13:11,809 --> 00:13:18,450 La puesta en marcha en el servidor se ha realizado con una serie de pasos sistemáticos 106 00:13:18,450 --> 00:13:23,490 que es la instalación del servidor LAN, la configuración de Apache para que tuviese un servidor SSL 107 00:13:23,490 --> 00:13:28,830 y un proceso inverso para Node.js, la creación de carpetas donde pudiera alojar fuera del entorno web 108 00:13:28,830 --> 00:13:35,509 todos los datos comprometidos, hemos volcado todo el código desde GitHub de la aplicación, 109 00:13:36,129 --> 00:13:40,370 actualizado sus dependencias con Composer, creando la arquitectura de la base de datos 110 00:13:40,370 --> 00:13:48,409 y los datos básicos a través de PHP MyAdmin y ejecutando el servidor Node con el fichero server.js 111 00:13:48,409 --> 00:13:52,230 para que haga el reconocimiento facial. 112 00:13:53,409 --> 00:13:57,870 Para asegurar la calidad hemos seguido un riguroso proceso de pruebas. 113 00:13:58,470 --> 00:14:02,149 Usando PHP Unit hemos realizado pruebas unitarias de forma aislada 114 00:14:02,149 --> 00:14:06,149 de cada uno de los módulos de la aplicación y la interacción entre ellos. 115 00:14:07,389 --> 00:14:10,250 Además, hemos documentado las pruebas de casos de uso 116 00:14:10,250 --> 00:14:13,370 mediante plantillas en las que hemos establecido requisitos, pasos 117 00:14:13,370 --> 00:14:26,590 Y hemos comparado el resultado obtenido con el esperado. Y todo ello ha quedado perfectamente documentado. Os dejo ahora con Raquel que va a hacer un paseo por la aplicación. 118 00:14:26,590 --> 00:14:55,549 En la aplicación. Muchas gracias, David. A ver, para empezar, vamos a entrar en la aplicación con el usuario Admon, que es el usuario que tiene el perfil de conserje. 119 00:14:55,549 --> 00:15:18,470 Y podemos iniciar el reconocimiento facial. Autorizo la cámara y iniciamos el reconocimiento facial. Me identifica rápidamente, le digo que soy yo y ahora sí que vamos a entrar en la aplicación con mi usuario que tiene perfil tanto de empleada como de administradora de la aplicación. 120 00:15:18,470 --> 00:15:27,629 Estamos ahora en el portal de empleado, desde aquí podemos acceder a mi perfil, desde aquí puedo ver mis datos, mi horario, mi correo electrónico 121 00:15:27,629 --> 00:15:36,649 si tengo alguna incidencia pendiente o si tengo alguna resuelta, podemos ver mis actividades que desde aquí de un solo vistazo podemos ver todo el progreso de la jornada 122 00:15:36,649 --> 00:15:47,429 las horas que he trabajado hoy, durante la semana, durante el mes, el mes anterior, si he trabajado alguna hora extra y la bolsa de horas acumuladas que pudiera tener si fuera así 123 00:15:48,309 --> 00:15:56,309 Podemos acceder a los últimos accesos que he realizado, los últimos cinco accesos de fichajes de entrada y de salida y podemos filtrar registros. 124 00:15:56,309 --> 00:16:10,309 Por ejemplo, del mes actual se puede filtrar, veríamos todos y aquí accederíamos a la tabla con el detalle de todos estos registros que se podrían exportar a un fichero CSV, a un fichero Excel o a un fichero PDF para imprimirlo. 125 00:16:10,309 --> 00:16:16,450 imprimirlo. Podemos también cambiar la contraseña y estas son las opciones que tiene cualquier 126 00:16:16,450 --> 00:16:21,710 empleado de la empresa. Como también tengo perfil de administradora, vamos a entrar en el panel de 127 00:16:21,710 --> 00:16:27,190 administración. Desde aquí podemos entrar en la ventana principal, desde donde tendríamos acceso 128 00:16:27,190 --> 00:16:32,149 a todos los empleados que hay en la empresa en este momento. Los que todavía no han entrado, 129 00:16:32,850 --> 00:16:37,370 los que ya están trabajando porque han marcado un fichaje de entrada y los que hubieran marcado 130 00:16:37,370 --> 00:16:42,570 un fichaje de salida, que no es el caso. También podemos ver todas las incidencias que quedan pendientes de resolver 131 00:16:42,570 --> 00:16:53,250 o las que ya se han resuelto. Desde la pestaña de admin podemos gestionar los empleados, tanto dar de alta 132 00:16:53,250 --> 00:16:59,509 a nuevos empleados como modificarlos ya existentes. Estas modificaciones consisten, aparte de darlos de baja, 133 00:17:00,149 --> 00:17:06,809 en cambiar cualquier campo, recalcular la bolsa de horas extras si se hubiera recalculado desde la última vez 134 00:17:06,809 --> 00:17:11,809 que se entró y los datos biométricos. De esta ventana podríamos ver todos los datos 135 00:17:11,809 --> 00:17:16,829 biométricos que tuvieras empleado, podríamos eliminar registros antiguos o dar de alta 136 00:17:16,829 --> 00:17:22,789 nuevos datos biométricos guardando el rostro aquí y se añadiría un nuevo dato biométrico. 137 00:17:23,950 --> 00:17:31,890 También podemos acceder a la pestaña de mantenimiento de los usuarios. Vemos los distintos usuarios, 138 00:17:31,890 --> 00:17:41,250 Podemos dar de alta nuevos usuarios, podríamos cambiar algún dato o generar una nueva password que se enviará automáticamente al correo del usuario. 139 00:17:42,910 --> 00:17:53,529 Desde los marcajes podemos filtrar marcajes, pues desde las fechas que queramos o por empleado se filtrarían, accederíamos a la tabla que también tiene posibilidad de exportarse. 140 00:17:53,529 --> 00:18:03,269 Y por último tendríamos acceso a las transacciones que sería como un registro histórico de todas las operaciones realizadas dentro de la aplicación. 141 00:18:03,269 --> 00:18:29,049 Luego desde la pestaña de configuración podemos acceder a los roles, que es un mantenimiento de los distintos roles que hay y sus permisos, pues aquí vemos por ejemplo el administrador y todos los permisos que tiene, se podrían añadir otros o eliminar algunos o el perfil del conserje o cualquier otro usuario tendría aquí sus roles, que esto lo veríamos y lo podríamos mantener desde usuarios y roles. 142 00:18:29,049 --> 00:18:42,470 Aquí vemos cómo cada usuario tiene asignados los roles, por ejemplo, en mi caso, que mi usuario tiene asignado los roles de administrador y de empleada y tendría disponible que esto se podría modificar y añadir o quitar. 143 00:18:43,490 --> 00:18:51,130 Y por último tenemos los ajustes. Desde aquí podríamos parametrizar cualquier ajuste de configuración de la aplicación. 144 00:18:51,829 --> 00:18:57,130 Hemos añadido solamente uno, que es el número máximo de intentos de acceso, pero se podrían añadir los que se quisiera. 145 00:18:57,130 --> 00:19:14,630 Y cerramos la sesión porque ya hemos hecho un recorrido por toda la aplicación y volveríamos a la pestaña de inicio. Por último, como he fichado entrada, voy a fichar la salida. Me identifico y nada, pues que tengamos un buen día. 146 00:19:14,630 --> 00:19:26,849 Para terminar, como conclusiones del proyecto, hemos obtenido que la implementación se ha realizado sin ningún problema con las herramientas elegidas. 147 00:19:27,750 --> 00:19:32,569 Finalmente, hemos desarrollado más funcionalidades de las que planteamos al inicio del proyecto. 148 00:19:33,430 --> 00:19:42,589 Hemos dividido el trabajo en tres partes, al ser tres personas, por un lado el análisis y la documentación, por otro lado el estilo y por otro lado el desarrollo, la implementación y las pruebas. 149 00:19:42,589 --> 00:20:04,490 Ha sido importante marcarnos hitos para conseguir coordinarnos y llevar el proyecto a su finalización en fecha y concluimos que el proyecto desarrollado es útil y pertinente para cualquier empresa que lo quisiera implantar, cumple con los requisitos legislativos, tanto a nivel de normativa laboral como de ley orgánica de protección de datos y es eficaz ya que logra los resultados que planificamos. 150 00:20:04,490 --> 00:20:31,309 A futuro planteamos la posibilidad de implementar otros datos biométricos, como podría ser la huella digital. Se podrían estudiar nuevas vías de almacenamiento para estos datos sensibles. Otra aplicación también podría ser para los fichajes en teletrabajo mediante geolocalización. Y bueno, pues hemos pensado en estas vías futuras, pero nuestro proyecto puede seguir creciendo. El techo lo pondrá la imaginación. Y muchas gracias. 151 00:20:31,309 --> 00:20:40,269 Perfecto. Bien, voy a pasar a hacer algunas preguntas y la primera va a ser para ti, Raquel. 152 00:20:42,049 --> 00:20:47,849 Una de las virtudes que estáis diciendo de la aplicación, según he visto en la documentación, 153 00:20:48,569 --> 00:20:56,849 es que la aplicación se puede utilizar desde la tablet, cualquier móvil, un ordenador, es muy versátil. 154 00:20:56,849 --> 00:21:01,910 Pregunta, ¿cómo se puede garantizar que el empleado está dentro del centro de trabajo? 155 00:21:03,750 --> 00:21:11,170 Si ha fichado, o sea, si ya tiene un fichaje de entrada, sabemos que está dentro porque no ha fichado salida 156 00:21:11,170 --> 00:21:17,109 Sabemos que desde su móvil, estando en el bar, puede haber dicho, o estando de vacaciones, puede haber dicho que está dentro 157 00:21:17,890 --> 00:21:24,829 No, vamos a ver, tal y como nosotros lo hemos planteado, la idea es que hay una tablet en la entrada de la empresa 158 00:21:24,829 --> 00:21:43,650 Por eso está como vía futura lo de la geolocalización. Ahora mismo, tal y como está desarrollado el proyecto, sería para que hubiera una tablet en la entrada del centro de trabajo y ahí cualquier empleado que entrara, él no ficha con su usuario. 159 00:21:43,650 --> 00:22:05,910 O sea, porque el usuario que abre la tablet es el que tiene perfil de conserje. Entonces, esa aplicación va a estar abierta y todos los empleados que entren van a fichar o bien entrada o bien salida. La aplicación lo distingue porque si no has entrado todavía, estás fichando una entrada y si tú ya tienes marcado un fichaje de entrada, lo que te está marcando va a ser un fichaje de salida. 160 00:22:06,470 --> 00:22:08,509 No sé si respondo con eso a tu pregunta. 161 00:22:09,369 --> 00:22:18,690 Perfecto. Ahora solamente está para que se fiche en empresa. O sea, que esa versatilidad de móvil o desde cualquier sitio no está contemplada ahora mismo. 162 00:22:18,849 --> 00:22:26,450 No, porque tendría que incluirse la geolocalización, por eso mismo que dices, para que no haya un fraude y que no pues eso, que estés fichando y que estés en el bar. 163 00:22:26,450 --> 00:22:43,490 Perfecto. Isis, esta pregunta es para ti. Según he visto y según habéis dicho también en la presentación, estáis utilizando una metodología que es híbrida entre una metodología clásica y una metodología ágil. 164 00:22:43,490 --> 00:22:52,930 He visto que habéis nombrado alguna vez Scrum, pero en la bibliografía tenéis puesto métrica V3 165 00:22:52,930 --> 00:22:58,529 ¿Qué características de una metodología y otra habéis aplicado en el proyecto? 166 00:23:01,529 --> 00:23:06,210 Pues yo creo que más que todo híbrida porque nos dividimos todo en fases 167 00:23:06,210 --> 00:23:11,289 y fuimos como poco a poco viendo a ver qué se podía mejorar 168 00:23:11,289 --> 00:23:14,930 entre error y qué podíamos ir mejorando 169 00:23:14,930 --> 00:23:17,670 porque en realidad la aplicación comenzó siendo muy pequeña 170 00:23:17,670 --> 00:23:22,210 y luego fuimos como viendo qué era lo que podíamos continuar y agregar 171 00:23:22,210 --> 00:23:28,970 y entonces para mí, por lo que yo creo, creo que fue más híbrida 172 00:23:28,970 --> 00:23:32,009 porque fuimos como poco a poco viendo qué era lo que se podía hacer 173 00:23:32,009 --> 00:23:36,309 cómo se podía mejorar e implementando eso poco a poco. 174 00:23:37,109 --> 00:23:45,809 O sea, que empezasteis con una metodología clásica donde se tenía que, según las metodologías clásicas y según, por ejemplo, Métrica V3, 175 00:23:45,950 --> 00:23:48,710 que es la que utiliza la Administración Pública Española, 176 00:23:49,509 --> 00:23:55,589 utilizáis una clásica para definir exactamente todas las cosas que vais a hacer. 177 00:23:55,589 --> 00:23:59,890 no pasáis de una fase a otra 178 00:23:59,890 --> 00:24:01,890 hasta que nace todo documentado 179 00:24:01,890 --> 00:24:03,509 y todo realizado 180 00:24:03,509 --> 00:24:05,829 y los desarrollos se hacen 181 00:24:05,829 --> 00:24:07,529 después de la fase de diseño 182 00:24:07,529 --> 00:24:08,910 y no hacéis ninguna prueba 183 00:24:08,910 --> 00:24:11,549 hasta que no esté hecho todo el desarrollo 184 00:24:11,549 --> 00:24:13,569 pero de repente os dais cuenta 185 00:24:13,569 --> 00:24:15,170 de que vais variando las cosas 186 00:24:15,170 --> 00:24:16,150 y pasáis a una ágil 187 00:24:16,150 --> 00:24:22,960 Pues las pruebas sí las hicimos al final 188 00:24:22,960 --> 00:24:23,839 luego de todo 189 00:24:23,839 --> 00:24:25,460 Vale 190 00:24:25,460 --> 00:24:27,960 David, esta pregunta es para ti 191 00:24:27,960 --> 00:24:31,420 ¿Crees que el proyecto tal como está ahora 192 00:24:31,420 --> 00:24:33,579 se podría poner en producción y comercializar? 193 00:24:35,789 --> 00:24:38,589 Bueno, ahora mismo tal cual está el proyecto 194 00:24:38,589 --> 00:24:41,029 necesitaría para entrar en producción 195 00:24:41,029 --> 00:24:44,250 unos requisitos que pudiese dar el cliente 196 00:24:44,250 --> 00:24:46,809 más fieles a su entorno laboral 197 00:24:46,809 --> 00:24:50,269 aunque es funcional y todo lo que hemos diseñado 198 00:24:50,269 --> 00:24:53,450 es correcto, lo realiza y no tiene fallos 199 00:24:53,450 --> 00:24:56,009 en ese sentido, sí que es cierto que 200 00:24:56,009 --> 00:25:22,490 Porque al no haber un cliente real que te especifique las necesidades que él tiene, sería difícil que pudiese encajar con una empresa. Si la empresa, por ejemplo, necesita que no tenga una base de datos y requiere que pueda añadir, por ejemplo, vacaciones de los empleados o establecer turnos, son implementaciones que no están a la misma y que eso, para que pudiese encajar en una venta real, tendría que añadirse. 201 00:25:22,490 --> 00:25:31,710 Pero si una persona no tiene nada y le encaja tal como está puesta, ¿estaría para comercializar? 202 00:25:32,269 --> 00:25:32,630 Sí 203 00:25:32,630 --> 00:25:40,869 ¿No necesitaría ninguna prueba, ningún repaso, ningún decir, ups, esto no nos va a funcionar? 204 00:25:40,869 --> 00:25:47,309 esto? Siempre las instalaciones llevan su miga, siempre hay que probar todo en el entorno 205 00:25:47,309 --> 00:25:55,210 cliente, pero hemos testeado una gran cantidad de cosas de él, no solamente de las clases 206 00:25:55,210 --> 00:26:01,349 y del código, sino del propio servidor, de la funcionalidad, detectado hasta el día 207 00:26:01,349 --> 00:26:06,849 de ayer un sinfín de cosas que hemos ido puliendo, como por ejemplo el estado del servidor, 208 00:26:06,849 --> 00:26:13,210 la reposación de node, depuración de ese estilo, lo hemos realizado muchísimas. 209 00:26:14,269 --> 00:26:18,750 Creo que se pueden realizar muchas más, pero bueno, es hasta donde se puede llegar. 210 00:26:19,450 --> 00:26:25,069 Perfecto. Ya sabéis que en una planificación de un proyecto, o sea, el ciclo de desarrollo de un proyecto, 211 00:26:25,250 --> 00:26:31,910 tiene una serie de fases. Las fases están definidas como una toma de requisitos, 212 00:26:31,910 --> 00:26:41,450 un análisis de esos requisitos, una planificación, un estudio de viabilidad, como habéis puesto, el diseño, etcétera, etcétera. 213 00:26:42,470 --> 00:26:48,589 Y que después, según cómo se lleven a cabo esas fases, pues es cuando se aplica una metodología. 214 00:26:49,490 --> 00:26:55,789 Entonces, una de las cosas para planificar bien un proyecto es el diagrama de Gantt, 215 00:26:55,789 --> 00:27:05,890 ¿Dónde habéis reflejado las tareas y por lo menos que hay dos personas que las han llevado a cabo? Porque de una persona no habéis metido datos. 216 00:27:05,890 --> 00:27:24,789 No, bueno, ahí Manuela es un problema de Jira. En Jira estableces una persona que se encarga de, como el manager de esas tareas, de ese grupo de tareas, las intentamos juntar todas en grupos para poder distinguir qué fase era. 217 00:27:24,789 --> 00:27:46,930 No te preocupes David, que la pregunta viene ahora. Habéis indicado que habéis establecido una serie de hitos para poder ir avanzando. Esos hitos no los habéis dejado reflejados en el diagrama de Gantt por algún motivo y habéis cumplido todo el diagrama de Gantt con las tareas que habéis puesto. 218 00:27:46,930 --> 00:28:03,930 no habéis tenido que replanificar nada, habéis mantenido la secuencia de las cosas, es decir, el diagrama de Gantt refleja la realidad o una primera iniciativa de decir vamos a hacer el diagrama de Gantt, lo vamos a poner así, pero luego no se ha ido actualizando. 219 00:28:03,930 --> 00:28:06,250 en ese caso 220 00:28:06,250 --> 00:28:08,769 eso es, el diagrama de GAN 221 00:28:08,769 --> 00:28:11,009 ha sido haciendo según íbamos 222 00:28:11,009 --> 00:28:12,789 acomodando las tareas, es decir 223 00:28:12,789 --> 00:28:15,049 desde un primer momento se establecieron 224 00:28:15,049 --> 00:28:16,890 unas pautas o unas tareas que había que realizar 225 00:28:16,890 --> 00:28:19,170 pero los tiempos no eran realistas 226 00:28:19,170 --> 00:28:21,069 no conocíamos realmente el tiempo que nos 227 00:28:21,069 --> 00:28:23,009 llevaría, según hemos ido 228 00:28:23,009 --> 00:28:24,950 avanzando y cada uno se ha ido encargando de las 229 00:28:24,950 --> 00:28:26,450 tareas que nos íbamos repartiendo 230 00:28:26,450 --> 00:28:28,710 hemos ido modificando esa 231 00:28:28,710 --> 00:28:30,869 esa línea, o sea que habéis modificado 232 00:28:30,869 --> 00:28:32,710 el diagrama de GAN con lo cual 233 00:28:32,710 --> 00:28:38,670 el diagrama de Gansi, el jefe de proyecto, que no sé si lo habéis ido compartiendo la cosa, 234 00:28:39,210 --> 00:28:42,009 para él siempre iba bien el diagrama porque siempre se iba cumpliendo. 235 00:28:43,369 --> 00:28:48,369 Entonces, ¿no ha habido una replanificación de poner algún punto en rojo, no se ha cumplido? 236 00:28:49,890 --> 00:28:55,490 Sí, sí ha habido tareas que iban caducando, lo que pasa que luego se fueron replanificando 237 00:28:55,490 --> 00:28:59,269 y ya fue cuando se fueron cumpliendo, pues ahí es donde aparecía. 238 00:28:59,809 --> 00:29:12,849 También que lo habíamos hecho en una aplicación diferente y como era gratuita hubo muchas cosas que no nos dejó hacer, entonces tuvimos que cambiar todo como a mitad del proyecto, todo lo que ya teníamos hecho, ponerlo ahí, entonces como que no muestralo de verdad. 239 00:29:13,670 --> 00:29:23,150 Vale, perfecto. Y por último pregunta que quería hacer, bueno, un par de ellas. ¿Qué pasa si un empleado no ficha o bien a la entrada o bien a la salida? 240 00:29:23,150 --> 00:29:26,869 Vale, si el empleado no ficha 241 00:29:26,869 --> 00:29:29,150 a las salidas 242 00:29:29,150 --> 00:29:30,509 que si no ha fichado en la entrada 243 00:29:30,509 --> 00:29:32,789 cuando vaya a fichar a la salida le va a decir que acaba de ir 244 00:29:32,789 --> 00:29:35,210 No, me refiero a si alguno de los fichajes 245 00:29:35,210 --> 00:29:36,430 no los hace, es decir 246 00:29:36,430 --> 00:29:38,509 conseje 247 00:29:38,509 --> 00:29:39,930 para otro sitio 248 00:29:39,930 --> 00:29:42,009 y pasa de largo 249 00:29:42,009 --> 00:29:44,509 o está dentro y sale por otra puerta 250 00:29:44,509 --> 00:29:47,049 Claro, ahí él cuando realice el fichaje 251 00:29:47,049 --> 00:29:49,410 al día siguiente, porque ha pasado de largo y no lo ha realizado 252 00:29:49,410 --> 00:29:50,910 le va a fichar la salida 253 00:29:50,910 --> 00:29:52,630 le va a decir que ha salido 254 00:29:52,630 --> 00:29:54,390 oye, que ha estado trabajando 12 horas. 255 00:29:54,990 --> 00:29:56,710 Y le contabilizaría todas las horas, ¿no? 256 00:29:56,890 --> 00:29:57,470 Eso es. 257 00:29:57,690 --> 00:30:03,470 Entonces, ahí que en la tabla donde se han enseñado los registros, Raquel, del empleado, 258 00:30:03,470 --> 00:30:06,930 donde él ve no los últimos registros, sino los registros por fechas, 259 00:30:07,769 --> 00:30:12,509 si él hace clic en cualquiera de esos registros, puede revisar las fotos de ese registro 260 00:30:12,509 --> 00:30:20,829 y además puede solicitar una incidencia, especifica qué ha pasado y eso llega a la gestión de incidencias. 261 00:30:20,829 --> 00:30:44,430 Cuando tú vas a la gestión de incidencias le puedes cambiar la fecha hora de la entrada que ha tenido el empleado y de esa manera corregirlo. Yo creo que tenía que tener muchos más medios para poder modificar. O sea, no nos hemos dado al administrador los medios suficientes para administrar la base de datos y acomodarlo como lo podrías hacer directamente con la base de datos. 262 00:30:44,950 --> 00:30:51,049 Pero claro, queríamos simplificarlo y que no tuviesen tanto poder a la hora de gestionar las entradas y salidas de los empleados. 263 00:30:52,589 --> 00:31:02,710 Llegó un punto en que nos hicimos muchas preguntas de qué podría ser esto, qué pasa si hace esto, qué pasa si se enferma, qué pasa si se fractura una pierna y lo sacan en una camilla y no le pueden poner la cara. 264 00:31:03,509 --> 00:31:09,369 Pero en mi empresa, que al final es lo que yo conozco, también se hace así. O sea, pasa lo mismo. 265 00:31:09,369 --> 00:31:16,069 O sea, si un día no ficho salida, cuando entro al día siguiente, pues es como si no hubiera salido y tengo que marcar una incidencia. 266 00:31:16,490 --> 00:31:34,450 Vale, perfecto. Y por último, y que seáis breves para no irnos mucho de tiempo, cada uno que me vayáis diciendo qué tal la experiencia de este trabajo en grupo, qué aspectos positivos y negativos habéis encontrado y si volveríais a repetir un trabajo en grupo. 267 00:31:34,450 --> 00:31:44,390 y si estamos empezamos a ver empezamos por díaz bueno yo estoy súper feliz la verdad porque 268 00:31:44,390 --> 00:31:49,450 obviamente david y raquel tenía mucha más experiencia que yo esta es mi primera vez 269 00:31:49,450 --> 00:31:55,269 haciendo un proyecto en equipo como de verdad real algo así y estoy súper feliz de que me 270 00:31:55,269 --> 00:32:00,789 tocaron ellos dos porque aprendí demasiado todo lo que david raquel tienen una paciencia infinita 271 00:32:00,789 --> 00:32:08,029 para explicarme todas mis preguntas y yo creo que tres veces más, cinco, haría el proyecto con ellos. 272 00:32:08,029 --> 00:32:15,049 Al principio mi proyecto era diferente y la idea fue de David, pero empezó como algo muy pequeño 273 00:32:15,049 --> 00:32:19,289 y se fue agrandando entre las ideas de los tres y creo que terminó muy bien. 274 00:32:20,230 --> 00:32:21,349 Perfecto. Raquel. 275 00:32:22,809 --> 00:32:26,069 Yo para mí la experiencia ha sido muy buena. 276 00:32:26,069 --> 00:32:29,549 siempre trabajar en grupo es complicado 277 00:32:29,549 --> 00:32:32,710 porque no todo el mundo llevamos los mismos tiempos 278 00:32:32,710 --> 00:32:36,109 y además porque tenemos otras asignaturas 279 00:32:36,109 --> 00:32:39,269 y trabajo, etcétera, porque somos adultos 280 00:32:39,269 --> 00:32:41,069 y tenemos que compaginar muchas cosas 281 00:32:41,069 --> 00:32:43,990 pero la experiencia en general ha sido muy buena 282 00:32:43,990 --> 00:32:46,710 yo también he aprendido mucho, David es un crack 283 00:32:46,710 --> 00:32:49,549 he aprendido muchísimo de él 284 00:32:49,549 --> 00:32:54,029 y bueno, me hubiera gustado llegar más allá 285 00:32:54,029 --> 00:32:56,029 pero a David es difícil seguirle 286 00:32:56,029 --> 00:33:13,789 Porque lo tiene todo en la cabeza, impresionante. Y bueno, el coordinarnos al final, pues, que ya con el agobio del tiempo y todo eso, pues, no hemos perdido los nervios en ningún momento y ha sido muy satisfactorio. Repetiría. 287 00:33:14,470 --> 00:33:15,349 Muy bien, David. 288 00:33:16,029 --> 00:33:27,630 Bueno, yo sabía desde el principio que hacer el proyecto yo solo era el camino más fácil, porque te marcaban los tiempos, no discutías, no tenías que aprender a organizarte. 289 00:33:28,250 --> 00:33:39,769 Pero realmente el reto era el saber que eras capaz de trabajar en equipo y tuve la suerte de ir con ellas, que hacemos una piña maravillosa, que hemos sabido trabajar, compaginar. 290 00:33:39,769 --> 00:33:42,990 yo he aprendido mucho de cómo 291 00:33:42,990 --> 00:33:45,470 hablar, cómo organizarnos 292 00:33:45,470 --> 00:33:47,289 cómo hacerte entender 293 00:33:47,289 --> 00:33:48,730 y sobre todo cómo 294 00:33:48,730 --> 00:33:50,910 unir las ideas de unos y de otros 295 00:33:50,910 --> 00:33:53,130 que eso parece fácil pero cuesta 296 00:33:53,130 --> 00:33:55,210 y vamos, desde luego 297 00:33:55,210 --> 00:33:57,029 la experiencia ha sido súper positiva 298 00:33:57,029 --> 00:33:59,150 o sea, me llevo una gran 299 00:33:59,150 --> 00:34:01,269 experiencia de todo esto y por supuesto 300 00:34:01,269 --> 00:34:02,990 que repetiría. Muy bien 301 00:34:02,990 --> 00:34:05,250 muchas gracias chicos, pues aquí 302 00:34:05,250 --> 00:34:07,170 finaliza la defensa de vuestro 303 00:34:07,170 --> 00:34:09,250 proyecto, ha estado muy bien 304 00:34:09,250 --> 00:34:10,110 Uff