0% encontró este documento útil (0 votos)
149 vistas37 páginas

Proyecto 2 - Informe

Este documento proporciona una descripción general de los requisitos funcionales y no funcionales de una plataforma de reservas de alojamientos online. Se describe el propósito, alcance y contexto del sistema, así como las principales funciones como búsqueda de alojamientos, realización de reservas y gestión de perfiles de usuario. También se explican los componentes clave del sistema y su integración con interfaces externas. Finalmente, se especifican requisitos adicionales como rendimiento, seguridad y calidad del software.

Cargado por

haiyong.319
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
149 vistas37 páginas

Proyecto 2 - Informe

Este documento proporciona una descripción general de los requisitos funcionales y no funcionales de una plataforma de reservas de alojamientos online. Se describe el propósito, alcance y contexto del sistema, así como las principales funciones como búsqueda de alojamientos, realización de reservas y gestión de perfiles de usuario. También se explican los componentes clave del sistema y su integración con interfaces externas. Finalmente, se especifican requisitos adicionales como rendimiento, seguridad y calidad del software.

Cargado por

haiyong.319
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Proyecto 2: Ingeniería de Requisitos

[Link]ón........................................................................................................................ 3
1.1 Propósito...................................................................................................................... 3
1.2 Alcance.........................................................................................................................3
1.3 Audiencia......................................................................................................................4
1.4 Contexto del Sistema................................................................................................... 4
2. Descripción en general......................................................................................................4
2.1 Perspectiva del Producto............................................................................................. 4
2.2 Funciones del Producto................................................................................................6
2.3 Clases de usuario y características..............................................................................8
2.4 Entorno operativo......................................................................................................... 9
2.5 Restricciones de diseño e implementación.................................................................. 9
2.6 Documentación del usuario........................................................................................ 11
2.7 Suposiciones y dependencias.................................................................................... 11
3. Interfaces externas requeridas....................................................................................... 13
3.1 Interfaz de usuarios....................................................................................................13
3.2 Interfaz de hardware.................................................................................................. 17
3.3 Interfaz de software....................................................................................................17
3.4 Interfaz de comunicación........................................................................................... 19
4. Características del sistema.............................................................................................21
4.1 Registro...................................................................................................................... 22
4.1.1 Descripción y prioridad...................................................................................... 22
4.1.2 Secuencia de respuesta....................................................................................22
4.1.3 Requisitos funcionales...................................................................................... 23
4.2.2 Secuencia de respuesta....................................................................................24
4.2.3 Requisitos funcionales...................................................................................... 24
[Link] requisitos no funcionales...................................................................................... 26
5.1 Requisitos de Rendimiento........................................................................................ 26
5.2 Requisitos de Seguridad............................................................................................ 26
5.3 Requisitos de Seguridad en uso................................................................................ 26
5.4 Atributos de Calidad de Software...............................................................................26
5.5 Reglas de negocio......................................................................................................27
[Link]ía........................................................................................................................ 27

1
2
[Link]ón

……

1.1 Propósito
El propósito principal de esta plataforma es facilitar a los usuarios la búsqueda y
reserva de alojamientos, garantizando una experiencia fluida y segura. Además, se
busca establecer una base clara para el diseño, desarrollo y evaluación del sistema.

1.2 Alcance
El alcance de este sistema abarca desde la búsqueda de alojamientos hasta la
confirmación de reservas, incluyendo funciones esenciales como la visualización de
resultados, la gestión de cuentas de usuario y la integración con sistemas externos,
como pasarelas de pago y sistemas de gestión de propiedades.

1.3 Audiencia
Esta documentación está destinada a desarrolladores, diseñadores, probadores y
cualquier otra parte interesada en el desarrollo y despliegue exitoso de la plataforma
de reservas de alojamientos.

1.4 Contexto del Sistema


El sistema se encuentra en el contexto del mercado de reservas de alojamientos en
línea y busca ofrecer una alternativa eficiente y confiable para los usuarios que
buscan opciones de hospedaje.

3
2. Descripción en general

2.1 Perspectiva del Producto

[Link] es una plataforma líder a nivel mundial en reservas de alojamientos y


servicios relacionados para viajes. Fundada en 1996, [Link] ha evolucionado
para convertirse en una herramienta integral para viajeros de todo el mundo,
ofreciendo una amplia gama de opciones de alojamiento que van desde hoteles y
apartamentos hasta casas vacacionales y resorts.

Este producto representa la culminación de años de innovación y adaptación a las


necesidades cambiantes de los viajeros modernos. [Link] ha demostrado ser
más que un simple sitio web de reservas; se ha convertido en una plataforma
completa que facilita la planificación de viajes desde la búsqueda y reserva de
alojamiento hasta la gestión de reservas y la obtención de recomendaciones
personalizadas.

Además de la reserva de alojamientos, [Link] ofrece una variedad de


servicios adicionales para satisfacer las necesidades de los viajeros. Estos incluyen
la posibilidad de reservar vuelos, alquilar coches, contratar servicios de taxi y
explorar atracciones turísticas de la ciudad. Esta amplia gama de servicios
complementarios permite a los usuarios planificar y reservar todos los aspectos de
su viaje en un solo lugar, haciendo que la experiencia de viaje sea más conveniente y
sin problemas.

Desde su origen, [Link] ha sido pionero en la integración de tecnologías


avanzadas para mejorar la experiencia del usuario, como algoritmos de
recomendación basados en inteligencia artificial, sistemas de clasificación de
establecimientos basados en comentarios de usuarios y una interfaz intuitiva que
permite una navegación sencilla y eficiente.

En términos de la perspectiva del sistema más grande, [Link] se integra con


una amplia variedad de proveedores de alojamiento y servicios, así como con
sistemas de pago y herramientas de análisis de datos. La plataforma actúa como un
intermediario confiable entre los clientes que buscan alojamiento y los proveedores
que desean comercializar sus servicios, creando una red interconectada que facilita
millones de transacciones cada día.

4
Un diagrama simple que ilustra los componentes principales del ecosistema de
[Link] al realizar un alojamiento de un hotel, incluiría los siguientes
elementos:

El diagrama muestra la estructura del sistema de [Link]. Los clientes


interactúan con el sistema para buscar y reservar alojamientos. El sistema de
reservas gestiona las reservas y la disponibilidad de alojamiento, mientras que el
sistema de recomendación ofrece sugerencias personalizadas. Los proveedores
ofrecen alojamiento a través del sistema, conectándose al sistema de reservas y al
sistema de pagos. Además, el sistema se integra con interfaces externas para
servicios de terceros y utiliza herramientas de análisis para mejorar la experiencia
del usuario.

Esta descripción general del producto [Link] proporciona una visión clara del
contexto y la complejidad del sistema, destacando su papel como un componente
fundamental en el ecosistema global de viajes y hospitalidad.

5
2.2 Funciones del Producto

La sección de funciones del producto resume las capacidades principales que


[Link] ofrece a sus usuarios. Desde la búsqueda y reserva de alojamientos
hasta la integración con sistemas externos y el análisis de datos para mejorar la
experiencia del usuario, estas funciones clave definen la utilidad y el alcance del
sistema de manera concisa y comprensible.

