Implementación de una app móvil para realizar deporte en casa - Memoria
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
Implementación de una app móvil para realizar deporte en casa Memoria FACULTAD DE INFORMÁTICA DE BARCELONA - Q1 Curso 2020/2021 Especialización en Ingeniería del Software Autor: Marc Obiols Rubio Directora: María José Casañ Guerrero Fecha: 22/01/2021
Resumen Este proyecto consiste en diseñar y desarrollar una aplicación móvil que permita a los usuarios planificar, controlar y gestionar su actividad física desde su casa. La App contará con funcionalidades que posibilitaran al usuario el seguimiento y evolución de su estado físico. Por otro lado, el usuario podrá hacer un seguimiento de su alimentación, así como posibles cambios en ella a través de varias herramientas. En primera instancia se define la problemática y se detallan los objetivos y requisitos. Posteriormente, se elaboran los informes del alcance, planificación temporal, presupuesto económico y sostenibilidad del proyecto. Finalmente, en las etapas de diseño, arquitectura e implementación se desarrolla la aplicación, se especifican los detalles técnicos y las decisiones tomadas en cada iteración. Resum Aquest projecte consisteix a dissenyar i desenvolupar una aplicació mòbil que permeti als usuaris planificar, controlar i gestionar la seva activitat física des de casa. L'App comptarà amb funcionalitats que possibilitin a l'usuari el seguiment i evolució del seu estat físic. D'altra banda, l’usuari podrà fer un seguiment de la seva alimentació, així com possibles canvis en ella a través de vàries eines. En primera instància es defineix la problemàtica i es detallen els objectius i requisits. Posteriorment, s'elaboren els informes de l'abast, planificació temporal, pressupost econòmic i sostenibilitat del projecte. Finalment, en les etapes de disseny, arquitectura i implementació es desenvolupa l'aplicació, s'especifiquen els detalls tècnics i les decisions preses en cada iteració.
Abstract This project consists of designing and developing a mobile application that allows users to plan, control and manage their physical activity from home. The App will have functionalities that will enable the user to monitor and evolve their physical condition. On the other hand, the user will be able to keep track of their feeding, as well as possible changes in it through various tools. In the first instance, the problem is defined and the objectives and requirements are detailed. Subsequently, reports on the scope, time planning, economic budget and sustainability of the project are prepared. Finally, in the design, architecture and implementation stages, the application is developed, the technical details and the decisions made in each iteration are specified.
Índice de contenido 1 Contextualización .................................................................................................. 10 1.1 Introducción....................................................................................................... 10 1.2 Definición de conceptos .................................................................................... 10 1.2.1 Actividad física ............................................................................................ 10 1.2.2 Dieta equilibrada ......................................................................................... 11 1.2.3 Indicadores de la salud ............................................................................... 12 1.3 Identificación del problema ................................................................................ 14 1.4 Actores implicados ............................................................................................ 16 2 Justificación ........................................................................................................... 17 2.1 Soluciones existentes ........................................................................................ 17 2.2 Justificación de la elección ................................................................................ 19 3 Alcance ................................................................................................................... 20 3.1 Objetivos ........................................................................................................... 20 3.2 Requisitos no funcionales .................................................................................. 21 3.3 Riesgos y obstáculos......................................................................................... 22 4 Metodología............................................................................................................ 23 4.1 Herramientas de seguimiento ............................................................................ 23 5 Planificación proyecto ........................................................................................... 25 5.1 Definición tareas................................................................................................ 25 5.1.1 Gestión del proyecto ................................................................................... 26 5.1.2 Iteración 1 ................................................................................................... 26 5.1.3 Iteración 2 ................................................................................................... 27 5.1.4 Iteración 3 ................................................................................................... 29 5.1.5 Documentación final ................................................................................... 30 5.2 Resumen tareas ................................................................................................ 31 6 Estimaciones y Diagrama de Gantt ..................................................................... 32 7 Gestión del riesgo: planes alternativos y obstáculos ......................................... 34 8 Presupuesto ........................................................................................................... 35 8.1 Identificación de costes ..................................................................................... 35 8.1.1 Costes personal .......................................................................................... 35 8.1.2 Recursos materiales ................................................................................... 37 8.1.3 Contingencias ............................................................................................. 37
8.1.4 Imprevistos ................................................................................................. 38 8.1.5 Presupuesto final ........................................................................................ 38 8.2 Control de gestión ............................................................................................. 38 9 Sostenibilidad ........................................................................................................ 40 9.1 Autoevaluación .................................................................................................. 40 9.2 Dimensión económica ....................................................................................... 40 9.3 Dimensión ambiental ......................................................................................... 41 9.4 Dimensión social ............................................................................................... 41 10 Definición requisitos ........................................................................................... 43 10.1 Proceso de adquisición ................................................................................... 43 10.2 Requisitos funcionales..................................................................................... 44 10.2.1 Gestión de usuario .................................................................................... 44 10.2.2 Gestión Rutinas ........................................................................................ 45 10.2.3 Gestión Alimentación ................................................................................ 46 10.2.4 Gestión dietas ........................................................................................... 47 10.2.5 Gestión ejercicios...................................................................................... 47 10.3 Requisitos no funcionales ................................................................................ 48 11 Arquitectura y diseño del sistema ...................................................................... 50 11.1 Componentes del sistema ............................................................................... 50 11.2 Patrones utilizados .......................................................................................... 52 11.2.1 Modelo Vista Controlador.......................................................................... 52 11.2.2 Data transfer object (DTO) ........................................................................ 53 11.2.3 Singleton ................................................................................................... 53 11.2.4 Adaptador ................................................................................................. 53 11.2.5 ViewHolder ............................................................................................... 54 11.3 Diseño BackEnd .............................................................................................. 55 11.4 Esquema base de datos .................................................................................. 56 11.5 Interfaz gráfica................................................................................................. 58 11.5.1 Pantallas de la aplicación .......................................................................... 58 11.5.2 Popups ..................................................................................................... 62 12 Implementación.................................................................................................... 64 12.1 Tecnologías utilizadas ..................................................................................... 64 12.2 Desarrollo ........................................................................................................ 66 12.2.1 Sprint 1 ..................................................................................................... 66 12.2.2 Sprint 2 ..................................................................................................... 68 12.2.3 Sprint 3 ..................................................................................................... 70
13 Testing .................................................................................................................. 71 13.1 BackEnd .......................................................................................................... 71 13.2 FrontEnd ......................................................................................................... 73 14 Planificación final ................................................................................................ 75 15 Conclusiones ....................................................................................................... 77 15.1 Consolidación competencias técnicas ............................................................. 78 15.2 Trabajo futuro .................................................................................................. 80 16 Referencias .......................................................................................................... 81 Índice figuras Figura 1: Cálculo del TMB .......................................................................................... 13 Figura 2: Actividad física mujeres y hombres .............................................................. 14 Figura 3: Actividad física mujeres ............................................................................... 15 Figura 4: Actividad física hombres .............................................................................. 15 Figura 5: Captura pantalla Sworkit entrenador ............................................................ 18 Figura 6: Captura pantalla Lifesum ............................................................................. 18 Figura 7: Diagrama Gantt ........................................................................................... 33 Figura 8: Disponibilidad Heroku .................................................................................. 49 Figura 9: componentes del sistema ............................................................................ 50 Figura 10: Diagrama del patrón MVC.......................................................................... 52 Figura 11: Esquema base de datos ............................................................................ 56 Figura 12: Pantalla carga ............................................................................................ 58 Figura 13: Iniciar sesión .............................................................................................. 58 Figura 14: Registrarse ................................................................................................ 58 Figura 15: Menú principal .......................................................................................... 59 Figura 16: Datos usuario ............................................................................................ 59 Figura 17: Ejercicios .................................................................................................. 59 Figura 18: Información ejercicio ................................................................................. 59 Figura 19: Rutinas usuario ......................................................................................... 59 Figura 20: Rutinas Predeterminadas........................................................................... 59
Figura 21: Rutinas de otros usuarios .......................................................................... 60 Figura 22: Consultar ejercicios Rutina externa ............................................................ 60 Figura 23: Buscador alimentos ................................................................................... 60 Figura 24: Historial de alimentación ............................................................................ 60 Figura 25: Alimentos consumidos ............................................................................... 60 Figura 26: Dieta .......................................................................................................... 60 Figura 27: Consultar rutina propia ............................................................................... 61 Figura 28: Ejecución rutina ......................................................................................... 61 Figura 29: Alimentación actual .................................................................................... 61 Figura 30: Progreso usuario........................................................................................ 61 Figura 31: Información usuario ................................................................................... 61 Figura 32: Dietas ........................................................................................................ 61 Figura 33: Modificar datos usuario .............................................................................. 62 Figura 34: Consultar/añadir datos alimento................................................................. 62 Figura 35: Eliminar rutina…….. ................................................................................... 62 Figura 36: Eliminar alimento…. ................................................................................... 62 Figura 37: Filtrar ejercicios…… ................................................................................... 62 Figura 38: Gráfico de alimentación consumida ........................................................... 62 Figura 39: Filtrar rutinas externas……. ....................................................................... 63 Figura 40: Modificar ejercicio de rutina ....................................................................... 63 Figura 41: Añadir ejercicio a rutina……… ................................................................... 63 Figura 42: Crear/modificar rutina………. . .................................................................... 63 Figura 43: Emuladores utilizados en las pruebas ........................................................ 73
Índice tablas Tabla 1: planificación temporal en etapas ................................................................... 25 Tabla 2: Resumen tareas ............................................................................................ 30 Tabla 3: Riesgos y planes alternativos ........................................................................ 34 Tabla 4: Costes por cada perfil del proyecto ............................................................... 35 Tabla 5: Coste personal por actividad ......................................................................... 36 Tabla 6: Costes materiales ......................................................................................... 37 Tabla 7: Costes software ............................................................................................ 37 Tabla 8: Costes con contingencias ............................................................................. 37 Tabla 9: Costes imprevistos ........................................................................................ 38 Tabla 10: Presupuesto proyecto ................................................................................. 38 Tabla 11: Resumen tareas final .................................................................................. 76
1 Contextualización 1.1 Introducción Este trabajo final de grado corresponde a la especialidad de Ingeniería del Software dentro del Grado en Ingeniería Informática, impartido por la Facultad de Informática de Barcelona [1] (FIB). El proyecto procura proporcionar una aplicación móvil para que el usuario pueda alcanzar sus objetivos personales combinando algunos aspectos de su forma de vida como hacer más actividad física y una dieta más equilibrada, sin la necesidad de estar inscrito en ninguna instalación deportiva. 1.2 Definición de conceptos 1.2.1 Actividad física Según la Organización Mundial de la Salud (OMS) [2] se considera actividad física cualquier movimiento corporal producido por los músculos que exija gasto energético. Estos movimientos corporales pueden ser de dos tipos aeróbicos o anaeróbicos, dos conceptos que se refieren a la forma en que nuestro cuerpo obtiene la energía para poder realizarlos. El ejercicio aeróbico o de baja intensidad como dice la periodista experta en salud Eva Salabert [3], es aquel que requiere la respiración para su práctica. Este tipo de actividad física se suele realizar con el objetivo de quemar grasa y conseguir mayor resistencia. Para calcular la intensidad del ejercicio aeróbico se miden las pulsaciones cardíacas por minuto. Normalmente dicha intensidad suele tomar valores entre 70% y 80% del máximo número de pulsaciones por minuto (NPM), 220 para el caso de los hombres y 210 para mujeres. La duración de este tipo de ejercicios suele ser de largos periodos de tiempo. Algunos de los beneficios que nos pueden aportar estos ejercicios son: ● Reducir la grasa corporal. ● Menor riesgo a fracturas. ● Disminuir la presión arterial y los niveles de colesterol (LDL). ● Aumentar la capacidad de resistencia. 10
● Mejora del estado de ánimo. ● Mejora del sistema circulatorio y capacidad pulmonar. Por otro lado, el ejercicio anaeróbico o de alta intensidad según la periodista experta en salud Eva Salabert [4], es aquel que no requiere la respiración implícita para su práctica. La duración de los ejercicios anaeróbicos es de pequeños plazos de tiempo, ya que se ejecutan a intensidades superiores al 85% del NPM. Este tipo de ejercicios se utilizan para adquirir fuerza y masa muscular provocando un fortalecimiento del sistema musculoesquelético. A diferencia de los ejercicios aeróbicos los anaeróbicos nos ofrecen otro tipo de beneficios como se muestra a continuación: ● Fortalece los músculos. ● Mejora del estado cardiorrespiratorio. ● Mejora la capacidad para combatir fatiga. La cantidad de tiempo a la semana que debe aplicar una persona depende de varios factores, como edad, enfermedades u objetivos personales. Según Sanitas [5] una persona debería realizar ejercicio aeróbico con una intensidad moderada (60%-75% de NPM) durante 150 minutos a la semana o 75 minutos semanales con una intensidad vigorosa (75%-85% de NPM), combinándolo con ejercicios anaeróbicos que trabajen tanto la parte superior como la inferior del cuerpo. La combinación de estos dos tipos de ejercicios nos proporcionará un programa de entrenamiento equilibrado. 1.2.2 Dieta equilibrada Una dieta equilibrada es aquella que contiene productos de los principales grupos alimenticios en las proporciones correctas. Aunque una dieta debe ser personalizada según las condiciones de cada individuo, debe cumplir unos requisitos básicos para poder considerarse saludable y equilibrada. 11
Según la OMS [6] una dieta equilibrada debe contemplar los siguientes requisitos. El primero a cumplir es que las calorías ingeridas deben corresponderse con las gastadas, es decir el gasto calórico debe ser 0. Los hidratos de carbono, fuente principal de energía para el organismo, deben representar entre el 55% y 60% del valor calórico total. Por lo que respecta a las proteínas se recomienda un 15% del valor calórico total, para ser más precisos se debería consumir 0,7 gramos al día de proteína por cada kilogramo de peso corporal. Los lípidos o grasas no deberían superar el 30% de la ingesta calórica total, donde menos del 10% debe provenir de grasas saturadas y el resto de insaturadas o saludables. La cantidad de sodio a consumir debería ser inferior a 5 gramos diarios. Finalmente, en cuanto a las frutas y verduras consumir al menos 400 gramos al día, equivalente al popular dato de las 5 piezas de fruta. 1.2.3 Indicadores de la salud Los indicadores de salud representan medidas-resumen que capturan información relevante sobre distintos atributos y dimensiones del estado de salud y del desempeño del sistema de salud de un individuo. Los indicadores elegidos para el proyecto han sido extraídos del documento Nutrición Humana 2017 [7] y son los siguientes: • IMC (índice de masa corporal): Es un sistema que se utiliza para estimar la cantidad de grasa corporal de una persona, y así poder saber si su peso está dentro del rango normal o, por el contrario, padece sobrepeso o delgadez. El IMC es el resultado de la relación entre el peso y la estatura, IMC = Peso (kg) / altura (m)2. Además, es utilizado para determinar el peso máximo, mínimo e ideal de una persona. • Peso máximo: Es el mayor peso dentro del rango de peso necesario para que una persona se encuentre en forma y saludable. • Peso ideal: Es el peso medio necesario dentro del rango de peso necesario para que una persona se encuentre en forma y saludable. Se llama peso ideal porque es el adecuado para la persona, logrando así prevenir múltiples enfermedades. • Peso mínimo: Es el menor peso dentro del rango de peso necesario para que una persona se encuentre en forma y saludable. 12
• TMB (tasa metabólica basal): Es la energía que necesita el cuerpo humano para sobrevivir realizando las funciones básicas, como respirar, bombear el corazón, filtrar la sangre, sintetizar hormonas o parpadear. El cálculo del TMB no es una tarea simple, ya que intervienen varios factores como la edad o el género como se muestra en la siguiente figura: Figura 1: Cálculo del TMB Pc: peso corporal Una vez se calcula la TMB es necesario añadir la energía empleada en la actividad física, mediante la siguiente fórmula: TMB = TMB + TMB * 7/10. • Macronutrientes: Son nutrientes que se consumen en cantidades relativamente grandes, como las proteínas, los hidratos de carbono simples y complejos, y las grasas y ácidos grasos. El consumo de estos depende del TMB y su cálculo es el siguiente: ➢ Hidratos 62% del TMB. ➢ Proteínas 12 % del TMB. ➢ Grasas 22% del TMB. ➢ Fibra 4% del TMB. 13
1.3 Identificación del problema Este proyecto pretende desarrollar una aplicación móvil para planificar, controlar y gestionar la actividad física de una persona sin necesidad de estar inscrito en ninguna instalación deportiva y facilitar el seguimiento de una dieta equilibrada. Para ello, el usuario podrá personalizar su entrenamiento de la semana seleccionando los ejercicios que más se adecuen a sus gustos, en el caso de usuarios inexpertos se los ofrecerá la posibilidad de entrenamientos predeterminados. La aplicación también proporcionará la opción de observar el progreso físico y metas personales motivando al usuario a seguir mejorando su estado de forma física. Por último, el seguimiento de la alimentación se podrá realizar registrando la ingesta calórica diaria, comparándola con la ingesta calórica ideal calculada previamente por el sistema, todo ello teniendo en cuenta la condición física del individuo. Por lo tanto, los problemas a resolver son dos: mejorar la forma física y la alimentación. Según el estudio científico ANIBES [8] el 63,8% de la población española entre 18 y 75 años cumple con las recomendaciones de actividad moderada, y solo un 34,6% de la población adulta realiza las recomendaciones de actividad vigorosa. Cabe destacar los datos en el caso de la actividad física vigorosa. Figura 2: Actividad física mujeres y hombres 14
En el caso de los hombres el 54,4% y 43,8% cumplen con las recomendaciones de ejercicio moderado y vigoroso respectivamente. Podemos observar un incremento del ejercicio con intensidad vigorosa, pero un decremento en la moderada. Por lo que respecta a las mujeres sucede el caso contrario, hay una gran parte que cumple con las recomendaciones de actividad física moderada, con un 72,5%, y pocas que cumplen las recomendaciones de actividad física vigorosa, con solo un 26,0%. Figura 3: Actividad física mujeres Figura 4: Actividad física hombres Son varios los motivos por los que las personas no cumplen con las recomendaciones de actividad física. Dentro de estos motivos son comunes la escasez de tiempo, falta de motivación e interés, o limitaciones económicas. Además, lamentablemente el Covid-19 también ha afectado al mundo del deporte, siendo un nuevo motivo más para no realizar deporte y provocando un efecto negativo en otros mencionados como la carencia económica. En cuanto a la mala alimentación, según el artículo de Alimente [9] alrededor de 44.000 personas murieron en España en 2016 por enfermedades cardiovasculares derivadas de una mala alimentación. Además, el 80% de los hombres y el 55% de las mujeres tendrán obesidad en 2030, consecuencia en gran medida de una mala alimentación, como indica la Revista de Cardiología Española [10], una tendencia que va en aumento a lo largo de los años. La mala alimentación principalmente se debe al desconocimiento sobre nutrición y escasez de tiempo para dedicar al tema. 15
1.4 Actores implicados A continuación, se listan los diferentes stakeholders implicados en el proyecto, ya sean interesados, beneficiarios, afectados y participantes del proyecto. ● Directora: La directora del proyecto final de grado es Maria José Casañ Guerrero involucrada en supervisar y encarrilar el proyecto. ● Desarrollador: El desarrollador del proyecto es Marc Obiols Rubio, encargado de diseñar y desarrollar la aplicación móvil, documentar el proyecto y realizar las pertinentes pruebas de testing. ● Usuario final: Personas que quieran utilizar la aplicación móvil una vez esté finalizada en beneficio propio. ● Expertos en nutrición: Profesionales en el campo de la salud especializados en nutrición. Encargados de aportar feedback al proyecto para poder realizar un buen seguimiento de la alimentación de una persona. ● Expertos en ejercicio físico: Profesionales en el campo de la actividad física. Su rol es proporcionar feedback al desarrollador para que la aplicación tenga una variedad de ejercicios. 16
2 Justificación 2.1 Soluciones existentes Siendo la actividad física y la dieta equilibrada dos aspectos fundamentales en la vida de las personas, ya existen varias aplicaciones que ofrecen soluciones parciales parecidas a las planteadas en este proyecto. Sin embargo, ninguna de ellas es capaz de combinar los dos conceptos (ejercicio físico y alimentación saludable) para que el usuario pueda realizar un buen seguimiento. A continuación, se muestran las más completas: ● MyFitnessPal [11]: La más completa. Es un contador de calorías con una base de datos de alimentos para que el usuario pueda ser consciente de las características nutricionales de los alimentos que consume. También, cuenta con una base de datos de ejercicios físicos para saber el número de calorías que consume el cuerpo humano al realizarlos. Sin embargo, no se ofrece información de cómo realizar los ejercicios, el número de ejercicios es escueto y no cuenta con ninguna herramienta para que el usuario pueda diseñar y gestionar su actividad física. Por lo que respecta a la interfaz puede ser compleja para usuarios principiantes. ● Ejercicios Caseros [12]: Dedicada para realizar ejercicios desde casa. Cuenta con una gran variedad de ejercicios bien documentados aportando imágenes de ejemplo para que el usuario pueda realizarlos correctamente. También, ofrece alarmas para programar los entrenamientos. La verdad es que es una aplicación completa para realizar deporte desde casa, pero no cuenta con ejercicios de calentamiento (fase esencial para evitar lesiones) y ningún tipo de funcionalidad para tener un seguimiento de la alimentación. ● Lifesum [13]: Ofrece varias dietas adaptadas según los objetivos y gustos alimenticios del usuario. También, cuenta con un contador de calorías como MyFitnessPal pero entrando más en detalle en las características nutricionales de los alimentos. A pesar de todo, no tiene en cuenta la actividad física, el mismo problema que sucedía con Ejercicios Caseros con la nutrición. Además, la versión gratuita no ofrece ninguna funcionalidad útil para el usuario obligándolo a pagar dinero para ser aprovechada. 17
● Sworkit entrenador [14]: Dirigido a un público más experimentado en el mundo del fitness, Sworkit entrenador permite personalizar, con una gran variedad de parámetros, el plan de entrenamiento del usuario. Además, añade la opción de comunicarse con un entrenador personal para consultar dudas al respecto. Como parte negativa es que para un usuario inexperto utilizar Sworkit entrenador pueda resultar una tarea complicada y la opción del entrenador personal es de pago, como era de esperar. Figura 5: Captura pantalla Sworkit entrenador Figura 6: Captura pantalla Lifesum 18
2.2 Justificación de la elección Todas las aplicaciones mencionadas anteriormente ofrecen un buen servicio al usuario, pero ninguna de ellas consigue combinar los conceptos de actividad física y dieta equilibrada, provocando que las personas interesadas en estos ámbitos tengan que utilizar más de una aplicación para alcanzar sus objetivos. Por este motivo pensamos en desarrollar una aplicación que considere ambos campos (ejercicio físico y alimentación saludable) para facilitar el cumplimiento de los objetivos de los usuarios. Además, ninguna aplicación tiene en cuenta el factor de la motivación originado por la realización de deporte y dieta equilibrada que pueden producir que la persona se sienta mejor, con lo cual sería interesante proporcionar al usuario alguna herramienta que le permita alcanzar esta motivación. 19
3 Alcance A continuación, se tratarán los objetivos principales del proyecto, los requisitos no funcionales y posibles obstáculos y riesgos que puedan surgir en el desarrollo de la aplicación. 3.1 Objetivos Los objetivos descritos a continuación permitirán resolver el problema inicial explicado anteriormente. Cada uno de ellos se divide en diferentes sub-objetivos que se han de cumplir para alcanzarlos. ● Permitir a los usuarios la gestión de su sesión ➢ Registro login y logout a los usuarios para acceder a su información. ➢ Los usuarios utilizarán un apodo como identificación. ➢ Verificación de los perfiles de los usuarios vía Gmail. ➢ Los usuarios podrán modificar la información de su perfil. ● Permitir a los usuarios gestionar sus entrenamientos personalizados ➢ Los usuarios podrán crear entrenamientos según sus condiciones y gustos. ➢ Los usuarios podrán seleccionar entrenamientos predeterminados. ➢ Los usuarios podrán añadir ejercicios de calentamiento a sus entrenamientos. ➢ Los usuarios podrán modificar sus entrenamientos. ➢ Los usuarios podrán eliminar los entrenamientos que ya no necesiten. ➢ Los usuarios podrán hacer públicos sus entrenamientos. ➢ Los usuarios podrán consultar entrenamientos públicos de otros usuarios. 20
● Permitir a los usuarios el seguimiento de su actividad calórica ➢ Los usuarios podrán consultar las características nutricionales de los alimentos ➢ Los usuarios podrán seleccionar los alimentos consumidos durante el día. ➢ Los usuarios podrán modificar sus objetivos nutricionales. ➢ Los usuarios podrán observar su ingesta calórica diaria. ➢ Los usuarios podrán consultar el número de calorías quemadas al día. ➢ Los usuarios podrán consultar sus metas nutricionales. 3.2 Requisitos no funcionales Además de los objetivos, hay que tener en cuenta otros aspectos como los requisitos no funcionales, ya que aportan valor de mercado a nuestra aplicación. ● Usabilidad: La aplicación ha de ser usable para cualquier tipo de usuario, desde los adolescentes hasta adultos menos experimentados. ● Escalabilidad: La aplicación permitirá un incremento de usuarios respecto a los iniciales. ● Disponibilidad: El sistema tiene que estar el máximo de tiempo operativo. ● Seguridad: La aplicación solo permitirá acceder a los datos a las personas con permisos para acceder. ● Legalidad: La aplicación debe cumplir con las leyes descritas por el RGPD [15]. ● Adaptabilidad: El sistema debe permitir su utilización en la mayoría de dispositivos Android. 21
3.3 Riesgos y obstáculos Finalmente, existen diferentes riesgos que podrían dificultar el desarrollo de la aplicación y por lo tanto reducir su valor. ● Inexperiencia: El hecho de la utilización de tecnologías de las cuales el desarrollador del proyecto no es experto y en algunos casos no ha utilizado nunca, como la implementación del back de una aplicación, añade un tiempo de aprendizaje que alargará el desarrollo del sistema. ● Desconocimiento: El desarrollador de la aplicación no tiene ningún tipo de formación en el ámbito de la salud/nutrición y los conocimientos acerca del mundo del fitness son básicos. Por lo tanto, el tiempo de aprendizaje será más alto alargando el desarrollo de la aplicación ● Fecha de entrega: Tener una fecha de entrega fija provoca poco margen de fallo, ya que en el caso de que suceda algún contratiempo en alguna fase del proyecto puede resultar en el incumplimiento de algún objetivo planteado anteriormente y la aplicación se vería afectada negativamente en su valor. ● Derechos de copyright: La utilización de imágenes como descripción de los ejercicios requiere la compra de sus derechos de autor, ya que el desarrollador no dispone del tiempo y conocimientos del desarrollo de las imágenes. ● Permiso denegado Base de datos de alimentos: Desarrollar completamente la funcionalidad para que el usuario pueda seguir su ingesta calórica requiere de una base de datos de alimentos con sus características nutricionales. En este proyecto por falta de tiempo y recursos no se implementará una propia, y como consecuencia es necesario el servicio de alguna base de datos de alimentos de terceros, pero dicho servicio puede ser denegado. 22
4 Metodología La metodología a utilizar para el desarrollo de este proyecto será Agile [16]. Agile, es una metodología utilizada principalmente para el desarrollo software. Es un proceso en el que se aplican iteraciones de duración corta (1-3 semanas), conocidas como Sprints, donde se implementan las funcionalidades establecidas previamente en el backlog por el equipo de trabajo. El equipo se divide en roles, pero en el caso de este proyecto todos recaerán sobre el desarrollador. El backlog es un tablero donde se apuntan las historias de usuario que debe cumplir el proyecto, además cada una es puntuada según la dificultad de implementación. Las historias de usuario corresponden con las funcionalidades del sistema. En cada sprint se escogen las historias de usuario a realizar y se asignan a los diferentes miembros del equipo, las cuales deberán estar finalizadas al final del sprint. 4.1 Herramientas de seguimiento A continuación, se comentarán el conjunto de herramientas de seguimiento que se utilizarán por el desarrollador para el desarrollo del proyecto. ● Git [17]: Es un sistema de control de versiones gratuito y de código abierto. Utilizado por la mayoría de desarrolladores de software, permite compartir código y gestionar las versiones a través de repositorios y ramas. ● Github [18]: Es un programa que permite gestionar los repositorios de Git. Además, ofrece otras funcionalidades como la integración continua. ● Taiga [19]: Es una plataforma gratuita para la gestión de proyectos. Incorpora funcionalidades como el tratamiento de issues, gestionar historias de usuario o gestionar el backlog. ● Integración continua: Es una práctica que consiste en hacer integraciones automáticas de código para poder detectar posibles fallos. Para su práctica se ha utilizado GitHub. 23
● Google meet: es un servicio de videotelefonía proporcionado por Google. Utilizado para las reuniones con la tutora. 24
5 Planificación proyecto La duración del proyecto es de aproximadamente 4 meses, con fecha de inicio el 21 de septiembre de 2020 y con fecha de finalización el 25 de enero de 2021. Al utilizar una metodología Agile el proyecto se divide en diferentes etapas, las cuales son: gestión del proyecto, iteraciones y documentación final. La fase inicial, gestión del proyecto, supondrá la etapa de incepción del trabajo con una duración de 80 horas y 20 horas de carga semanal. Esta fase se inicia el 21 de septiembre y finaliza el 19 de octubre. En cuanto a las iteraciones el proyecto contará con 3 iteraciones con una duración de 3 semanas cada una. La suma de horas de trabajo será de aproximadamente 405, con una carga de trabajo semanal de 44 horas. Las iteraciones se iniciarán el 20 de octubre y acabarán el 21 de diciembre. Finalmente, en la última etapa, documentación final, se acabará la redacción de la memoria empezando el 22 de diciembre y finalizando el 25 de enero de 2021. Etapa Inicio Final Tiempo Gestión del 21 de setiembre de 2020 19 de octubre de 80 h proyecto 2020 Sprint 1 20 de octubre de 2020 9 de noviembre de 135 h 2020 Sprint 2 10 de noviembre de 2020 30 de noviembre de 135 h 2020 Sprint 3 1 de diciembre de 2020 21 de diciembre de 135 h 2020 Documentación 22 de diciembre de 2020 25 de enero de 2021 30 h memoria Total 515 h Tabla 1: planificación temporal en etapas 5.1 Definición tareas Las diferentes tareas identificadas a continuación, están divididas en gestión del proyecto (GP), Desarrollo (DS), Documentación (DC) y Validación (VD). 25
5.1.1 Gestión del proyecto • GP1 - Documentación contextualización y alcance: Definir el contexto y determinar el alcance del proyecto. Duración: 25 horas Dependencias: - Recursos humanos: Jefe proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word • GP2 - Planificación temporal: Definición de tareas y planificación temporal. Duración: 17.5 horas Dependencias: Documentación contextualización y alcance Recursos humanos: Jefe proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word, Lucidchart • GP3 - Gestión económica y sostenibilidad: Definición del plan económico e informe de sostenibilidad. Duración: 17.5 horas Dependencias: Planificación temporal Recursos humanos: Jefe proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word, Microsoft Office Excel • GP4 - Documento final: Juntar los documentos anteriores y arreglar posibles errores, para alcanzar una buena definición del proyecto. Duración: 15 horas Dependencias: Gestión económica y sostenibilidad Recursos humanos: Jefe proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word • GP5 - Historias de usuario: Definir las historias de usuario del sistema. Duración: 5 horas Dependencias: Documento final Recursos humanos: Jefe proyecto Recursos materiales: Ordenador con internet, Taiga 5.1.2 Iteración 1 • DS1 - Preparación del desarrollo: Preparación del entorno de trabajo para la creación del proyecto. Descarga y aprendizaje de los programas y librerías a utilizar. Además, el diseño de la base de datos. Duración: 35 horas Dependencias: - Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, Github, editor de texto 26
• DS2 - Buscar información: Informarse sobre conceptos relacionados con la nutrición y el deporte, para poder implementar una aplicación funcional. Duración: 10 horas Dependencias: - Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet • DS3 - Registro y autentificación del usuario: Desarrollar las funcionalidades de registro e inicio de sesión del usuario, diseño de pantallas pertinentes y cifrado de datos personales. Duración: 35 horas Dependencias: Preparación del desarrollo Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github • DS4 - Calculo automático metas usuario: Desarrollar el programa capaz de calcular los objetivos nutricionales y físicos del usuario. También, diseñar las pantallas para mostrar y modificar (en algunos campos) la información y progresión del usuario. Duración: 40 horas Dependencias: Preparación del desarrollo, Registro y autentificación del usuario, Buscar información Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor texto, Github • GP6 - Retrospectiva iteración 1: Valorar el trabajo realizado durante la iteración 1 y, identificar y solucionar problemas que han ocurrido durante la iteración. Duración: 5 horas Dependencias: Preparación del desarrollo, Registro y autentificación del usuario, Buscar información Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Taiga, Microsoft Office Word • DC1 - Documentación iteración 1: Redacción de la documentación relacionada con la iteración 1. Duración: 10 horas Dependencias: - Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word 5.1.3 Iteración 2 • DS5 - Gestión ejercicios - Backend: Añadir a la base datos ejercicios con sus respectivos parámetros. También, desarrollar la parte de Backend de las funcionalidades de listar y filtrar los ejercicios del sistema. Duración: 35 horas Dependencias: Iteración 1 Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github 27
• DS6 - Gestión entrenamiento - Backend: Desarrollar la parte de Backend de las funcionalidades crear, planificar y editar entrenamientos, y añadir a la BD entrenamientos predeterminados. Duración: 35 horas Dependencias: Gestión ejercicios - Backend Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github • DS7 - Gestión ejercicios - Frontend: Desarrollar las pantallas para poder listar y filtrar ejercicios, y consultar los parámetros de un ejercicio en concreto. Duración: 25 horas Dependencias: Gestión ejercicios - Backend Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github • DS8 - Gestión entrenamiento - Frontend: Desarrollar las pantallas de crear, planificar y editar entrenamientos. Además de poder consultar los entrenamientos personales y predeterminados ya creados. Duración: 25 horas Dependencias: Gestión entrenamiento – Backend, Gestión ejercicios - Frontend Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github • GP7 - Retrospectiva iteración 2: Valorar el trabajo realizado durante la iteración 2, identificar y solucionar problemas que han ocurrido durante la iteración. Duración: 5 horas Dependencias: Gestión ejercicios - Backend, Gestión entrenamiento – Backend, Gestión ejercicios – Frontend, Gestión entrenamiento – Frontend Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Taiga, Microsoft Office Word • DC2 - Documentación iteración 2: Redacción de la documentación relacionada con la iteración 2. Duración: 10 horas Dependencias: iteración 1 Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word 28
5.1.4 Iteración 3 • DS9 - Gestión Dietas: Desarrollar las funcionalidades para listar y mostrar las dietas del sistema al usuario. También añadir a la BD dietas para poder listarlas y comunicar el sistema con alguna API para consultar las características nutricionales de cada alimento. Duración: 45 horas Dependencias: Iteración 2 Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github • DS10 - Consultar usuarios: Desarrollar la funcionalidad para consultar entrenamientos públicos de otros usuarios y poder añadirlos a tus entrenamientos. Duración: 25 horas Dependencias: iteración 2 Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, editor de texto, Github • DS11 - Mejora interfaz gráfica: Mejorar la interfaz gráfica y usabilidad de la aplicación. Duración: 30 horas Dependencias: gestión dietas, consultar usuarios Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, editor de texto, Github • VD1 - Validación proyecto: Verificar si la aplicación cumple con los objetivos y requisitos planteados en la fase de incepción. Duración: 20 horas Dependencias: mejora interfaz gráfica Recursos humanos: Desarrollador Recursos materiales: Ordenador con internet, Github, editor de texto • GP8 - Retrospectiva iteración 3: Valorar el trabajo realizado durante la iteración 3, identificar y solucionar problemas que han ocurrido durante la iteración. Duración: 5 horas Dependencias: validación proyecto, mejora interfaz gráfica, gestión dietas, consultar usuarios Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Taiga, Microsoft Office Word • DOC3 - Documentación iteración 3: Redacción de la documentación relacionada con la iteración 3. Duración: 10 horas Dependencias: iteración 2 Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word 29
5.1.5 Documentación final • DC4 - Documentar memoria: Finalización de la memoria y preparación para lectura del proyecto. Duración: 30 horas Dependencias: Iteración 3 Recursos humanos: Jefe del proyecto Recursos materiales: Ordenador con internet, Microsoft Office Word 30
5.2 Resumen tareas A continuación, en la tabla 1 se muestra un resumen de las tareas descritas previamente y la duración individual de cada una. También, se indica la duración de cada etapa. Como resultado de la planificación temporal obtenemos un total de 515 horas de trabajo. Horas Horas Etapa proyecto Tarea tarea etapa GP1 25 GP2 17.5 Gestión del proyecto 80 GP3 17.5 GP4 15 GP5 5 DS1 35 DS2 10 135 DS3 35 Iteración 1 DS4 40 GP6 5 DC1 10 DS5 35 DS6 35 135 DS7 25 Iteración 2 DS8 25 GP7 5 DC2 10 DS9 45 DS10 25 135 DS11 30 Iteración 3 VD1 20 GP8 5 DC3 10 Documentación final DC4 30 30 Total 515 Tabla 2: Resumen tareas 31
6 Estimaciones y Diagrama de Gantt En la figura 1 se puede observar el diagrama Gantt del proyecto mostrando el reparto temporal de las tareas. Cada etapa del proyecto es diferenciada por un color diferente. El eje temporal se inicia el 21 de septiembre de 2020 y finaliza el 25 de enero de 2021. En cuanto a las tareas de documentación de las iteraciones se ha optado a realizarlas de manera concurrente a todas las demás tareas de la iteración. En cambio, las tareas de desarrollo no son concurrentes entre ellas, ya que existen dependencias que dificultarían la concurrencia. En el siguiente enlace se puede acceder al diseño original del diagrama de Gantt para obtener una mayor calidad de imagen: https://lucid.app/invitations/accept/e649d5be- 4e57-4c6a-806a-63d1cb597ab3 32
Figura 7: Diagrama Gantt 33
7 Gestión del riesgo: planes alternativos y obstáculos En la siguiente tabla se comentan los diferentes riesgos y obstáculos que pueden suceder en el transcurso del proyecto, indicando su impacto, probabilidad de que sucedan y por último un plan alternativo para mitigarlos. Riesgo Impacto Probabilidad Plan alternativo Se han añadido tareas para el Inexperiencia con aprendizaje y preparación de estas tecnologías Alto Alta tecnologías. Además, las primeras tareas que implican el uso de tecnologías de las que no soy experto han sido sobreestimadas en cuanto tiempo. La última etapa del proyecto tiene una duración de un mes donde no Planificación solo se realizará la redacción de la temporal incorrecta Bajo Media memoria, sino que se acabarán posibles tareas atrasadas de las iteraciones. Además, al utilizar metodología agile las tareas inacabadas de una iteración se trasladarán a la siguiente. En la iteración 1 se ha añadido una tarea pensada para buscar Desconocimiento del Medio Media información sobre la temática de la tema aplicación. También estoy en contacto con un experto en nutrición que aportará mayor valor al proyecto. Utilizar imágenes sin derechos de autor o asumir el coste económico Derechos de Medio Alto de los derechos de dichas copyright imágenes. Se añadirían más y mejores dietas predeterminadas relacionadas con Permiso denegado Alto Alto el deporte. También, se mejoraría la API alimentos gestión de ejercicios y entrenamiento. Tabla 3: Riesgos y planes alternativos 34
También puede leer