Incremento de Producto - G10-ISPC/Frontend-Mobile GitHub Wiki

Incremento del Producto - Sprint 0

Durante este Sprint 0, nos hemos enfocado en realizar un análisis profundo y el diseño preliminar del proyecto de software que llevaremos a cabo, siguiendo las recomendaciones y aprendizajes obtenidos en los cuatrimestres anteriores. Este primer sprint ha sido crucial para sentar las bases sobre las cuales se desarrollará el resto del proyecto.

En primer lugar, nos dedicamos a definir los requerimientos funcionales y no funcionales de la aplicación que vamos a desarrollar. Estos requerimientos fueron revisados y plasmados en el Product Backlog del documento IEEE830, asegurando que se cumplieran todas las especificaciones previas y haciendo mejoras donde fue necesario.

A partir de estos requerimientos, se formularon las Historias de Usuario correspondientes, las cuales serán fundamentales para guiar el desarrollo de las distintas funcionalidades de la aplicación. Cada historia fue redactada siguiendo las normas de claridad y precisión, incorporando los criterios de aceptación que nos permitirán validar que las funcionalidades se implementen correctamente. Entre los ejemplos de Historias de Usuario, se destacan situaciones como la posibilidad de que un usuario acceda al carrito de compras desde cualquier pantalla de la aplicación, con funcionalidades que le permitan modificar la cantidad de productos y visualizar el total de la compra.

Asimismo, se definieron las tareas dependientes de cada Historia de Usuario, dividiendo el trabajo en subtareas manejables y bien delimitadas. Estas tareas ya se han incorporado en el repositorio remoto de GitHub, donde se estructuraron utilizando issues y milestones que nos permitirán monitorear el progreso de cada actividad. Cada tarea ha sido documentada adecuadamente, siguiendo una nomenclatura estándar para garantizar la coherencia y la trazabilidad de los avances.

Para la gestión de versiones y el desarrollo colaborativo, hemos establecido el esquema de branching que seguiremos a lo largo del proyecto. Optamos por implementar el esquema propuesto por Vincent Driessen en Gitflow, lo que nos permitirá manejar diferentes ramas para cada parte del proyecto de manera organizada. Hemos definido las ramas mínimas necesarias: main, develop y release, y hemos dejado abierta la opción de crear ramas feature por nombre y apellido de cada integrante del equipo, lo que facilitará la gestión individual del trabajo. También se ha dejado como opción la rama hotfix, en caso de que necesitemos aplicar correcciones rápidas en el futuro.

Con este primer sprint, hemos sentado las bases sólidas para avanzar en el desarrollo de la aplicación, estableciendo una estructura clara de trabajo y definiendo los requerimientos necesarios para asegurar el éxito del proyecto.


Incremento del Producto Sprint 1

En el marco del Sprint 1, hemos avanzado de manera significativa en el desarrollo del proyecto en diversas áreas, cumpliendo con los objetivos propuestos en cuanto a backend, frontend, pruebas y ciberseguridad.

En cuanto al backend, se revisó y actualizó el modelo relacional de la base de datos, realizando los ajustes necesarios para adaptarlo a los nuevos requerimientos del proyecto. Además, se implementó un script de actualización de las tablas para reflejar estos cambios, y se revisaron las APIs previamente desarrolladas en Django, asegurando que respondan adecuadamente a las necesidades de la aplicación móvil.

En lo referente al frontend, logramos desarrollar las activities que permiten la navegabilidad dentro de la aplicación móvil, aunque aún sin funcionalidad activa. Se incluyó una pantalla adicional de contacto, para cumplir con los requisitos establecidos. Para facilitar la revisión del avance, se ha grabado un video demostrativo de menos de 5 minutos, en el cual se muestra el recorrido de la aplicación. Además, hemos documentado las capturas de pantalla de las diferentes activities en el ANEXO II del documento IEEE830.

En el área de pruebas de software, se planificaron dos casos de prueba por cada integrante del equipo, utilizando la plantilla acordada y basándonos en los criterios de aceptación definidos para las Historias de Usuario. Los casos de prueba fueron registrados en una nueva sección de la wiki denominada Testing, que será utilizada como referencia durante el proceso de validación de las funcionalidades del proyecto.