1. Búsqueda y visualización de alojamientos:


● Los usuarios pueden buscar alojamientos utilizando diferentes
criterios, como ubicación, fechas, tipo de alojamiento y precio.
● Una vez realizada la búsqueda, el sistema muestra una lista de
alojamientos disponibles junto con detalles como imágenes,
descripciones y precios.

2. Realización de reservas de alojamientos:


● Los usuarios pueden seleccionar un alojamiento de la lista y proceder
a realizar una reserva.
● Durante el proceso de reserva, los usuarios proporcionan detalles
como las fechas de llegada y salida, el número de personas y la
información de contacto.

3. Gestión de perfiles de usuario:


● Los usuarios pueden crear y gestionar sus perfiles, donde pueden
almacenar información personal, preferencias de viaje y detalles de
contacto.
● Esto permite una experiencia de reserva más personalizada y facilita la
gestión de reservas futuras.

4. Recepción de recomendaciones personalizadas:


● El sistema proporciona recomendaciones personalizadas de
alojamientos basadas en el historial de búsqueda y reserva del usuario,
así como en sus preferencias y comportamiento pasado.

5. Procesamiento de pagos de reservas:

6
● El sistema permite a los usuarios realizar pagos de reservas de forma
segura utilizando métodos de pago como tarjetas de crédito, PayPal u
otros servicios de pago en línea.

6. Integración con sistemas externos de reservas:


● El sistema se integra con otros sistemas de reservas externos, como
sistemas de reservas de vuelos, alquiler de coches y actividades, para
ofrecer una experiencia de viaje más completa.

7. Análisis de datos para mejorar la experiencia del usuario:


● El sistema recopila y analiza datos sobre el comportamiento de
búsqueda y reserva de los usuarios para identificar tendencias,
preferencias y áreas de mejora en la experiencia del usuario.

8. Gestión de disponibilidad y precios de alojamientos:


● El sistema gestiona la disponibilidad y los precios de los alojamientos
en tiempo real, asegurando que la información mostrada a los usuarios
sea precisa y actualizada.

Este diagrama representa las interacciones principales entre los usuarios, el sistema
de reservas y los sistemas externos en [Link]. Cada caja representa un
componente importante del sistema y las flechas indican la dirección del flujo de
datos entre ellos.

2.3 Clases de usuario y características

7
1. Usuarios Registrados:

Los usuarios registrados utilizan el producto de manera regular y tienen acceso


completo a todas las funciones. Pueden gestionar perfiles de usuario, guardar
búsquedas y reservas anteriores.

2. Usuarios Ocasionales:

Este grupo utiliza el producto de forma esporádica y se enfoca en funciones básicas


de búsqueda y reserva de alojamientos. Algunos pueden optar por no registrar un
perfil de usuario.

3. Administradores del Sistema:

Estos usuarios tienen acceso privilegiado para gestionar y mantener el sistema de


reservas. Son responsables de la administración de cuentas de usuario, resolución
de problemas técnicos y supervisión de la seguridad del sistema.

4. Gerentes de Marketing:

Utilizan herramientas de análisis de datos para evaluar el rendimiento del sitio web y
las campañas de marketing. Tienen acceso a métricas de tráfico y conversiones
para optimizar la experiencia del usuario y aumentar las reservas.

5. Personal de Atención al Cliente:

Responsables de brindar soporte y asistencia a los usuarios en caso de problemas o


consultas. Requieren habilidades de comunicación efectiva y capacidad para
resolver problemas de manera rápida y eficiente.

Las clases de usuarios más importantes son los Usuarios Registrados y los
Usuarios Ocasionales, ya que representan la base de clientes que utiliza el producto
regularmente. Los Administradores del Sistema también son críticos para garantizar
el funcionamiento adecuado del sistema.

8
2.4 Entorno operativo
El entorno operativo del software de [Link] abarcará una amplia variedad de
plataformas de hardware y sistemas operativos, con el objetivo de adaptarse a las
necesidades de múltiples dispositivos. Este software se prevé que sea compatible
con una amplia gama de dispositivos, desde computadoras de escritorio y portátiles
hasta tabletas y dispositivos móviles.

En cuanto a la plataforma de hardware, se espera que el software sea compatible


con sistemas basados en arquitecturas x86 y x64 en el caso de computadoras de
escritorio y portátiles. Para dispositivos móviles, se requerirá compatibilidad con
dispositivos iOS (iPhone, iPad) y Android.

Respecto al sistema operativo, se anticipa que el software será compatible con las
versiones más recientes de Windows, incluyendo Windows 10, así como con las
versiones más recientes de macOS, iOS y Android.

Además, el software de [Link] deberá ser compatible con una variedad de


navegadores web, entre los que se incluyen Google Chrome, Mozilla Firefox, Safari y
Microsoft Edge. También se integrará con sistemas de pago como PayPal, tarjetas
de crédito y otros métodos de pago en línea, y compartirá datos con herramientas de
análisis de datos para evaluar el rendimiento del sitio web y mejorar la experiencia
del usuario.

En resumen, el software de [Link] se esforzará por ser versátil y compatible


con una variedad de plataformas de hardware y sistemas operativos, al tiempo que
se integrará de manera fluida con otros componentes y aplicaciones de software
para garantizar una experiencia de usuario óptima.

2.5 Restricciones de diseño e implementación


Las opciones disponibles para los desarrolladores del software de [Link] se
ven limitadas por una serie de restricciones que deben ser consideradas
cuidadosamente durante el proceso de desarrollo e implementación. Estas
restricciones abarcan diversas áreas.

En primer lugar, las políticas corporativas y regulatorias son un factor crítico. Es


imprescindible que el software cumpla con todas las políticas corporativas internas
y regulaciones externas aplicables, especialmente en lo que respecta a la protección
de datos y la privacidad del cliente.

9
Además, las limitaciones de hardware deben ser tenidas en cuenta. Se deben
considerar las limitaciones de tiempo y memoria del sistema, especialmente en
entornos de alto rendimiento y grandes volúmenes de datos, para garantizar un
funcionamiento óptimo.

La interoperabilidad con otras aplicaciones y sistemas externos también es


fundamental. La compatibilidad y la interoperabilidad con sistemas de pago y
servicios de terceros son aspectos críticos que deben ser cuidadosamente
gestionados.

Asimismo, la selección de tecnologías, herramientas y bases de datos específicas


debe ser realizada con prudencia. Se deben seleccionar cuidadosamente las
tecnologías que mejor se adapten a los requisitos del proyecto, teniendo en cuenta
la escalabilidad, la seguridad y la eficiencia del sistema.

Para optimizar el rendimiento del sistema, especialmente en entornos de alta


concurrencia, se deben implementar operaciones paralelas eficientes que permitan
una ejecución simultánea de tareas.

El manejo de múltiples idiomas y caracteres especiales también es un requisito


importante. El software debe ser capaz de manejar múltiples idiomas para satisfacer
las necesidades de un público internacional diverso.

La seguridad de los datos del usuario y la protección contra posibles amenazas


cibernéticas son prioritarias. La implementación de medidas de seguridad robustas
es esencial para garantizar la integridad y confidencialidad de los datos.

Es fundamental seguir las convenciones de diseño y los estándares de


