Saltar a contenido

Inicio

Se pueden ver detalladamente todas las funcionalidades propuestas desde Requisitos funcionales y Requisitos no funcionales.

Alcance

Los requisitos definidos en esta sección abarcan las funcionalidades y restricciones principales de la plataforma Ilicitan Airlines, incluyendo la aplicación web, la aplicación móvil, el backend y la gestión de los datos.

Los requisitos contemplan tanto las operaciones realizadas por los usuarios como las funciones disponibles para los administradores.

Identificación

Los requisitos se identifican mediante un código único:

  • RF-XX - Requisito funcional.
  • RNF-XX - Requisito no funcional.
  • RN-XX - Regla de negocio.

El identificador permite referenciar un requisito desde otras partes de la documentación, como el análisis, la implementación y las pruebas.


Lista de funciones

En la siguiente lista se marcarán las funcionalidades que se hayan implementado, para ello, puede visitar cómo se van a implementar sobre el sistema propuesto en Implementación.

Estado ID Requisito
RF-01 El sistema permitirá a los usuarios crear una cuenta mediante correo electrónico y contraseña.
RF-02 El sistema permitirá registrarse e iniciar sesión mediante una cuenta de Google.
RF-03 El sistema permitirá registrarse e iniciar sesión mediante una cuenta de Apple.
RF-04 El usuario podrá iniciar y cerrar sesión desde la aplicación web y móvil.
RF-05 El usuario podrá consultar y modificar los datos personales almacenados en su perfil.
RF-06 El usuario podrá establecer, modificar y eliminar su fotografía de perfil.
RF-07 El sistema utilizará los datos almacenados en el perfil para rellenar automáticamente los datos del pasajero durante una reserva.
RF-08 El sistema permitirá realizar reservas sin disponer de una cuenta de usuario.
RF-09 El usuario podrá seleccionar si desea realizar un viaje de ida o de ida y vuelta.
RF-10 El usuario podrá seleccionar un aeropuerto de origen y uno de destino entre los disponibles.
RF-11 El sistema mostrará únicamente los destinos para los que existan vuelos desde el aeropuerto de origen seleccionado.
RF-12 El usuario podrá seleccionar la fecha de salida y, en viajes de ida y vuelta, la fecha de regreso.
RF-13 El usuario podrá indicar el número de pasajeros, diferenciando entre adultos, niños y bebés.
RF-14 El sistema permitirá un máximo de 8 pasajeros por reserva.
RF-15 El usuario podrá seleccionar la clase de viaje disponible, como Economy o Business.
RF-16 El sistema mostrará los vuelos disponibles que coincidan con los criterios de búsqueda.
RF-17 El sistema mostrará inicialmente los resultados ordenados por hora de salida local, de más temprano a más tarde.
RF-18 El usuario podrá ordenar los resultados por criterios como precio, duración u hora de salida.
RF-19 El usuario podrá aplicar filtros a los resultados de búsqueda según las características disponibles de los vuelos.
RF-20 El sistema no mostrará como disponibles para la reserva los vuelos que hayan alcanzado la capacidad máxima de pasajeros.
RF-21 El sistema podrá mostrar un mapa con las ciudades desde las que la aerolínea dispone de vuelos, permitiendo seleccionar una de ellas como origen.
RF-22 El usuario podrá seleccionar la opción "Cualquier lugar" como destino.
RF-23 Al seleccionar "Cualquier lugar", el sistema podrá mostrar en un mapa los destinos disponibles desde el origen seleccionado.
RF-24 El sistema podrá mostrar junto a cada destino del mapa el precio más bajo disponible para la fecha seleccionada.
RF-25 El sistema podrá proporcionar una lista de aeropuertos cercanos al seleccionar un aeropuerto de origen.
RF-26 El usuario podrá seleccionar un vuelo de ida entre los resultados obtenidos.
RF-27 En una reserva de ida y vuelta, el usuario podrá seleccionar posteriormente el vuelo de regreso.
RF-28 El sistema permitirá introducir los datos correspondientes a cada pasajero de la reserva.
RF-29 El usuario autenticado podrá utilizar los datos de su perfil para rellenar automáticamente los datos del pasajero.
RF-30 El usuario podrá seleccionar el asiento de cada pasajero entre los asientos disponibles.
RF-31 El sistema determinará si la selección del asiento tiene un coste adicional según las condiciones aplicables a la reserva.
RF-32 El sistema asignará automáticamente el equipaje incluido en la tarifa según las condiciones establecidas.
RF-33 El usuario podrá añadir equipaje facturado adicional durante el proceso de reserva.
RF-34 El sistema mostrará las condiciones y dimensiones máximas correspondientes a cada tipo de equipaje.
RF-35 Antes de confirmar la compra, el sistema mostrará un resumen del viaje, pasajeros, asientos, equipaje, extras y precio total.
RF-36 El usuario podrá introducir los datos necesarios para la facturación de la compra.
RF-37 El usuario podrá seleccionar un método de pago durante el proceso de compra.
RF-38 El sistema permitirá completar la compra mediante un sistema de pago simulado sin realizar una transacción económica real.
RF-39 Una vez completado el proceso de compra, el sistema generará y confirmará la reserva.
RF-40 Las reservas realizadas por usuarios autenticados quedarán asociadas a sus cuentas.
RF-41 El usuario autenticado podrá consultar sus reservas desde el apartado "Mis reservas".
RF-42 El usuario podrá consultar el detalle de una reserva, incluyendo vuelos, pasajeros, asientos, equipaje, clase y condiciones.
RF-43 El usuario podrá solicitar la cancelación de una reserva cuando las condiciones del billete lo permitan.
RF-44 El usuario podrá modificar el asiento asignado cuando exista disponibilidad y las condiciones del billete lo permitan.
RF-45 El usuario podrá modificar los datos del pasajero que puedan cambiarse sin realizar una nueva reserva.
RF-46 Los usuarios sin cuenta podrán consultar y gestionar sus reservas mediante los mecanismos habilitados para ello.
RF-47 El usuario podrá consultar individualmente cada vuelo incluido en una reserva.
RF-48 El usuario registrado podrá iniciar el proceso de check-in desde el detalle del vuelo de una reserva asociada a su cuenta.
RF-49 El usuario sin cuenta podrá iniciar el proceso de check-in mediante un mecanismo de identificación basado en el código identificativo de la reserva y los apellidos correspondientes.
RF-50 El sistema verificará que el código identificativo y los apellidos introducidos correspondan con una reserva válida antes de permitir el check-in.
RF-51 El sistema permitirá realizar el check-in únicamente durante el periodo habilitado para el vuelo correspondiente.
RF-52 Para vuelos internacionales, el sistema permitirá realizar el check-in desde 48 horas antes de la hora prevista de salida hasta 2 horas antes de dicha salida.
RF-53 Para vuelos nacionales, el sistema permitirá realizar el check-in desde 24 horas antes de la hora prevista de salida hasta 2 horas antes de dicha salida.
RF-54 El sistema permitirá consultar la fecha y hora exactas de apertura del check-in cuando todavía no se encuentre disponible.
RF-55 El sistema impedirá iniciar el proceso de check-in cuando los datos de identificación proporcionados por un usuario sin cuenta no correspondan con la reserva.
RF-56 El sistema mostrará un resumen del vuelo y de los pasajeros antes de completar el check-in.
RF-57 El usuario podrá consultar y modificar los datos API/APIS de los pasajeros durante el proceso de check-in.
RF-58 El sistema realizará el check-in de todos los pasajeros de la reserva correspondientes al vuelo seleccionado.
RF-59 Si un pasajero no dispone de asiento asignado al realizar el check-in, el sistema le asignará uno entre los asientos disponibles.
RF-60 El sistema generará una tarjeta de embarque para cada pasajero incluido en el check-in.
RF-61 El sistema permitirá obtener las tarjetas de embarque correspondientes a todos los pasajeros del vuelo que haya sido facturado.
RF-62 El usuario podrá descargar en formato PDF las tarjetas de embarque generadas después del check-in.
RF-63 El sistema no permitirá realizar nuevamente el proceso de check-in sobre un vuelo que ya haya sido facturado.
RF-64 Si el usuario vuelve a acceder al check-in de un vuelo ya facturado, el sistema permitirá obtener nuevamente las tarjetas de embarque correspondientes.
RF-65 En la aplicación móvil, el sistema permitirá consultar la tarjeta de embarque del vuelo facturado para su utilización durante el embarque.
RF-66 En la aplicación móvil, el usuario podrá descargar las tarjetas de embarque en formato PDF.
RF-67 En la aplicación móvil, el usuario podrá añadir las tarjetas de embarque a servicios de cartera digital compatibles.
RF-68 El sistema realizará el check-in de cada vuelo de una reserva de forma independiente.
RF-69 En una reserva de ida y vuelta, el usuario podrá realizar inicialmente el check-in del vuelo cuya ventana de check-in se encuentre abierta y deberá realizar posteriormente el check-in del vuelo de regreso cuando se abra su correspondiente periodo.
RF-70 El administrador de usuarios podrá crear, consultar, modificar y eliminar usuarios.
RF-71 El administrador de usuarios podrá modificar los datos de los perfiles de los usuarios.
RF-72 El administrador de usuarios podrá consultar, crear, modificar y eliminar reservas.
RF-73 El administrador de usuarios podrá gestionar las reservas asociadas a cualquier usuario.
RF-74 El administrador de usuarios dispondrá de un panel independiente para gestionar usuarios y reservas.
RF-75 El administrador de vuelos podrá crear, consultar, modificar, desactivar y eliminar ciudades y aeropuertos.
RF-76 El administrador de vuelos podrá crear, consultar, modificar, desactivar y eliminar aeronaves de la flota.
RF-77 El administrador de vuelos podrá crear, consultar, modificar, desactivar y eliminar vuelos.
RF-78 El administrador de vuelos podrá asignar una aeronave a un vuelo cuando sea compatible con el recorrido.
RF-79 El administrador de vuelos podrá activar o desactivar vuelos para controlar su disponibilidad para la venta.
RF-80 El administrador podrá importar y exportar información relacionada con vuelos, usuarios, aeronaves, aeropuertos y demás entidades gestionadas por el sistema.
Estado ID Requisito
RNF-01 El sistema deberá responder a las consultas de vuelos en un máximo de 2 segundos en condiciones normales de funcionamiento.
RNF-02 El sistema deberá soportar al menos 500 usuarios conectados simultáneamente sin degradar las funcionalidades principales.
RNF-03 Las operaciones de búsqueda y filtrado de vuelos deberán mantener un tiempo de respuesta inferior a 2 segundos con el volumen de datos previsto para el proyecto.
RNF-04 Toda comunicación entre las aplicaciones cliente y el backend deberá realizarse mediante HTTPS.
RNF-05 Las contraseñas de los usuarios no deberán almacenarse en texto plano en la base de datos.
RNF-06 El sistema deberá impedir que un usuario acceda a las reservas o datos personales pertenecientes a otro usuario sin disponer de los permisos correspondientes.
RNF-07 Las operaciones administrativas deberán requerir autenticación y autorización mediante el rol correspondiente.
RNF-08 Las credenciales y datos sensibles utilizados por el backend no deberán almacenarse directamente en el código fuente.
RNF-09 El sistema deberá impedir que dos usuarios confirmen simultáneamente el mismo asiento para un vuelo.
RNF-10 La creación de una reserva y la asignación de sus asientos deberán realizarse de forma transaccional, evitando reservas parcialmente almacenadas.
RNF-11 Una reserva confirmada deberá conservar sus datos aunque el usuario cierre sesión o se reinicie el backend.
RNF-12 El sistema deberá mantener la coherencia entre la disponibilidad de asientos almacenada y los asientos mostrados durante el proceso de reserva.
RNF-13 El sistema deberá mantener una disponibilidad mínima del 99,5 % mensual, excluyendo los periodos de mantenimiento programado.
RNF-14 La base de datos deberá disponer de copias de seguridad con una periodicidad máxima de 24 horas.
RNF-15 El sistema deberá permitir recuperar la información de las reservas a partir de una copia de seguridad en caso de pérdida de datos.
RNF-16 La aplicación web deberá funcionar correctamente en las versiones actuales de Chrome, Firefox, Edge y Safari.
RNF-17 La aplicación móvil deberá funcionar en las versiones de Android establecidas como compatibles para el proyecto.
RNF-18 La API deberá proporcionar respuestas compatibles con las aplicaciones web y móvil.
RNF-19 La aplicación web deberá cumplir los criterios aplicables de WCAG 2.2 nivel AA.
RNF-20 Las funciones principales de búsqueda, reserva y gestión de vuelos deberán poder utilizarse mediante teclado sin depender exclusivamente del ratón.
RNF-21 Los formularios deberán proporcionar información comprensible sobre los errores producidos al introducir datos no válidos.
RNF-22 La aplicación web deberá adaptarse a dispositivos de escritorio, tabletas y teléfonos móviles mediante un diseño responsive.
RNF-23 El backend deberá mantener separadas las responsabilidades de presentación, lógica de negocio y acceso a datos.
RNF-24 La comunicación entre las aplicaciones cliente y el backend deberá realizarse mediante una API REST.
RNF-25 La API deberá utilizar JSON como formato de intercambio de datos entre clientes y servidor.
RNF-26 Las operaciones de la API deberán utilizar los métodos HTTP correspondientes a la naturaleza de cada operación.
RNF-27 El sistema deberá permitir modificar o ampliar las funcionalidades de la aplicación sin requerir cambios innecesarios en el resto de componentes.
RNF-28 Las operaciones administrativas sobre usuarios, reservas y vuelos deberán quedar registradas junto con el usuario que las realizó y la fecha de ejecución.
RNF-29 El sistema deberá registrar los errores producidos en el backend para facilitar su diagnóstico y mantenimiento.
RNF-30 El sistema deberá limitar el acceso a los datos personales de los pasajeros según los permisos del usuario autenticado.
RNF-31 Los datos personales de los usuarios deberán almacenarse únicamente cuando sean necesarios para proporcionar las funcionalidades del sistema.
RNF-32 El sistema deberá mantener la integridad y consistencia de la información relacionada con reservas, pasajeros, vuelos y asientos.
RNF-33 El sistema deberá garantizar que la capacidad disponible de un vuelo sea coherente con la capacidad de la aeronave asignada y las reservas confirmadas.
Estado ID Regla
RN-01 Cada dirección de correo electrónico podrá estar asociada a una única cuenta de usuario.
RN-02 Una cuenta creada mediante correo electrónico y contraseña, Google o Apple no podrá utilizar posteriormente el mismo correo electrónico para crear una segunda cuenta mediante otro método de registro.
RN-03 Un usuario podrá realizar múltiples reservas, siempre que cada una cumpla las condiciones establecidas por el sistema.
RN-04 No se podrá realizar una reserva para un vuelo cuya fecha de salida ya haya pasado.
RN-05 Un usuario únicamente podrá consultar y gestionar las reservas asociadas a su propia cuenta.
RN-06 Una reserva podrá incluir como máximo 8 pasajeros.
RN-07 La clase de viaje seleccionada para una reserva se aplicará a todos los pasajeros incluidos en dicha reserva.
RN-08 Los usuarios registrados mediante correo electrónico y contraseña recibirán una fotografía de perfil predeterminada cuando no dispongan de una fotografía propia.
RN-09 Los usuarios registrados mediante Google utilizarán como fotografía de perfil la proporcionada por su cuenta de Google cuando esté disponible; en caso contrario, se utilizará una fotografía predeterminada.
RN-10 Los usuarios registrados mediante Apple utilizarán como fotografía de perfil la proporcionada por su cuenta de Apple cuando esté disponible; en caso contrario, se utilizará una fotografía predeterminada.
RN-11 Un vuelo deberá tener un aeropuerto de origen y un aeropuerto de destino diferentes.
RN-12 Los administradores no accederán a las funciones destinadas a los usuarios normales, sino únicamente a las funciones administrativas correspondientes a su rol.
RN-13 Los administradores podrán importar y exportar información del sistema mediante archivos en formato CSV.
RN-14 Un asiento no podrá estar asignado simultáneamente a más de un pasajero en un mismo vuelo.
RN-15 Un vuelo no podrá tener más pasajeros que la capacidad máxima de la aeronave asignada.
RN-16 La aeronave asignada a un vuelo deberá ser compatible con las características y condiciones establecidas para dicho vuelo.
RN-17 Los datos de una reserva confirmada deberán conservarse independientemente de que el usuario cierre sesión o deje de utilizar temporalmente la aplicación.
RN-18 Las operaciones administrativas estarán limitadas a las funciones autorizadas para el rol correspondiente.
RN-19 La disponibilidad de un asiento deberá actualizarse cuando sea asignado a un pasajero, evitando que pueda ser asignado posteriormente a otro pasajero del mismo vuelo.
RN-20 Una reserva de ida y vuelta deberá estar formada por un vuelo de ida y un vuelo de regreso compatibles con las fechas seleccionadas.
RN-21 Las condiciones de modificación y cancelación de una reserva deberán respetar las condiciones establecidas para el billete adquirido.
RN-22 La disponibilidad del check-in estará determinada por el tipo de vuelo y el periodo establecido para realizarlo.
RN-23 El check-in de un vuelo internacional podrá realizarse desde 48 horas antes de su salida y hasta 2 horas antes de la misma.
RN-24 El check-in de un vuelo nacional podrá realizarse desde 24 horas antes de su salida y hasta 2 horas antes de la misma.
RN-25 El check-in se realizará de forma independiente para cada vuelo incluido en una reserva.
RN-26 En una reserva de ida y vuelta, el check-in del vuelo de ida no implicará el check-in del vuelo de regreso.
RN-27 El check-in de una reserva se realizará para todos los pasajeros asociados al vuelo seleccionado.
RN-28 Cuando un pasajero no disponga de un asiento asignado al realizar el check-in, deberá recibir uno de los asientos disponibles del vuelo.
RN-29 Una vez realizado el check-in de un vuelo, no podrá volver a realizarse el proceso de check-in sobre ese mismo vuelo.
RN-30 Las tarjetas de embarque generadas corresponderán únicamente a los pasajeros y vuelos que hayan completado el proceso de check-in.
RN-31 Los datos API/APIS de los pasajeros podrán ser modificados durante el proceso de check-in antes de su confirmación.
RN-32 Los datos de un usuario no podrán ser modificados ni eliminados por otro usuario que no disponga de los permisos administrativos correspondientes.