Desde el punto de vista de ciberseguridad, se diseñó un plan de seguridad detallando las políticas que se implementarán en la aplicación, fundamentando cada una en función de las vulnerabilidades que estas previenen. Asimismo, se diseñó el sistema de autenticación de la aplicación, utilizando Auth0 o JWT según lo fundamentado previamente. Toda esta documentación ha sido publicada en la sección correspondiente de ciberseguridad en la wiki del proyecto.

En lo que respecta a la gestión del proyecto, se realizó el merge de los avances a la rama main, siguiendo el esquema de branching propuesto, y asegurando que la rama contenga la versión estable y productiva del proyecto. Hemos respetado el sistema de branching con las ramas main, develop y release, y sugerido la creación de ramas adicionales por funcionalidad o desarrollador cuando sea necesario. Además, hemos mantenido actualizado el documento IEEE830, reflejando los avances técnicos y las políticas de seguridad implementadas.

Por último, se actualizaron los milestones, los issues y el kanban, asegurando un flujo ordenado de trabajo entre las columnas Product Backlog, ToDo, In Progress, Testing (QA) y Done. La wiki del proyecto también ha sido actualizada para reflejar los avances individuales y del equipo en cada área.


Incremento del Producto - Sprint 2

En este Sprint 2, hemos continuado el desarrollo de la aplicación (APP), asegurando su correcta conexión e interacción con una base de datos remota a través de un API REST. La APP ahora puede realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) mediante peticiones HTTP, garantizando la transferencia de datos entre la aplicación y la base de datos remota. Asimismo, se implementaron medidas de seguridad y validación en las solicitudes y respuestas de la API para proteger la integridad de los datos.

Aplicaciones Móviles

1.Funcionalidades completas: Se ha completado el diseño y desarrollo integrado de la aplicación, con las siguientes mejoras:

CRUD básico funcional: Se implementaron dos módulos:

Productos: Permitiendo crear, leer, actualizar y eliminar productos.

Usuarios: Funcionalidad completa para gestionar la información de usuarios.

  1. Actualización del Proyecto: Todo el proyecto ha sido actualizado en GitHub, asegurando un respaldo completo.

  2. Exportación de la Aplicación: La aplicación ha sido exportada en un archivo .apk para pruebas y posterior subida a GitHub en la Carpeta APK del proyecto Frontend-Mobile.

  3. Demo Final: Se ha realizado un video grupal, donde todo el equipo presenta las funcionalidades de la aplicación.

Testeador de Software

  1. Ejecución de Casos de Prueba: Se llevaron a cabo los casos de prueba definidos en el Sprint anterior, documentando las evidencias en una planillas: “Test Case”, “Test Ciberseguridad” y “Registro de errores”.

  2. Accesibilidad en Proyectos Móviles: Se evaluó la accesibilidad de la aplicación, asegurando el cumplimiento de los estándares requeridos, y se documentaron los resultados y las mejoras necesarias en el documento “Automatización de Accesibilidad”.

  3. Presentación de Evidencias: Todas las evidencias de las pruebas realizadas manualmente, se presentaron en la sección Testing de la Wiki del proyecto, con documentación clara que incluye capturas de pantalla y logs.

Ciberseguridad

  1. Se reformularon las políticas de seguridad establecidas en el Sprint 1, asignando frecuencia de revisiones y responsables para cada política.

  2. Se relacionaron los requerimientos de usuario con las políticas de seguridad, implementando prácticas recomendadas de ciberseguridad.

  3. Se desarrolló el sistema de autenticación de la aplicación utilizando JWT, implementando autorización según perfiles y permisos de usuarios. La elección y fundamentación se documentaron en videos.

  4. Se planificó un caso de prueba por integrante del grupo, basado en las políticas de seguridad.

Gestión de Proyecto

  1. Actualización del Documento IEEE830: El documento fue actualizado para reflejar los avances técnicos y las políticas de seguridad implementadas.

  2. Ceremonias del Sprint: Se registraron las ceremonias del en la wiki.

  3. Actualización de Milestones y Kanban: Se actualizaron los milestones, issues y el kanban según correspondía, reflejando el avance del equipo.

  4. Documentación Final: Se realizó subió toda la información a la main. Incluye un archivo apk en una carpeta dentro del proyecto Frontend-Mobile.