programación establecidos para garantizar la coherencia, la legibilidad y la
mantenibilidad del código.

Finalmente, si se espera que la organización del cliente sea responsable del


mantenimiento del software, se deben tener en cuenta consideraciones adicionales
para garantizar que el sistema sea fácilmente mantenible y actualizable en el futuro.

2.6 Documentación del usuario


La documentación del usuario que se entregará junto con el software de
[Link] incluirá los siguientes componentes:

1. Manual de usuario: Un documento detallado que proporciona instrucciones


paso a paso sobre cómo utilizar todas las funciones y características del

10
software. Este manual estará disponible en formato digital (PDF) y también se
podrá acceder a él en línea a través del sitio web de [Link].

[Link]

2. Ayuda en línea: Se proporcionará una sección de ayuda en línea dentro del


propio software, que estará disponible para los usuarios en cualquier
momento. Esta ayuda en línea incluirá preguntas frecuentes (FAQ), consejos
útiles y guías rápidas para resolver problemas comunes.

[Link]

3. Tutoriales: Se desarrollarán tutoriales interactivos y videos instructivos para


ayudar a los usuarios a familiarizarse con el software y aprender a utilizar sus
funciones de manera efectiva. Estos tutoriales estarán disponibles en el sitio
web de [Link] y en canales de redes sociales para facilitar su acceso.

La entrega de la documentación del usuario seguirá los estándares de entrega


establecidos por la industria, asegurando que los documentos estén bien
organizados, sean fáciles de entender y estén disponibles en varios formatos para
adaptarse a las preferencias de los usuarios. Se proporcionarán actualizaciones
regulares de la documentación del usuario para reflejar los cambios y mejoras en el
software.

2.7 Suposiciones y dependencias


El desarrollo y la implementación del software de [Link] están sujetos a
varias suposiciones y dependencias que podrían afectar los requisitos establecidos
en el SRS.

Suposiciones:

1. Disponibilidad y compatibilidad de componentes comerciales: Se asume que


los componentes comerciales o de terceros que se planea utilizar estarán
disponibles y serán compatibles con el entorno operativo y de desarrollo.

11
2. Estabilidad del entorno operativo: Se supone que el entorno operativo,
incluidos los sistemas operativos y las herramientas de desarrollo,
permanecerá estable durante el desarrollo y la implementación del software.
3. Disponibilidad de recursos: Se presupone que los recursos necesarios, como
personal, tiempo y financiamiento, estarán disponibles según lo planeado
para llevar a cabo el proyecto de manera efectiva.
4. Aceptación del usuario final: Se asume que los usuarios finales aceptarán y
adoptarán el software de [Link] de manera positiva una vez que esté
disponible.

Dependencias:

1. Componentes de software reutilizados: El proyecto depende de la


disponibilidad y el funcionamiento correcto de los componentes de software
reutilizados de otros proyectos, a menos que estén documentados en otro
lugar.
2. Integración con sistemas externos: La integración exitosa con sistemas
externos, como sistemas de pago y servicios de terceros, es crucial para el
funcionamiento adecuado del software de [Link] y representa una
dependencia importante del proyecto.

El proyecto podría verse afectado negativamente si estas suposiciones resultan ser


incorrectas, no se comparten o cambian durante el curso del desarrollo. Del mismo
modo, cualquier cambio o falla en las dependencias identificadas podría afectar la
calidad y la entrega oportuna del software. Es importante monitorear y gestionar
estas suposiciones y dependencias de manera proactiva durante todo el ciclo de
vida del proyecto.

12
3. Interfaces externas requeridas

3.1 Interfaz de usuarios


[Link] tiene como propósito proporcionar la posibilidad de reservar
alojamientos a sus clientes, y ayudar en la planificación y organización de sus viajes,
con reservas de vuelos, taxis, alquiler de coches, etc.
Por ello, hay 6 interfaces principales a las que un cliente tiene acceso en todo
momento: Alojamiento, Vuelos, Vuelo + Hotel, Alquiler de coches, Atracciones
turísticas y Taxis aeropuerto.
Tanto la página web como la aplicación móvil de [Link] utilizan los mismos
estándares para sus interfaces. Ambos tienen un formato similar para facilitar su
navegación, y ofrecen opciones similares.

● Botones y funciones estándar:


Todas las interfaces (excepto Vuelo + hotel) disponen de la misma cabecera, que
muestra el logo de [Link] y la opción de navegar entre las interfaces
principales.
Adicionalmente, hay opciones de ajustes en todo momento: la opción de cambiar el
tipo de moneda, de cambiar el idioma y de ver las notificaciones.
La cabecera también dispone de un botón de “ayuda al cliente”, y la opción de
registrar alojamiento.
Por último, y más importante, se dispone de un menú relacionado con la cuenta de
usuario en todo momento, pudiendo gestionar tu cuenta o tus reservas, entre otras
opciones.

- Los botones de “cambio de moneda e idioma” despliegan un menú con el


mismo formato, con todas las opciones en pantalla, en líneas de cuatro sobre
un fondo blanco. En ambos hay una sección principal, “Recomendado para ti”,
con unas 5-6 opciones, y una sección de “Tod@s l@s idiomas/monedas”.

13
- El botón de “ayuda al cliente” traslada el usuario a la página de ayuda, donde
se muestran las reservas del cliente para que este seleccione con qué reserva
está relacionado su problema. Además, hay una lista de preguntas frecuentes,
separadas por temas, para ayudar con las dudas del usuario.
- El botón de “ver notificaciones” muestra una lista de notificaciones vertical,
todas con el mismo formato. El botón cambia de aspecto si hay alguna
notificación sin leer.
- El botón de “registra tu alojamiento” traslada el usuario a la página de alta de
alojamiento, donde el usuario puede registrarse como colaborador y registrar
su alojamiento.
- El botón de “usuario” despliega un menú con 7 opciones: Gestionar cuenta,
Reservas y viajes, Programa de fidelización Genius, Premios y monedero,
Comentarios, Favoritos y Cerrar Sesión. Todas estas opciones llevan a sus
respectivas páginas.

El pie de página también es compartido entre las 6 interfaces, mostrando una


variedad de opciones con un formato mucho más simple y menos llamativo que el
resto de la página.

14
● Formatos estándar:

Fuente:

[Link] utiliza una fuente personalizada, llamada “Booking Sans”.

Colores:
El color principal que utiliza la página es un azul oscuro, utilizado para la cabecera.
También utiliza otro azul, más claro, principalmente para botones. El fondo es de un
color blanco, para resaltar las imágenes de alojamientos, ciudades, etc. Además de
estos, se utiliza mucho el color negro para el texto, y gris claro y amarillo en menor
medida para otros elementos.

15
Todas las interfaces principales contienen un buscador arriba, con un formato
similar, usando un color blanco para el fondo, color naranja para las líneas y un
botón azul con texto blanco para buscar.

El formato del botón de buscar (fondo azul, texto blanco en negrita, esquinas
redondeadas) se aplica a todos los botones similares en todas las interfaces:

Las opciones principales y recomendaciones que la página muestra como prioridad


