BeHealthy “Have a good diet”
Descripción breve del proyecto
Este documento explica el objetivo de BeHealty como aplicación de software, las partes de la aplicación y la organización del equipo de desarrollo.
Autores:
Airam Lemes Herrera Fernando Pellicer Sarmiento Emmanuel Peña Mendoza
Contenido del documento
-
- ¿Qué es BeHealthy?
-
- Objetivos del proyecto
-
- Dinámica de trabajo
-
- Scrum: Organización del equipo
-
- Pila de producto
-
- Pila de Sprint
-
- Herramientas que se utilizarán en este trabajo
1. ¿Qué es BeHealthy?
En la actualidad a la mayoría de las personas se les hace complicado llevar una alimentación saludable. Esto sucede principalmente por la falta de educación alimentaria que tiene la sociedad de hoy en día. Productos como la bollería, disponibles en cualquier supermercado a un precio muy asequible, es uno de los muchos alimentos causantes de la mala alimentación de la mayoría de la población a nivel mundial.
BeHealthy es una aplicación para dispositivos móviles android, que facilita a los usuarios información acerca de los productos que consumen, para que estos tengan una valoración detallada acerca de los mismos y permite compartir recetas con los demás usuarios de la aplicación.
2. Objetivos del proyecto
El equipo de desarrollo de esta aplicación plantea varios objetivos principales:
- Permitir escanear códigos de barras de los productos alimentarios de los supermercados con los que se ofrecerá información detallada sobre el mismo.
- Sugerir productos sanos equivalentes a los productos perjudiciales que se hayan evaluado con el código de barras.
- Posibilitar a los usuarios publicar recetas en la aplicación, las cuales ayudan a otros usuarios utilizar productos saludables en platos más complejos, con los que pueda llevar una alimentación equilibrada.
Con estos objetivos pretendemos que los usuarios tengan una información fiable y acertada sobre todo tipo de producto alimentario que ofrecen los supermercados.
3. Dinámica de trabajo
Para el desarrollo y organización del trabajo, se ha optado por el marco de trabajo scrum. Esta decisión se debe a que es una dinámica de trabajo “simple”, que nos permitirá llevar un buen ritmo de trabajo y una buena organización.
Aunque es una dinámica simple, como los mismos inventores afirman: “10 minutos para aprenderlo, una vida para dominarlo”. Es simple, pero no es fácil.
Cabe destacar que todos los miembros del equipo tienen experiencia con este estilo de trabajo, el cual han aplicado en otros proyectos con éxito. Por lo tanto se conoce como funciona la dinámica, cómo trabaja cada componente del equipo y sus limitaciones/virtudes.
4. Scrum: Organización del equipo
Antes de comenzar con la organización, mostraremos el tiempo que tenemos para el desarrollo del trabajo antes de su entrega.
El trabajo debe ser entregado la semana 11 de noviembre, como fecha final, lo cual es un total 38 días (a partir de la fecha en que se realizó este documento, 2 de noviembre).
Se ha decidido dividir el tiempo en 3 sprints como se muestra a continuación:
- Sprint 0: 3 noviembre hasta el 20 de noviembre. - Sprint 1: 21 noviembre hasta el 3 de diciembre. - Sprint 2: 4 de diciembre hasta el 10 de diciembre.
5. Pila de producto
Historias técnicas:
- Historia técnica 1: Diseñar los distintos mockups que necesita la aplicación y su icono. (esfuerzo aproximado de 3 horas)
- Historia técnica 2: Diseñar la organización de los distintos objetos en la base y de sus respectivos atributos. (esfuerzo aproximado de 1.5 horas)
Historias de usuario parte inicio de sesión:
- Historia de usuario 1: Como usuario quiero poder registrarme con mi correo electrónico y una contraseña para iniciar sesión posteriormente (esfuerzo aproximado de 3 horas)
- Historia de usuario 2: Como usuario quiero poder iniciar sesión con mi correo electrónico y una contraseña para acceder a mi cuenta. (esfuerzo aproximado de 3 horas)
Historias de usuario parte perfil:
- Historia de usuario 3: Como usuario quiero tener un perfil donde se muestren todas mis recetas para que los demás usuarios puedan verlas todas juntas. (esfuerzo aproximado de 3 horas)
- Historia de usuario 4: Como usuario quiero poder guardar las recetas que más me gustan y verlas en una lista para no tener que buscarlas nuevamente. (esfuerzo aproximado de 3 horas)
- Historia de usuario 5: Como usuario quiero tener un historial de los productos escaneados para poder consultarlos sin tener que escanear el producto nuevamente. (esfuerzo aproximado de 3 horas)
Historias de usuario parte de funcionalidad de escaneo:
- Historia de usuario 6: Como usuario quiero poder escanear códigos de barra de productos para obtener su información. (esfuerzo aproximado de 6 horas)
- Historia de usuario 7: Como usuario quiero comparar precios del producto escaneado con otros supermercados para obtener el más económico. (esfuerzo aproximado de 4 horas)
- Historia de usuario 8: Como usuario quiero que se muestre una valoración general sobre la calidad del producto que escanee. (esfuerzo aproximado de 4 horas)
- Historia de usuario 9: Como usuario quiero obtener sugerencias de productos sanos cuando la aplicación indica una mala valoración a un producto. (esfuerzo aproximado de 4 horas)
- Historia de usuario 10: Como usuario quiero tener la posibilidad de recomendar productos que no estén contenidos en la base de datos de la aplicación. (esfuerzo aproximado de 3 horas)
- Historia de usuario 11: Como usuario quiero conocer cuál es el método de calificación de los productos para entender las valoraciones. (esfuerzo aproximado de 3 horas)
Historias de usuario parte de funcionalidad de recetas:
-
Historia de usuario 12: Como usuario quiero poder publicar mis recetas para que los demás usuarios puedan verlas. (esfuerzo aproximado de 3 horas)
-
Historia de usuario 13: Como usuario quiero poder ver recetas de otros usuarios para poder llevarlas a cabo y probarlas. (esfuerzo aproximado de 3 horas)
-
Historia de usuario 14: Como usuario quiero comentar en otras publicaciones para poder dar mi opinión acerca de la misma. (esfuerzo aproximado de 3 horas)
-
Historia de usuario 15: Como usuario quiero poder compartir recetas fuera de la app para que otras personas puedan verlas. (esfuerzo aproximado de 3 horas)
-
Historia de usuario 16: Como usuario quiero poder realizar búsquedas de recetas/productos desde un buscador para solo ver un tipo de plato/receta. (esfuerzo aproximado de 3 horas)
-
Historia de usuario 17: Como usuario quiero poder seguir a otras cuentas para que se me muestren las recetas que sube el usuario antes que otras recetas generales. (esfuerzo aproximado de 3 horas)
6. Pila de Sprint
En este primer Sprint tenemos (3 noviembre hasta el 20 de noviembre), lo cual es equivalente a 12 días lectivos (sin contar fines de semana). Suponiendo que cada miembro pueda invertir un aproximado de 3 horas diarias tendríamos un total de 36 horas de trabajo en este sprint.
Teniendo estos datos en cuenta, el equipo de desarrollo a decidido añadir las siguientes historias:
- Historia técnica 1: Diseño de mockups y el icono de la apk --> 6 horas
- Historia técnica 2: Diseño base de datos --> 1. 5 horas
- Historia de usuario 1: Registro de cuenta --> 3 horas
- Historia de usuario 2: Inicio de sesión --> 3 horas
- Historia de usuario 6: Escanear Productos --> 6 horas
- Historia de usuario 7: Comparar precio de productos --> 3 horas
- Historia de usuario 8: Valoración general producto --> 3 horas
- Historia de usuario 9: Sugerencias de otros productos --> 4 horas
- Historia de usuario 10: Sugerir productos que no estén en la BD --> 3 horas
- Historia de usuario 11: Conocer método de valoración --> 3 horas
Estas historias dan un total de 35.5 horas, de las 36 horas disponibles en total por los miembros del equipo.
7. Herramientas que se utilizarán en este trabajo
La importancia de las herramientas que se utilizan en un trabajo de desarrollo de software es fundamental tener claro las herramientas que usaremos a lo largo de este proyecto.
Se muestran a continuación:
- Para la organización y coordinación entre los miembros del equipo, se utilizará el entorno de trello.
- En cuanto a los diseños de los mockups y del icono de la aplicación, se utilizará la aplicación figma.
- Para el desarrollo y compilación de la aplicación se utilizará AndroidStudio, con el lenguaje kotlin, el cual se ha practicado a lo largo del curso.
- FireBase como entorno de organización del backend de la aplicación.
- Por último, para compartir el avance del proyecto, se empleará un repositorio de GitHub, donde los miembros tendrán disponible los avances que puedan realizar sus compañeros.