Análisis de la solución - Pablogls2/proyecto_final GitHub Wiki

Análisis de la solución

En esta fase estarán comprendidas las tareas que un software va realizar y en las condiciones en las que va actuar. Para ello nos centraremos en QUÉ va a realizar la aplicación y determinar sus restricciones. Los requisitos de la aplicación serán los siguientes:

Requisitos funcionales

Los requisitos funciones definen una función del sistema o sus componentes. Cada función se comporta como un conjunto de entradas, comportamientos y salidas. Dichos requisitos pueden ser cálculos, detalles, técnicos, manipulación de datos, etc. Los requisitos del sistema móvil son los siguientes:

  • RF1. Ver datos del club, geolocalización y galería fotográfica.
  • RF2. Ver estado de las pistas en tiempo real.
  • RF3. Tendrá una lista de contactos, se podrá seleccionar uno para iniciar el proceso de quedar para jugar.
  • RF4. Habrá un calendario de las reservas y partidos del usuario.
  • RF5. Tendrá una línea de tiempo donde se verá el historial de encuentros, los usuarios con los que ha jugado el usuario, los resultados y fotografías del partido.
  • RF6. Al subir una foto se podrá usar la cámara o seleccionarlas del almacenamiento interno.
  • RF7.Habrá una zona de perfil donde el usuario podrá cambiar su descripción, su nombre de usuario (si no está ocupado) y su fotografía de perfil.Además, podrá generar su QR personal y único para compartir con los demás usuarios.
  • RF8. Tendrá un buscador que permitirá buscar por usuarios.
  • RF9. Se podrá tener una conversación privada con distintos usuarios.
  • RF10. Para agregar a un usuario o seguirlo, se podrá buscar su nombre de usuario o simplemente escanear el QR que puede mandar o mostrar por su pantalla.
  • RF11. El sistema de creación de cuentas e identificación, será propio y además debe implementar los sistemas de autorización de Google y Twitter.
  • RF12. A la hora de reservar se seleccionará la instalación, los extras y realizar el pago electrónico.
  • RF13. Para entrar a la instalación se presentará el QR de ficha de usuario. Quedando memorizado la entrada y salida.
  • RF14. Se podrá recibir notificaciones en todo momento.
  • RF15. Poder restablecer la contraseña del usuario.

Los requisitos del sistema del administrado son:

  • RF15. Se podrá gestionar las instalaciones.
  • RF16. Se permitirá poner un precio fijado por tramos horarios.
  • RF17. Se podrá gestionar los extras por pistas.
  • RF18. Gestión las reservas.
  • RF19. Se podrá listar y gestionar los usuarios.
  • RF20. Se podrán crear informes de contabilidad o información económica por pistas.

Requisitos no funcionales

Los requisitos no funcionales representan restricciones o condiciones que el cliente impone a la aplicación, como el tiempo de entrega del programa, el lenguaje… Los requisitos son los siguientes:

  • RNF1. Todos los datos se almacenarán remotamente en un servidor.
  • RNF2. La autorización se hará utilizando el sistema de Firebase.
  • RNF3. Las aplicaciones móviles deben ser multiplataforma y funcionar en Android o iOS, utilizando Kotlin Native.
  • RNF4. Los datos se almacenarán en la base de datos de Firebase.
  • RNF5. El acceso al almacenamiento se hará a través del servicio de Firebase.

Requisitos de información

Los requisitos de información representan entidades e información con las que va a trabajar nuestra aplicación TenisClubDroid.

  • RI1.Club. Representa al club y tiene los datos del club como el nombre, la ubicación y álbum de fotos.
  • RI2.Usuario. Representa a la persona que va a interactuar con la aplicación y tiene datos del usuario como el nickName, contraseña, fotografía, correo electrónico y código QR.
  • RI3.Partido. Representa los objetos de los partidos que los usuarios van a jugar y guardan información como nickname y correo de ambos contrincantes, el resultado y fotografías del partido.
  • RI4.Pistas. Representan las pistas del club y tienen datos como los extras que se pueden elegir ( luz, sistema de limpieza, tipo de suelo) , estado ( disponible o no disponible) y precio.
  • RI5.Reserva. Representan las reservas realizadas por el usuario, tiene datos como la pista donde se va a jugar, los extras, los identificadores del usuario que ha realizado la reserva y del adversario (si existe), la fecha, el precio y un identificador de la reserva.