tienen un aspecto estandarizado: un título en negrita y una selección de imágenes
sobre un fondo blanco, con las esquinas redondeadas, y el nombre del
destino/vuelo/etc. + un dato adicional, con texto blanco encima de la imagen o
debajo de la propia imagen en negrita.

16
La mayoría de las interfaces disponen de una sección de “Preguntas frecuentes” o
“Ayuda” abajo, utilizando blancos y grises para el fondo, sin colores llamativos.

Los avisos se muestran en un fondo anaranjado, para destacar sobre el resto de la


página, que utiliza mayormente tonos azules y blancos. Las esquinas están
redondeadas, de la misma forma que todos los cuadrados y rectángulos de todas
las interfaces.

Los errores se muestran con texto de color rojo:

3.2 Interfaz de hardware


[Link] tiene dos interfaces principales, orientadas a dos tipos de hardware.

● Página web

17
Por un lado, la interfaz de su página web, que admite ordenadores de sobremesa y
portátiles con sistemas basados en arquitecturas x86 y x64, pero también se puede
navegar en tablets y teléfonos móviles de todo tipo. Los usuarios interactúan con la
interfaz mediante su navegador web, comunicándose con los servidores de
[Link] mediante HTTP/HTTPS.
Los usuarios proporcionan diferentes tipos de input mediante consultas de
búsqueda, proporcionando su correo electrónico al crear su cuenta, haciendo
reservas mediante la interfaz… y estos datos se envían a los servidores de Booking,
que organizan y gestionan la información en distintas bases de datos.

● Aplicación móvil
Por otro lado, la aplicación móvil, destinada a teléfonos móviles y tablets de iOS y
Android. Los usuarios interactúan con la interfaz utilizando la aplicación y sus
controles táctiles, realizando consultas de búsqueda, introduciendo todo tipo de
datos, haciendo reservas y gestionándolos.
Las interacciones de la aplicación móvil son muy similares a las de la página web, y
ambas tienen acceso a la información del otro, compartiendo la mayor parte de los
datos de usuario, alojamientos, comentarios, etc.

3.3 Interfaz de software


[Link] hace uso de diversos componentes de software, incluyendo bases de
datos, herramientas, librerías y otros componentes integrados. Aunque [Link]
no proporciona información sobre la versión exacta de los componentes que utiliza,
sí hay información sobre para qué propósito utiliza cada uno:

● MySql
[Link] utiliza MySql como base de datos para guardar la mayor parte de sus
datos operacionales.

● Riak
Para los datos no operacionales, como estado, información secundaria, logs,
mensajes y errores, etc. [Link] implementa una base de datos noSql con
Riak. Este tipo de información se agrupa en “eventos”, que son generados a un ritmo
de más de mil millones de eventos por día, ocupando más de 6 TB de información al
día. Para trabajar con esa información utilizan los siguientes programas:
- Visualización: Para crear gráficos con la información obtenida, utilizan una
versión modificada de Graphite.

18
- Detección de anomalías: Utilizan sistemas de notificaciones como Seyren
para recibir alertas de anomalías, por si algo no está funcionando
correctamente en el sistema.
- Buscar errores: Utilizan ElasticSearch para realizar seguimientos de pila y
poder contar con mucha más información para poder asesorar los errores
más adecuadamente.

Un diagrama simplificado del flujo de datos:

● Spanner y BigQuery
[Link] utiliza la base de datos Spanner para guardar datos analíticos junto a
los datos operacionales que guardan en sus bases de datos relacionales, todo en
una misma vista. Junto a esta base de datos, utilizan BigQuery para ahorrar tiempo
en la enorme cantidad de consultas que necesitan ejecutar (más de 1 millón de
consultas al mes, escaneando más de 2 PB de datos).

● DataFlow
Para el procesamiento de datos, Booking utiliza Google DataFlow, un framework de
procesamiento de datos de streaming y por lotes unificado. Este framework integra
tanto Spanner como BigQuery.

● GraphQL y Apollo
Para poder consultar todos los datos relevantes de Booking, la empresa utiliza
GraphQL, un lenguaje de consultas para APIs. Con GraphQL, mapean las APIs
necesarias a ficheros Schema.

19
Sin embargo, esto conlleva varias dificultades, por lo que Booking trabaja con Apollo,
que les provee con librerías, servicios y herramientas para trabajar con GraphQL.

● Conductor y AWS Step Functions


Para gestionar los procesos de trabajo, Booking implementa Conductor, un motor de
procesos creado por Netflix. Sin embargo, como Conductor está diseñado para la
base de datos que utiliza Netflix, Dynomite, y no para MySql, se tuvo que
implementar AWS Step Functions para minimizar el costo operacional.

3.4 Interfaz de comunicación


Al ser una página tan compleja con tantas funcionalidades, [Link] hace uso
de varios protocolos de comunicación:

● HTTPS
Booking utiliza el protocolo HTTPS para la comunicación entre los clientes y sus
servidores web.

● APIs de Conectividad
Más específicamente, Booking y sus colaboradores usan unas APIs para enviar y
recibir datos de distintas propiedades de [Link], como reservas, precios,
disponibilidad de habitaciones…
Los APIs disponen de funciones especializadas, divididas en las siguientes
categorías:
- Contenido: Crear propiedades, precios habitaciones, políticas, y enlazar toda
esta información para la página de [Link]
- Precios y disponibilidad: Cargar cantidad de habitaciones disponibles,
precios, y restricciones de disponibilidad de estos por fecha.
- Reservas: Obtener reservas, modificaciones y cancelaciones desde la página
web.
- Promociones: Crear promociones especiales para fechas específicas.
- Informar: Informar problemas de tarjetas de crédito, cambios de reservas
después del check-in, etc.

Las APIs de Conectividad de Booking utilizan los siguientes URL base:

- [Link] - Para servidores no-PCI, para gestionar


información no relacionada con reservas.

20
- [Link] - Para servidores PCI, para obtener y
confirmar reservas.

Las APIs aceptan solicitudes en estos formatos:

- OTA: Un XML Schema diseñado por OpenTravel Alliance, creado con el


propósito de ser usado por agencias de viaje. Las APIs de [Link]
utilizan la versión 2003B de OTA.
- [Link]: Un XML Schema diseñado por [Link], para todas las
funcionalidades que OTA no puede cumplir.
- JSON: JSON significa JavaScript Object Notation, y lo utilizan por su
estructura flexible y no estricta.

Todas las solicitudes se codifican con UTF-8, y utilizan el protocolo HTTPS para
garantizar su seguridad.

● SNMP y BIG-IP
SNMP (Simple Network Management Protocol) es un protocolo de internet que se
utiliza para gestionar y monitorizar máquinas, incluyendo servidores, routers y otro
tipo de máquinas similares. [Link] hace uso de SNMP para obtener
información sobre conexiones, como cantidad de solicitudes HTTP.
Para gestionar esa información más cómodamente y obtener más información
adicional, Booking hace uso de BIG-IP de F5, una plataforma de gestión de tráfico.

● SMTP/IMAP/POP3
[Link] se comunica con el cliente mediante correo electrónico, para enviar
confirmaciones de reserva, publicidad, actualizaciones de cuenta y otros tipos de
notificaciones. Para ello, utiliza protocolos de correo estándares, como SMTP
(Simple Mail Transfer Protocol), IMAP (Internet Message Access Protocol) y POP3
(Post Office Protocol 3).

