Visión Proyecto - jpmendeza2401/MISW-Software-aplicaciones-moviles GitHub Wiki

Visión del proyecto

1. Descripción general

Vinilos es una aplicación que cuenta con una versión web y para la cual se desarrollará una versión móvil dirigida a dispositivos Android. El proyecto busca trasladar las funcionalidades existentes de la aplicación a un entorno móvil, aprovechando una API REST previamente desarrollada para acceder a los servicios y la información del sistema.

La aplicación se implementará utilizando Kotlin, considerando las particularidades de Android en términos de diseño de interfaces, recursos de hardware, ciclo de vida de los componentes, permisos y políticas del sistema operativo.

2. Visión del producto

Desarrollar una aplicación móvil de Vinilos para Android que permita a los usuarios acceder desde sus dispositivos a las funcionalidades disponibles en la versión web, mediante una interfaz intuitiva, organizada y adaptada a las características de los dispositivos móviles.

La solución buscará ofrecer una experiencia de uso consistente, garantizar una adecuada integración con la API REST existente y facilitar la evolución progresiva del producto mediante entregas incrementales, pruebas y validaciones continuas.

3. Objetivo general

Construir una versión móvil de la aplicación Vinilos utilizando Kotlin y Android, que replique las funcionalidades definidas para el producto mediante el consumo de una API REST, aplicando buenas prácticas de desarrollo, diseño, arquitectura, pruebas y aseguramiento de la calidad.

4. Objetivos específicos

  • Analizar las funcionalidades existentes y establecer el alcance de la versión móvil.
  • Definir y priorizar las historias de usuario que orientarán el desarrollo.
  • Diseñar las interfaces y los flujos de navegación considerando las características de los dispositivos Android.
  • Implementar las funcionalidades mediante Kotlin y los componentes correspondientes de Android.
  • Integrar la aplicación con la API REST proporcionada.
  • Verificar el comportamiento de la aplicación mediante pruebas funcionales y validaciones en diferentes versiones de Android.
  • Mantener una estructura de código organizada y aplicar procesos de revisión e integración controlados.
  • Documentar las decisiones de diseño, arquitectura, pruebas y configuración necesarias para mantener el proyecto.

5. Alcance del producto

El alcance contempla el desarrollo de una aplicación móvil para Android que reproduzca las funcionalidades existentes de Vinilos, de acuerdo con las historias de usuario y los requerimientos definidos para el proyecto.

Se incluyen las siguientes actividades:

  • Análisis de requerimientos y definición del backlog.
  • Diseño de UX/UI, mockups y flujos de navegación.
  • Implementación de historias de usuario.
  • Consumo de servicios mediante la API REST existente.
  • Pruebas funcionales y validación de compatibilidad.
  • Generación de paquetes APK para instalación.
  • Documentación técnica y funcional.

Las funcionalidades específicas estarán determinadas por las historias de usuario seleccionadas y priorizadas durante la etapa de inception y las iteraciones de desarrollo.

6. Usuarios objetivo

La aplicación está dirigida a los usuarios de Vinilos que necesitan acceder desde dispositivos Android a las funcionalidades que ofrece la plataforma.

La experiencia deberá priorizar la facilidad de navegación, la claridad de la información presentada y la adaptación de las interfaces a diferentes tamaños de pantalla y condiciones de uso móvil.

7. Restricciones y consideraciones técnicas

  • Plataforma: Android.
  • Lenguaje de programación: Kotlin.
  • Integración: consumo de la API REST existente.
  • Control de versiones: Git y GitHub.
  • Flujo de trabajo: GitFlow, con ramas de desarrollo, funcionalidades y liberaciones.
  • Integración de código: Pull Requests con revisión de código, pruebas locales y estrategia Squash and merge.
  • Compatibilidad: validación en diferentes versiones y configuraciones de Android.
  • Proceso de desarrollo: iterativo e incremental, con una etapa de inception y tres iteraciones de desarrollo.

8. Criterios generales de éxito

Se considerará que el proyecto cumple sus objetivos cuando:

  • Las historias de usuario priorizadas estén implementadas de acuerdo con sus criterios de aceptación.
  • La aplicación consuma correctamente los servicios requeridos de la API REST.
  • Las interfaces y los flujos de navegación respondan a los requerimientos definidos para la experiencia móvil.
  • Las funcionalidades sean verificadas mediante una estrategia de pruebas documentada.
  • Se valide el funcionamiento en las versiones de Android contempladas para el proyecto.
  • El repositorio mantenga un flujo de integración controlado y trazable.
  • Se entreguen los APK, la documentación técnica y los artefactos de pruebas requeridos para cada iteración.

9. Enfoque de evolución

El producto se construirá de manera incremental durante las tres iteraciones de desarrollo posteriores a la etapa de inception. Cada entrega incorporará funcionalidades, pruebas y documentación, y permitirá aplicar la retroalimentación recibida para mejorar las siguientes versiones.

Este enfoque busca asegurar que el desarrollo avance de forma organizada, que los requerimientos sean verificables y que la solución final responda al alcance acordado para la aplicación móvil Vinilos.