21
4. Características del sistema
Cuando se analizan las características del sistema es primordial comprender el
funcionamiento, rendimiento, capacidad, limitaciones y usabilidad de este.
[Link] es una plataforma de servicios de reserva de hoteles online pero
además de esto también dispone de servicios como vuelos, alquiler de coches,
reservas en atracciones turísticas y diferentes tipos de ofertas. En este apartado
analizaremos todas esas funcionalidades.

Booking también tiene una opción de hotel + vuelo pero al ser una opción
compuesta por hotel y vuelo hemos decidido no analizarlo de forma conjunta si no
de forma separada.

Hay funcionalidades como comentarios, atención al cliente, reservas y viajes… que


no se han podido analizar ya que estos requieren de haber realizado una reserva con
anterioridad, en ellas se solicita un código o se tiene a disposición un link para poder
realizar las consultas necesarias

4.1 Registro
Mediante el uso de unas credenciales podemos crear una cuenta personal para
realizar reservas.

4.1.1 Descripción y prioridad

El poder crear una cuenta permite a los usuarios poder realizar y consultar reservar,
acceder a diferentes tipos de ofertas, poner reseñas… Es una funcionalidad de
prioridad alta.

Beneficio: Es una funcionalidad de gran beneficio, ya que sin ésta el hecho de


realizar tanto reserva como compras se hace más difícil. Además los usuarios no
tendrían acceso a tantas ofertas, es por ello que en este apartado tiene un 8.

Penalización: El no implementar esta funcionalidad o implementarla mal


puede llevar a tener una gran penalización, el tener un usuario registrado hace que
pueda acceder a diferentes ofertas y servicios, es por esto que este apartado tiene
un 8.

Costo: Esta funcionalidad requiere de una base de datos (booking utiliza


mysql y bigquery), debe ser suficientemente grande como para guardar miles de
usuarios, también requiere un equipo para realizar testing, es por esta razón que este
apartado tiene un 6.

22
Riesgo: El riesgo de implementar mal esta funcionalidad. Es por ello que este
apartado tiene un 2.

4.1.2 Secuencia de respuesta

1. Primero tendremos que pulsar en el botón de Hazte una cuenta.


2. Introducción de correo electrónico o inicio de sesión mediante diferentes
plataformas. El sistema indica que debemos introducir el correo electrónico
al principio o seleccionar opciones como inicio de sesión por facebook,
cuenta de apple o cuenta de google.
a. Registro mediante correo: En este caso se introduce el correo
electrónico y se pulsa continuar con e-mail
b. Inicio de sesión mediante facebook, apple o google: En este caso
pulsaremos una de las tres opciones y este nos redirigirá a la página
correspondiente para realizar el registro con nuestra cuenta ( facebook,
apple o google).
3. En caso de que iniciemos sesión con otra cuenta (google, facebook o apple)
ya podremos acceder a la aplicación sin problema, en cambio si solo
introducimos el email el sistema nos pedirá escribir dos veces la contraseña
y pulsar Crear una cuenta.
4. Una vez realicemos estos pasos ya tendremos la cuenta creada y además ya
estaremos con la sesión iniciada aunque tendremos que verificar nuestra
cuenta.

4.1.3 Requisitos funcionales

REQ-1 El sistema tiene que dejar introducir el correo electrónico o pulsar en


los diferentes métodos de inicio de sesión.

REQ-2 El sistema debe asegurar que el correo electrónico no esté asociado a


alguna cuenta ya creada y que este tenga un formato válido.

REQ-3 El sistema debe permitir introducir la contraseña y asegurarse de que


está en un formato válido.

REQ-4 El sistema debe enviar un correo electrónico para realizar la


verificación de la cuenta.

REQ-5 El sistema debe guardar la información del usuario en la base de


datos.

23
4.2 Inicio de sesión
Método por el cual podremos acceder a una cuenta privada.

4.2.1 Descripción y prioridad

Mediante unas credenciales podemos tener acceso a nuestra cuenta en la que


podremos realizar, modificar o cancelar reservas y acceder a diferentes tipos de
ofertas. Al igual que en el registro esta es una funcionalidad de prioridad alta.

Beneficio: Es una funcionalidad esencial, ya que como hemos comentado


anteriormente en el registro necesitamos esta funcionalidad para realizar reservas,
por ello en este apartado tiene un 8.

Penalización: El no implementar esta funcionalidad bien significa que las


personas no tendrían acceso a las reservas ya realizadas o no serían capaces de
realizar una nueva. Es por ello que en este apartado tiene un 8.

Costo: Esta es una funcionalidad que requiere acceso a una base de datos en
la que se realizan consultas continuamente, acceso de forma rápida y segura a la
cuenta… Para ello se necesitará un equipo capacitado que lleve a cabo las pruebas
de calidad, es por esta razón que este apartado tiene un 6.

Riesgo: El riesgo de realizarla mal puede dar problemas a los diferentes tipos
de usuario a la hora de realizar un acceso correcto, seguro y veloz, es por ello que
este apartado tiene un 5.

4.2.2 Secuencia de respuesta

1. Tendremos que pulsar en el botón de Inicia sesión.


2. Introducción de correo electrónico o inicio de sesión mediante diferentes
plataformas. El sistema indica que debemos introducir el correo electrónico
al principio o seleccionar opciones como inicio de sesión por facebook,
cuenta de apple o cuenta de google.
a. Registro mediante correo: En este caso se introduce el correo
electrónico y se pulsa continuar con e-mail.
b. Inicio de sesión mediante facebook, apple o google: En este caso
pulsaremos una de las tres opciones y este nos redirigirá a la página
correspondiente para realizar el registro con nuestra cuenta ( facebook,
apple o google).
3. En caso de que iniciemos sesión con otra cuenta (google, facebook o apple)
ya podremos acceder a la aplicación sin problema. En cambio, si solo

24
introducimos el email el sistema nos pedirá una vez la contraseña y pulsar
Iniciar sesión.
4. Una vez realicemos estos pasos ya tendremos acceso a las funcionalidades
de nuestra cuenta.

4.2.3 Requisitos funcionales

REQ-1 El sistema tiene que dejar introducir el correo electrónico o pulsar en


los diferentes métodos de inicio de sesión.

REQ-2 El sistema debe asegurar que el correo electrónico esté asignado a


una cuenta ya creada.

REQ-3 El sistema debe permitir introducir la contraseña y asegurarse de que


es correcta.

REQ-4 Una vez iniciada la sesión el sistema debe permitir acceso a las
diferentes funcionalidades como la de realizar reserva.

4.3 Reserva alojamiento


Con esta funcionalidad se podrá realizar una reserva en un hotel, hostal,
apartamentos…

4.3.1 Descripción y prioridad

Mediante esta funcionalidad podremos realizar reservas en diferentes tipos de


alojamientos. Esta es una funcionalidad de prioridad alta.

Beneficio: Esta es la principal funcionalidad de la plataforma con esta


podremos seleccionar las fechas en las que queremos alojarnos y realizar la reserva,
por ello en este apartado tiene un 9.

Penalización: El no implementar esta funcionalidad de forma correcta podría


provocar una gran pérdida ya que esta es la funcionalidad principal y los usuarios
podrían elegir otras alternativas para realizar las reservas, por ello en este apartado
tiene un 9.

Costo: El hecho de que sea una funcionalidad tan importante requiere una
gran cantidad de recursos, testeos, bases de datos y la integración en el sistema
deben ser perfectos, es por ello que en este apartado tiene un 9.

25
Riesgo: El riesgo de realizarla mal puede dar problemas a los diferentes tipos
de usuario a la hora de realizar reservas, los usuarios podrían elegir otras
alternativas para realizar las reservas, es por ello que este apartado tiene un 9.

4.3.2 Secuencia de respuesta

1. Nada más entrar en la página se selecciona la opción de alojamiento.


2. En la pantalla de alojamiento habrá que introducir la ciudad donde se quieran
mostrar los alojamientos. El sistema mismo irá mostrando diferentes tipos de
opciones en función de las letras que introducimos. Aquí tenemos 2
opciones:
a. Pulsar buscar (en este caso solo se hará la búsqueda con 1
habitación).
b. Introducir datos de fechas y habitaciones.
3. Una vez se hayan mostrado las opciones se tendrá que seleccionar ver
disponibilidad en la opción deseada.
4. El sistema nos mostrará información sobre la habitación y tendremos que
pulsar en reservar.
5. El sistema nos pedirá que introduzcas datos personales como nombre,
apellido, correo, teléfono, país, hora aproximada de la llegada… Una vez
hayamos acabado de introducir los datos pulsaremos siguiente.
6. El sistema nos pedirá que pulsemos con qué método de pago queremos
pagar, aquí tendremos 3 opciones:
a. Pagar con tarjeta con el cual nos pedirá que introduzcamos el número
de tarjeta, el nombre del titular de la cuenta, fecha de caducidad y cvc.
b. Pagar con google play, esta opción nos llevará a la billetera de nuestra
cuenta de google.
c. Pagar con paypal esta opción nos llevará al igual que con la cuenta de
google a pagar con la billetera de paypal.
7. Pulsaremos reservar y pagar y nos llegará una confirmación de la compra por
medio del correo electrónico.

4.3.3 Requisitos funcionales

REQ-1 El sistema debe permitir introducir lugares que existen en el mapa.

REQ-2 El sistema solo debe permitir incluir la fecha actual o posterior.

REQ-3 El sistema debe permitir introducir la cantidad de habitaciones que se


quieran incluir y este no debe ser un número negativo.

26
REQ-4 El sistema debe mostrar solo las habitaciones que están disponibles
en las fechas seleccionadas por los usuarios.

REQ-5 El sistema debe permitir filtrar las habitaciones por precio, tipo de
alojamiento, con comida, sin comida, puntuación, categoría, marcas…

REQ-6 El sistema debe mostrar los datos del apartamento seleccionado


como el tipo de apartamento, precio, opciones seleccionadas.

REQ-7 El sistema debe permitir introducir datos personales como nombre,


apellido, correo…

REQ-8 El sistema debe validar que los datos personales necesarios han sido
introducidos y que el correo es correcto.

REQ-9 A la hora de realizar el pago el sistema debe validar que la tarjeta de


crédito es correcta o que la forma de pago es correcta.

REQ-10 El sistema debe enviar un correo a la cuenta asociada con los datos
de la reserva si se ha realizado correctamente.

4.4 Vuelos
Con esta funcionalidad se podrá realizar la reserva de un vuelo de ida, ida y vuelta,
múltiple…

4.4.1 Descripción y prioridad

Mediante esta funcionalidad podremos realizar reservas de diferentes tipos de


vuelo. Esta es una funcionalidad de prioridad alta.

Beneficio: Esta es una funcionalidad muy importante en la plataforma con


esta podremos seleccionar las fechas en las que queremos realizar el vuelo y
realizar la reserva, por ello en este apartado tiene un 8.

Penalización: El no implementar esta funcionalidad de forma correcta podría


provocar una gran pérdida, ya que esta es, junto con la de reservar alojamiento, una
de las principales funcionalidades y los usuarios podrían elegir otras alternativas
para realizar las reservas. Por ello en este apartado tiene un 8.

Costo: El hecho de que sea una funcionalidad tan importante requiere una
gran cantidad de recursos, testeos, bases de datos y la integración en el sistema
deben ser perfectos, es por ello que en este apartado tiene un 9.

27
Riesgo: El riesgo de realizarla mal puede dar problemas a los diferentes tipos
de usuario a la hora de realizar reservas, los usuarios podrían elegir otras
alternativas para realizar las reservas, es por ello que este apartado tiene un 8.

4.4.2 Secuencia de respuesta

1. Nada más entrar en la página se selecciona la opción de vuelos.


2. En la pantalla de vuelos habrá que introducir el aeropuerto de origen y el
aeropuerto de destino (o ciudad de destino, en este caso nos buscará todos
los aeropuertos de la ciudad), introducir las fechas (por defecto ya nos
aparecen fechas seleccionadas), introducir si sera viaje de ida, ida y vuelta… y
cuantas personas irán.
3. Una vez se hayan mostrado las opciones se tendrá que seleccionar ver
detalles en la opción deseada.
4. El sistema nos mostrará información sobre el/los vuelos y tendremos que
pulsar en seleccionar.
5. El sistema nos pedirá que introducimos el nombre, apellido, sexo, correo
electrónico y el numero de telefono y pulsar siguiente.
6. El sistema nos pedirá que seleccionemos si queremos añadir más equipaje y
seguro de viaje y se pulsará la opción siguiente.
7. El sistema mostrará los asientos que están libres y podremos seleccionar en
cual sentarnos.
8. El sistema nos pedirá que pulsemos con qué método de pago queremos
pagar, aquí tendremos 3 opciones:
a. Pagar con tarjeta con el cual nos pedirá que introduzcamos el número
de tarjeta, el nombre del titular de la cuenta, fecha de caducidad y cvc.
b. Pagar con google play, esta opción nos llevará a la billetera de nuestra
cuenta de google.
c. Pagar con paypal esta opción nos llevará al igual que con la cuenta de
google a pagar con la billetera de paypal.
9. Pulsaremos reservar y pagar y nos llegará una confirmación de la compra por
medio del correo electrónico.

4.4.3 Requisitos funcionales

REQ-1 El sistema debe permitir seleccionar aeropuerto de origen y destino.

REQ-2 El sistema solo debe permitir incluir la fecha actual o posterior.

REQ-3 El sistema debe permitir introducir la cantidad de personas que irán.

28
REQ-4 El sistema debe permitir seleccionar el tipo de vuelo ida, ida vuelta,
turista, business…

REQ-5 El sistema debe mostrar solo los vuelos disponibles en las fechas
indicadas.

REQ-6 El sistema debe permitir filtrar los vuelos por precio, hora, duración de
vuelo…

REQ-7 El sistema debe mostrar el resumen con los tiempos estimados de


viaje.

REQ-8 El sistema debe permitir introducir datos personales como nombre,


apellido, sexo, correo y numero de telefono.

REQ-9 El sistema debe validar que los datos personales necesarios han sido
introducidos y que el correo y el teléfono es correcto.

REQ-10 El sistema debe mostrar los asientos disponibles y debe permitir


seleccionarlos.

REQ-11 A la hora de realizar el pago el sistema debe validar que la tarjeta de


crédito es correcta o que la forma de pago es correcta.

REQ-12 El sistema debe enviar un correo a la cuenta asociada con los datos
de la reserva si se ha realizado correctamente.

4.5 Alquiler de coches


Con esta funcionalidad se podrá alquilar un coche.

4.5.1 Descripción y prioridad

Mediante esta funcionalidad podremos realizar el alquiler de un coche. Esta es una


funcionalidad de prioridad media-baja.

Beneficio: Esta es una funcionalidad que nos permite reservar un coche


durante un periodo determinado de tiempo, no es una funcionalidad muy importante
ya que los usuarios pueden optar por tomar un taxi o usar transporte público, por
ello en este apartado tiene un 3.

Penalización: El no implementar esta no tendría una gran penalización ya que


los clientes posiblemente opten por otras vías, por ello en este apartado tiene un 3 .

29
Costo: Esta funcionalidad es implementada por medio de compañías que se
dedican a alquilar coches, es decir, en la página solo se muestran las ofertas de esas
empresas, es por ello que en este apartado tiene un 3.

Riesgo: No hay un gran riesgo asociado al fin y al cabo los usuarios pueden
elegir otras opciones, es por ello que este apartado tiene un 3.

4.5.2 Secuencia de respuesta

1. Nada más entrar en la página se selecciona la opción de alquiler de coches.


2. En la pantalla de alquiler de coches habrá que introducir el lugar de recogida,
fecha y hora de recogida y fecha y hora de devolución.
3. Una vez se hayan mostrado las opciones se tendrá que seleccionar ver oferta
en la opción deseada.
4. El sistema nos mostrará información sobre el coche y tendremos que pulsar
en continuar con la reserva.
5. El sistema nos pedirá que seleccionemos la opción de reservar con seguro o
sin seguro, en ambos casos nos llevará a la zona en la que tendremos que
introducir nuestros datos personales.
6. En la última página habrá que introducir datos personales del conductor,
dirección de facturación y datos de la tarjeta con la que se va a realizar el
pago, una vez finalizado se pulsara en reservar y pagar y nos llegará una
confirmación de la compra por medio del correo electrónico.

4.5.3 Requisitos funcionales

REQ-1 El sistema debe permitir seleccionar el lugar de recogida.

REQ-2 El sistema solo debe permitir incluir la fecha actual o posterior (lo
mismo con la hora).

REQ-3 El sistema debe mostrar solo los coches disponibles para las fechas y
horas indicadas.

REQ-4 El sistema debe permitir filtrar por tipo de coche, lugar, precio,
características…

REQ-5 El sistema debe mostrar detalles del coche y debe permitir añadir
accesorios como sillas de niño.

REQ-6 El sistema debe mostrar la cobertura que tiene el coche y debe permitir
elegir entre las diferentes opciones.

30
REQ-7 El sistema debe permitir introducir datos personales como nombre,
apellido, sexo, correo y numero de telefono.

REQ-8 El sistema debe validar que los datos personales necesarios han sido
introducidos y que el correo y el teléfono es correcto.

REQ-9 A la hora de realizar el pago el sistema debe validar que la tarjeta de


crédito es correcta.

REQ-10 El sistema debe enviar un correo a la cuenta asociada con los datos
de la reserva si se ha realizado correctamente.

4.5 Atracciones turísticas


Con esta funcionalidad se podrá comprar billetes para participar en diferentes
experiencias y atracciones.

4.5.1 Descripción y prioridad

Mediante esta funcionalidad podremos realizar la reserva en diferentes


parques de atracciones, tours, museos…

Beneficio: Esta es una funcionalidad que no es muy importante ya que los


usuarios pueden optar por comprar las entradas en el mismo lugar donde se
realizan, exceptuando casos específicos siempre suele haber entradas, por ello en
este apartado tiene un 2.

Penalización: El no implementar esta no tendría una gran penalización ya que


los clientes posiblemente opten por otras vías, por ello en este apartado tiene un 1.

Costo: Esta funcionalidad es implementada por medio de empresas externas,,


es por ello que en este apartado tiene un 2.

Riesgo: No hay un gran riesgo asociado al fin y al cabo los usuarios pueden
elegir otras opciones, es por ello que este apartado tiene un 3.

4.5.2 Secuencia de respuesta

1. Nada más entrar en la página se selecciona la opción de atracciones


turísticas.
2. En la pantalla de atracciones turísticas habrá que introducir el lugar y la fecha
donde se quiere realizar la actividad.

31
3. Una vez se hayan mostrado las opciones se tendrá que seleccionar ver
disponibilidad en la opción deseada.
4. El sistema nos mostrará información sobre la actividad y habrá que introducir
la cantidad de personas que participaran en ella.
5. Tendremos que introducir datos personales como nombre, apellido, correo,
teléfono y país y pulsaremos en datos de pago.
6. El sistema nos dará la opción de pagar mediante tarjeta o paypal.
7. Si elegimos paypal nos redirigirá a la página de paypal para acabar con el
pago.
8. Si es con tarjeta tendremos que introducir los datos de esta, nombre, número,
caducidad… Una vez finalizado se pulsara en completar la reserva y nos
llegará una confirmación de la compra por medio del correo electrónico.

4.5.3 Requisitos funcionales

REQ-1 El sistema debe permitir seleccionar lugar.

REQ-2 El sistema solo debe permitir incluir la fecha actual o posterior.

REQ-3 El sistema debe mostrar solo las actividades disponibles en esas


fechas.

REQ-4 El sistema debe permitir filtrar por categoría, precio, puntuación…

REQ-5 El sistema debe mostrar los precios dependiendo de la edad o


condición de la persona (estudiante, minusválido…).

REQ-6 El sistema debe permitir introducir datos personales como nombre,


apellido, sexo, correo y número de teléfono.

REQ-7 El sistema debe validar que los datos personales necesarios han sido
introducidos y que el correo y el teléfono es correcto.

REQ-8 A la hora de realizar el pago el sistema debe validar que la tarjeta de


crédito es correcta o que se ha realizado de forma correcta con paypal.

REQ-9 El sistema debe enviar un correo a la cuenta asociada con los datos de
la reserva si se ha realizado correctamente.

32
4.6 Taxis aeropuerto
Con esta funcionalidad se podrán reservar taxis.

4.6.1 Descripción y prioridad

Mediante esta funcionalidad podremos realizar la reserva de taxis en el aeropuerto


deseado la hora deseada-

Beneficio: Esta es una funcionalidad complementaria de los vuelos pero no


es una de las más importantes ya que existen diferentes medios de transporte, por
ello en este apartado tiene un 5.

Penalización: El no implementar esta no tendría una gran penalización ya que


los clientes pueden optar por otras vías, por ello en este apartado tiene un 3.

Costo: Esta función debe coordinar a los usuarios con los taxis y
posiblemente eso sea lo más complicado, es por ello que en este apartado tiene un
3.

Riesgo: No hay un gran riesgo asociado, al fin y al cabo los usuarios pueden
elegir otras opciones. Es por ello que este apartado tiene un 3.

4.6.2 Secuencia de respuesta

1. Nada más entrar en la página se selecciona la opción de Taxis


aeropuerto
2. En la pantalla de Taxis aeropuerto habrá que introducir el lugar de
destino, la fecha y hora y la cantidad de personas que subirán y pulsar
en buscar.
3. Una vez se hayan mostrado las opciones se tendrá que seleccionar el
tipo de coche que se quiere, solicitar silla para niño, comentario y el
vuelo en el que llega (estas 3 últimas opcionales) y pulsar continuar.
4. Habrá que añadir datos de contacto como nombre, apellido, correo y
número de teléfono. Posteriormente habrá que introducir los datos de
la tarjeta de crédito.

4.6.3 Requisitos funcionales

REQ-1 El sistema debe permitir seleccionar lugar y destino.

REQ-2 El sistema solo debe permitir incluir la fecha actual o posterior (lo
mismo con la hora).

33
REQ-3 El sistema debe mostrar los taxis disponibles.

REQ-4 El sistema debe permitir solicitar silla de niño, añadir comentario y el


número de vuelo.

REQ-5 El sistema debe permitir introducir datos personales como nombre,


apellido, sexo, correo y número de teléfono.

REQ-6 El sistema debe validar que los datos personales necesarios han sido
introducidos y que el correo y el teléfono son correctos.

REQ-7 A la hora de realizar el pago, el sistema debe validar que la tarjeta de


crédito es correcta.

REQ-9 El sistema debe enviar un correo a la cuenta asociada con los datos de
la reserva si se ha realizado correctamente.

4.7 Registro alojamiento


Con esta funcionalidad se podrán registrar alojamientos para realizar reservar .

4.7.1 Descripción y prioridad

Mediante esta funcionalidad podemos añadir alojamientos a la página web de


booking

Beneficio: Esta funcionalidad es usada para propietarios individuales que


quieren dejar disponible su casa para realizar reservar, por ello en este apartado
tiene un 5.

Penalización: El no implementar esta no tendría una gran penalización a corto


plazo ya que booking ya tiene acuerdos con otras una gran cantidad de hoteles y
establecimientos pero a largo plazo podría ser un gran problema , por ello en este
apartado tiene un 5.

Costo: El mayor coste viene dado por las bases de datos, por ello este
apartado tiene un 5.

Riesgo: No hay un gran riesgo asociado a corto plazo ya que booking ofrece
una gran cantidad de opciones a la hora de reservar. Es por ello que este apartado
tiene un 4.

34
4.7.2 Secuencia de respuesta

En este apartado no se ha realizado la secuencia completa ya que pedia


demasiados datos

5. Nada más entrar en la página se selecciona la opción de Registro


Alojamiento
6. En la siguiente pantalla pulsamos continuar (aquí tendremos que crear
una cuenta de colaborador ).
7. Tendremos que seleccionar entre las opciones de Apartamento, casas,
hoteles o otros.
8. Seguiremos los pasos indicando cuántas habitaciones, nombre del
alojamiento, ubicación, características del alojamiento, fotos, precio...

4.7.3 Requisitos funcionales

REQ-1 El sistema debe permitir introducir datos de las habitaciones .

REQ-2 El sistema debe permitir introducir ubicaciones que ya existan .

[Link] requisitos no funcionales


Los requisitos no funcionales son aspectos críticos que definen la eficiencia,
seguridad y confiabilidad del sistema más allá de su funcionalidad básica.
Para [Link], una plataforma global de reservas de alojamientos, estos
requisitos son esenciales para garantizar una experiencia de usuario fluida y segura.
A continuación, se detallan requisitos adicionales que abordan aspectos clave para
el rendimiento, la seguridad y la calidad del software.

5.1 Requisitos de Rendimiento

Tiempo de Respuesta: El sistema debe tener un tiempo de respuesta para la


búsqueda y visualización de resultados de no más de 3 segundos, incluso durante
períodos de alta demanda.

Capacidad Concurrente: El sistema debe ser capaz de manejar al menos


1000 usuarios concurrentes sin degradación significativa del rendimiento.

Escalabilidad: El sistema debe ser escalable y capaz de manejar un aumento


del 20% en el volumen de transacciones mensuales durante los próximos 12 meses.

35
Carga de Trabajo Pico: El sistema deberá ser capaz de manejar
eficientemente cargas de trabajo pico, como las registradas durante eventos de
promociones especiales o temporadas de vacaciones.

Optimización de Búsqueda: La función de búsqueda debe ser optimizada


para proporcionar resultados relevantes y rápidos, utilizando algoritmos eficientes y
tecnologías de caché.

5.2 Requisitos de Seguridad

Cifrado de Datos: Todos los datos de usuario, incluyendo información de


pago, deben estar cifrados durante la transmisión y almacenamiento.

Autenticación de Usuario: Se debe implementar un sistema de autenticación


seguro para garantizar que solo los usuarios autorizados puedan realizar reservas.

Registro de Actividades: El sistema debe mantener un registro de actividades


para rastrear cualquier intento de acceso no autorizado o actividad sospechosa.

Protección contra Amenazas Externas: Se deben implementar medidas


proactivas para proteger el sistema contra posibles amenazas externas, como
ataques DDoS e intentos de intrusión.

5.3 Requisitos de Seguridad en uso

Monitoreo Continuo: El sistema debe contar con un sistema de monitoreo


continuo para detectar y responder rápidamente a posibles brechas de seguridad en
tiempo real.

Actualizaciones de Seguridad: Se deben aplicar actualizaciones de seguridad


de forma regular para abordar vulnerabilidades conocidas y mantener la robustez del
sistema frente a nuevas amenazas.

5.4 Atributos de Calidad de Software

Usabilidad: La interfaz de usuario debe ser intuitiva y fácil de usar, con una
tasa de éxito del 95% para las tareas comunes.

36
Mantenibilidad: El código debe seguir buenas prácticas de desarrollo y ser
fácilmente mantenible, con una tasa de corrección de errores del 99% en 48 horas.

Disponibilidad: El sistema debe estar disponible el 99.9% del tiempo,


excluyendo períodos de mantenimiento programado.

Tiempo de Recuperación: En caso de fallo, el sistema debe tener un tiempo


de recuperación máximo de 1 hora para garantizar una rápida restauración del
servicio.

5.5 Reglas de negocio

Reservas Únicas: Un usuario no puede realizar más de una reserva para la


misma fecha y alojamiento.

Cancelación: Los usuarios pueden cancelar una reserva hasta 48 horas antes
del check-in sin penalización.

Confirmación de Pago: Una reserva solo se considera confirmada después de


que se haya completado con éxito el proceso de pago.

Validación de Disponibilidad: El sistema debe verificar en tiempo real la


disponibilidad de las reservas para evitar reservas duplicadas o conflictos de
disponibilidad.

[Link]ía
[Link]
9b423f0ef97a
[Link]
ncy-ca3e95075de4
[Link]
king-com-using-the-public-cloud-c2f2c49fa7f2
[Link]
-functions-309adcd8b464
[Link]
2
[Link]
[Link]
o-UX-UI?locale=es_ES

37

También podría gustarte