ANÁLISIS DEL SISTEMA DE INFORMACIÓN
“Hoteles.com”
Edición: 01
Fecha: 28 de abril de 2024
Autores:
Daniel Martin Perez
CONTROL Y REGISTRO DE CAMBIO DEL DOCUMENTO
CONTROL
Proyecto Hoteles.com
Denominación Análisis del Sistema de Información de Hoteles.com
Fecha 28/04/2024
Edición 01
Grupo 7
Daniel Martín Pérez
Autores
Pablo Vílchez Rivas
David Garcia Lopez
Juan Rodriguez Lopez
1 DEFINICIÓN DEL SISTEMA 2
1.1 Alcance del Sistema 2
1.2 Entorno Tecnológico 6
1.3 Estándares y Normas 7
1.4 Usuarios Participantes y Finales 7
2 ESPECIFICACIÓN DE REQUISITOS 10
2.1 Catálogo de Requisitos 10
2.2 Especificación de Casos de Uso 16
2.2.1 Identificación y definición de Actores 17
2.2.2 Diagrama de Casos de Uso 17
2.2.3 Especificación de Casos de uso 19
2.2.4 Matriz de Trazabilidad Requisitos – Casos de Uso 19
3 SUBSISTEMAS DE ANÁLISIS 46
3.1 Identificación de Subsistemas de Análisis 46
3.2 Relaciones entre Subsistemas de Análisis 47
3.3 Matriz de Trazabilidad 48
4 ANÁLISIS DE LAS CLASES POR SUBSISTEMAS 49
5 INTERFACES DE USUARIO 66
5.1 Principios de Diseño de la Interfaz de Usuario 66
5.2 Subsistema S1 69
5.2.1 Modelo de Navegación del Subsistema 69
5.2.2 5.2.2 Interfaz del módulo 0002 70
5.2.3 Interfaz del Módulo 0003 72
5.2.4 Interfaz del módulo 0008 74
5.2.5 Interfaz del módulo 0009 76
5.2.6 Interfaz del módulo 0004 78
5.2.7 Interfaz del módulo 0010 79
5.2.8 Interfaz del módulo 0011 80
5.2.9 Interfaz del módulo 0005 82
5.2.10 Interfaz del módulo 0012 83
5.2.11 Interfaz del módulo 0013 85
5.2.12 Interfaz del módulo 0006 86
5.2.13 Interfaz del módulo 0014 87
5.2.14 Interfaz del módulo 0015 89
5.2.15 Interfaz del módulo 0007 91
5.2.16 Interfaz del módulo 0016 92
5.2.17 Interfaz del módulo 0017 93
5.2.18 Interfaz del módulo 0018 95
5.3 Subsistema S2 96
5.3.1 Interfaz del módulo 0019 96
5.4 Matriz de Trazabilidad Módulo de Interfaz - Actores 97
6 INFORMES 99
7 COMUNICACIÓN CON SISTEMAS EXTERNOS 100
8 PLAN DE PRUEBAS 103
8.1 Alcance de las Pruebas 103
8.2 Entornos de Pruebas 103
8.3 Pruebas de Aceptación del Sistema 104
9 GLOSARIO 104
1 Definición del sistema.
1.1 Alcance del Sistema.
El objetivo de este proyecto es ayudar a empresas orientadas a la hostelería a
gestionar el negocio. Centralizando los datos y las funciones que estas ofrezcan en
una aplicación intuitiva.
Al hablar de gestionar el negocio, hay distintos objetos que gestionar:
Gestionar el personal, gestionar los servicios que ofrece la empresa y gestionar la
información de los clientes.
Esta aplicación también permitirá la organización y comunicación del personal
dentro de la empresa gracias a una herramienta de calendario, evitando así solapes
dentro del trabajo.
También existirá la opción de generar un ticket para una posible queja con respecto
al software implementado.
Los objetivos por tanto serán:
OBJ–001 Gestión Personal
Versión 01
Autores Pablo Vílchez Rivas
Fuente Administrador del sistema
Descripció El sistema deberá permitir las operaciones CRUD del personal
n al cargo del hotel. A su vez, se deberá contemplar la posible
migración de personal dentro de la misma empresa de un hotel
a otro. Siendo posible administrar una cadena de hoteles.
Importanci Vital
a
Estado Aprobado
Comentari
os
OBJ–002 Gestión Servicios
Versión 01
Autores Pablo Vílchez Rivas, Daniel Martín Pérez
Fuente Administrador del sistema
Descripció El sistema deberá al administrador del hotel añadir, modificar y
n dar de baja los servicios que este ofrezca. Pudiendo añadir
información extra como precio o tiempo máximo del servicio.
Los servicios por defecto de la aplicación serán:
● Servicio de Habitaciones
● Servicio de Restaurante
● Servicio de Taxi asociado al hotel
Importanci Vital
a
Estado Aprobado
Comentari
os
OBJ–003 Gestión Clientes
Versión 01
Autores David García López, Daniel Martín Pérez
Fuente Administrador del sistema y clientes del hotel.
Descripció El sistema deberá permitir la alta de los clientes al
n administrador. Permitiendo a los clientes de los hoteles modificar
los datos así como darse de baja.
Cada cliente estará asociado a un rol el cual le permitirá acceder
a más o menos servicios que el hotel ofrezca
Importanci Alta
a
Estado Aprobado
Comentari
os
OBJ–004 Herramienta Calendario
Versión 01
Autores Pablo Vílchez Rivas, Juan Rodríguez López
Fuente Personal Hotelero
Descripció El sistema deberá permitir a los trabajadores del hotel crear una
n instancia dentro del calendario donde podrán expresar la
importancia de esta, a quién se le asocia esta instancia y hasta
cuando durará. Los eventos pueden ser el alquiler de un servicio
del hotel. Una baja del personal o la posibilidad de anular algún
servicio por motivos festivos.
Este calendario estará basado en la API de Google Calendar.
Importanci Media
a
Estado Aprobado
Comentari
os
OBJ–005 Gestión Tickets
Versión 01
Autores Pablo Vílchez Rivas
Fuente Personal Hotelero, Clientes y Administrador del Sistema
Descripció El sistema deberá permitir la creación de un ticket de incidencia
n para la posible resolución del problema. Este sólo podrá ser
dado de baja por el administrador del sistema.
Importanci Alta
a
Estado Aprobado
Comentari
os
OBJ–006 Informe de Ocupación
Versión 01
Autores David García López, Daniel Martín Pérez
Fuente Personal del Hotel
Descripció El sistema deberá permitir mostrar una lista de las habitaciones
n disponibles.
Importanci Baja
a
Estado Aprobado
Comentari
os
OBJ–007 Gestión de Reserva de Habitación
Versión 01
Autores Pablo Vílchez Rivas
Fuente Personal del Hotel
Descripció El sistema deberá permitir reservar una habitación o cancelar
n una reserva.
Importanci Alta
a
Estado Aprobado
Comentari
os
Flujo de gestión
En este flujo se comprende el inicio de sesión. Una vez iniciado, dependiendo del rol
asociado a tu sesión podrás gestionar ciertos módulos de la aplicación los cuales
tienen permitidos operaciones CRUD. Una vez realizada la operación CRUD
seleccionada tendremos la opción de gestionar otro módulo permitido. Esto
comprenderá un bucle que finalizará en el momento en el que cerremos la sesión.
Flujo de la herramienta de calendario
Iniciamos sesión como empleado del hotel. Una vez iniciado tenemos la opción de
crear una instancia. Indicando así a quién y a qué se asocia esa instancia y un
intervalo temporal que señalará el inicio y final de esta. Tras esto podemos cerrar
sesión; terminando así el flujo, o crear otra instancia en el calendario.
Flujo de la gestión de tickets
Al querer gestionar tickets tenemos dos opciones. Podemos iniciar sesión como
administrador, lo cual nos permitirá dar de baja el ticket indicando así que el
problema ha sido resuelto. O podremos crear un ticket, esto no tendrá la necesidad
de iniciar sesión puesto que será anónimo.
Entorno Tecnológico
El Sistema Servidor Web que contemplará las aplicaciones y las peticiones desde
los respectivos clientes se basa en un sistema Linux CentOS, un sistema dedicado
a servidores con una buena robustez y de licencia abierta. Este sistema es
compatible para virtualizaciones en la nube como para servidores locales, pudiendo
ser administrados remotamente. Se recomienda por ello un entorno de desarrollo
como puede ser VSCode (Visual Studio Code) y un patrón arquitectónico basado en
MVC.
Respecto a la parte del cliente, en concreto administradores y trabajadores, éstos
tendrán un entorno web con un panel para administrar las necesidades del sistema.
Haciendo una rápida ejecución de las incidencias que puedan haber en este.
También, en la parte del cliente, pero enfocado a los clientes de los hoteles. Existirá
la posibilidad de usar la aplicación tanto en soporte móvil como en la web. Esto
facilitará la comodidad a la hora de usar los servicios como la creación de tickets o
la gestión de sus datos.
En el caso de los sistemas gestores de la base de datos, optaremos por MariaDB.
Un gestor Open Source que soporta la concurrencia de las peticiones con gran
robustez. A esto hay que tenerle en cuenta que cada hotel tendrá una base de datos
única e independiente.
Estándares Y Normas
El sistema servidor debe estar compuesto por una arquitectura lógica de tres capas,
representando un patrón arquitectónico basado en el Modelo Vista Controlador. Por
otra parte, para el acceso a datos, se implementará el patrón de microarquitectura
DAO, facilitando el acceso a los datos.
En lo referente a la LOPD (Ley Orgánica de Protección de Datos), los hoteles
deberán firmar un contrato para darnos derecho a obtener la información pertinente
al contratar nuestros servicios. Siendo ellos los encargados de la gestión de los
datos de los clientes de dichos hoteles.
Usuarios Participantes y Finales
Cargo Nombre Implicación
Responsable del Daniel Martín Pérez Participación en los
Proyecto requisitos del proyecto,
verificar que en cada
reunión se cumplía con la
planificación y la
validación de las mismas.
Con los recursos y
presupuestos
establecidos.
Diseñador Gráfico Pablo Vílchez Rivas Se ha encargado de dar
una imagen a la
aplicación fácil y amable
a cualquier usuario.
Analista FrontEnd Juan Rodríguez López Participación de las
reuniones de requisitos,
determinación de los
subsistemas a nivel de
análisis a la aplicación en
la capa del cliente.
Analista BackEnd David García López Participación de las
reuniones de requisitos,
determinación de los
subsistemas a nivel de
análisis y administración
de datos a la aplicación
en la capa del servidor.
Analista Base de Datos David García López Participación de las
reuniones de toma de
decisión en el análisis de
la base de datos
implementada para el
sistema.
Analista Tester Pablo Vílchez Rivas Participación en la
aprobación de la
planificación y diseño, así
como el encargado de
preparar una batería de
pruebas a la aplicación y
los sistemas pertinentes.
Arquitecto Software Daniel Martín Pérez Ha realizado un análisis
de las infraestructuras
para
determinación de
necesidades
tecnológicas,
especificación de
estándares y normas, y la
identificación de la
arquitectura y el diseño
a nivel software y
hardware
para su posterior
implementación. También
ha sido responsable de la
configuración, despliegue
y
publicación del entorno
software y hardware en
entorno de pruebas y
producción.
Arquitecto Base de Datos David García López Ha realizado un análisis
ante la capacidad de la
base de datos
implementada en la
posible sobrecongestión
de esta y la capacidad de
almacenar la información
necesaria para la fluidez
de la aplicación. Así como
el análisis de posibles
cambios necesarios que
esta pueda tener con el
paso del tiempo.
Responsable de Juan Rodríguez López Ha realizado análisis ante
Seguridad y las vulnerabilidades que
Administración del pudiera haber en el
Sistema sistema y la
implementación de los
servidores. Haciéndose
responsable de la
securización de los
sistemas.
Programador FrontEnd Juan Rodríguez López Han recibido cursos de
actualización sobre las
tecnologías en las cuales
van a desarrollar, así
como
implementar la parte de
esta aplicación
relacionada con
aplicaciones móviles y
web las cuales
conectarán con el sistema
servidor. También han
realizado pruebas
unitarias con cada una de
sus implementaciones
Programador BackEnd Pablo Vílchez Rivas y Han recibido cursos de
David García López actualización sobre las
tecnologías en las cuales
van a desarrollar, así
como
implementar la parte de
esta aplicación
relacionada con el
servidor que recibirá las
peticiones desde los
sistemas clientes y las
pertinentes pruebas
unitarias para cada
uno de los subsistemas
implementados.
Tester Daniel Martín Pérez Han recibido curso de
actualización de las
tecnologías a utilizar en
las
pruebas que realizarán,
han
aplicado pruebas de
carga, de
integración y seguridad
en
cada uno de los
subsistemas
de esta aplicación.
Modelo de Dominio
2. ESPECIFICACIÓN DE REQUISITOS
2.1. Catálogo de Requisitos
2.1.1. Requisitos funcionales
A continuación, se definen los requisitos funcionales del sistema obtenidos a partir
de los objetivos del sistema.
RF-001 Gestión de personal
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Fuentes Recursos humanos y administrador del sistema
Objetivos ● OBJ-01: Gestión personal
asociados
Descripción El sistema deberá contemplar las siguientes
funcionalidades:
● El sistema registra la alta de un nuevo empleado
al hotel con ayuda de recursos humanos para la
entrevista
● El sistema registra la baja de un empleado con
ayuda de recursos humanos para dar las
explicaciones del despido
● El sistema permite modificar los datos del personal
actual del hotel
● El sistema permite que los empleados actuales
puedan migrar a otro hotel de la misma franquicia
Actores Actor
Administrador del sistema
Personal hotelero
Comentarios N/A
RF-002 Gestión de servicios
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Fuentes administrador del sistema
Objetivos ● OBJ-02:Gestión servicio
asociados
Descripción El sistema debe contemplar la petición de un servicio por
parte del cliente: Habitaciones,Restaurante y taxis
Actores Actor
Administrador del sistema
Cliente
Comentarios N/A
RF-003 Generar informe de ocupación
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Fuentes administrador del sistema
Objetivos ● OBJ-06: Generar informe de ocupación
asociados
Descripción El sistema deberá contemplar las siguientes
funcionalidades:
● El sistema informa de la ocupación del hotel por
día, semana,mes o año
● El sistema muestra las ocupaciones según el tipo
de habitación
Actores Actor
Administrador del sistema
Cliente
Comentarios N/A
RF-004 Atender quejas y sugerencias
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Fuentes personal de atención al cliente y administrador del
sistema
Objetivos ● OBJ-05: Gestión tickets
asociados
Descripción El sistema deberá contemplar las siguientes
funcionalidades:
● El sistema permite a los huéspedes registrar
quejas y sugerencias
● El sistema envía las quejas y sugerencias al
personal de atención al cliente
● El sistema registra las acciones para resolver las
quejas y las sugerencias
Actores Actor
Administrador del sistema
Cliente
Personal hotelero
Comentarios N/A
RF-005 Gestión de clientes
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Fuentes administrador del sistema
Objetivos ● OBJ-03: Gestión clientes
asociados
Descripción El sistema deberá contemplar las siguientes
funcionalidades:
● El sistema permite dar de alta a los nuevos
clientes
● El sistema permite dar de baja a los clientes
● El sistema puede modificar la información de los
clientes
● El sistema permite asociar distintos roles a cada
cliente, para poder elegir según que servicios
Actores Actor
Administrador del sistema
Comentarios N/A
RF-006 Gestión de Reserva de Habitaciones
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Fuentes Cliente
Objetivos ● OBJ-07: Gestión de Reserva de Habitaciones
asociados
Descripción El sistema deberá contemplar las siguientes
funcionalidades:
● El sistema permite dar de alta una nueva reserva
● El sistema permite cancelar una reserva
● El sistema permite modificar una reserva del
cliente
Actores Actor
Cliente
Comentarios N/A
2.1.2 Requisitos no funcionales
RNF-01 Consistencia
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Objetivos ● OBJ-07: Gestión de reserva de habitaciones
asociados ● OBJ-03: Gestión de clientes
● OBJ-02:Gestón de servicios
● OBJ-05:Gestionar tickets
Descripción
El sistema deberá permitir que los datos guardados sean
coherentes ante cualquier cambio que se realice sobre
los mismos.
Comentarios N/A
RNF-02 Alta disponibilidad
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Objetivos ● OBJ-07: Gestión de reserva de habitaciones
asociados ● OBJ-03: Gestión de clientes
● OBJ-05:Gestión de tickets
Descripción
Debido a que la información de la Base de Datos va a ser
consultada y modificada de forma regular, el sistema
deberá permitir el acceso a dicha información en todo
momento, y deberá realizar un balanceo de la carga de la
información entre las diferentes copias de la Base de
Datos para garantizar que este requisito se cumpla.
Comentarios N/A
RNF-03 Seguridad
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo Vílchez
Rivas,Juan Rodríguez López
Objetivos ● OBJ-07: Gestión de reserva de habitaciones
asociados ● OBJ-03: Gestión de clientes
● OBJ-05:Gestión de tickets
● OBJ-01:Gestión de personall
Descripción
El sistema deberá contar con todas las medidas de
seguridad necesarias para garantizar que el RNF-02 se
cumple y, además, que se cumpla la Ley Orgánica de
Protección de Datos.
Comentarios N/A
RNF-04 Estándares y normas de desarrollo
Versión 1.0
Autores David García López,Daniel Martín Pérez,Pablo
Vílchez Rivas,Juan Rodríguez López
Objetivos ● OBJ-07: Gestión de reserva de habitaciones
asociados ● OBJ-03: Gestión de clientes
● OBJ-05:Gestión de tickets
● OBJ-01:Gestión de personal
Descripción
El desarrollo del sistema se deberá realizar siguiendo
los estándares y normas definidos por la empresa y
las tecnologías empleadas.
Comentarios N/A
2.1.3. Matriz de trazabilidad Requisitos - Objetivos
Requisito OBJ-01 OBJ-02 OBJ-03 OBJ-04 OBJ-05 OBJ-06 OBJ-07
/ Objetivo
RF -001 X
RF - 002 X
RF - 003 X X
RF - 004 x
RF - 005
RF - 006 X X
2.2. Especificación de Casos de Uso
2.2.1 Identificacion y definicion de Actores
Actores Descripción
ACTOR01 - Administrador del sistema Se trata del usuario administrador que
tendrá que realizar las tareas de
administración del sistema, las
incidencias de los clientes y los
baneos.
ACTOR02 - Cliente Se trata del usuario cliente que puede
realizar todas las acciones realizadas
con reservar una habitacion,solicitar un
servicio y enviar quejas y solicitudes.
ACTOR03 - Personal hotelero Se trata del usuario trabajador del
hotel que puede realizar las acciones
de contratar,modificar datos y despedir
personal del hotel y atender las quejas
de los clientes.
2.2.2. Diagrama de Casos de Uso
2.2.2.1. Diagrama de gestión personal
2.2.2.2. Diagrama de gestión de clientes
2.2.2.3. Diagrama de gestión de reservas
2.2.2.4. Diagrama de gestión de servicios
2.2.2.5. Diagrama de gestión de quejas y sugerencias
2.2.2.6. Diagrama de informe de ocupación
2.2.3 Especificación de Casos de uso
2.2.3.1 Especificaciones de Casos de Uso de Gestion de personal
CU-001 ALTA Personal
Versión 01
Descripción El sistema tiene que permitir dar de alta a un nuevo personal
trabajador del hotel.
Actores Administrador y personal hotelero.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema con el usuario de
Administrador.
Postcondición Se dio de alta un nuevo empleado a la empresa
Flujo Normal PASO / ACCIÓN
1. El personal hotelero de recursos humanos pulsa la opción
de alta para nuevo empleado.
2. El sistema solicita el nombre, DNI, dirección, CP, teléfono
y correo electrónico.
3. El personal hotelero proporciona los datos del nuevo
empleado.
4. El sistema valida los datos y notifica al personal.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El personal hotelero cancela el alta.
4. Finaliza el caso de Uso.
Observaciones ---
CU-002 Modificación Personal
Versión 01
Descripción El sistema tiene que permitir modificar los datos del personal
hotelero solicitado.
Actores Administrador y personal hotelero.
Dependencias CU-023
Precondición El trabajador debe estar dado de alta en la base de datos de
los trabajadores y se debe estar logado en el sistema.
Postcondición Se modificaron los datos del trabajador
Flujo Normal PASO / ACCIÓN
1. El personal hotelero pulsa la opción de modificar los datos
del trabajador..
2. El sistema pone a disposición todos los datos para
cambiarlos..
3. El personal hotelero modifica los datos del empleado.
4. El sistema valida los datos y notifica al personal.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El personal hotelero cancela la modificación.
4. Finaliza el caso de Uso.
Observaciones ---
CU-003 Eliminación Personal
Versión 01
Descripción El sistema tiene que permitir eliminar al trabajador de la base
de datos del personal hotelero
Actores Administrador y personal hotelero.
Dependencias CU-023
Precondición El trabajador debe estar dado de alta en la base de datos de
los trabajadores y se debe estar logado en el sistema como
administrador
Postcondición Se modificaron los datos del trabajador
Flujo Normal PASO / ACCIÓN
1. El personal hotelero pulsa la opción de eliminar los datos
del trabajador..
2. El sistema pone a disposición una opción para explicar los
motivos del despido
3. El personal hotelero explica sus motivos y elimina los
datos del empleado.
4. El sistema elimina los datos y notifica al personal.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El personal hotelero cancela la eliminación.
4. Finaliza el caso de Uso.
Observaciones ---
CU-004 Listado personal
Versión 01
Descripción El sistema tiene que permitir listar todo el personal disponible
Actores Administrador.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal del
hotel.
Postcondición Se listó todo el personal disponible en el hotel.
Flujo Normal PASO / ACCIÓN
1. El administrador pulsa la opción de listar a todo el personal
del hotel.
2. El sistema pone a disposición todo el personal disponible y
notifica..
3. Finaliza el caso de uso.
Flujos PASO / ACCIÓN
Alternativos
2.. El administrador cancela la opción.
3. Finaliza el caso de Uso.
Observaciones ---
CU-005 Migración Personal
Versión 01
Descripción El sistema tiene que permitir migrar a un trabajador de un
hotel a otro.
Actores Administrador y personal hotelero.
Dependencias CU-023
Precondición El trabajador debe estar dado de alta en la base de datos de
los trabajadores y se debe estar logado como administrador.
Postcondición El trabajador acaba migrando a otro hotel de la franquicia
Flujo Normal PASO / ACCIÓN
1. El personal hotelero pulsa la opción de migrar al trabajador
hacia otro hotel.
2. El sistema solicita los datos del trabajador para
identificarlo y pide al personal hotelero el hotel adonde
desea ser trasladado el trabajador..
3. El personal hotelero proporciona los datos y el hotel.
4. El sistema valida los datos y comprueba que se puede
trasladar al empleado al hotel y notifica..
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO/ACCIÓN
4. El sistema encuentra que el hotel al que desea ser
trasladado el trabajador no tiene plazas libres para su puesto
y lo notifica..
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El personal hotelero cancela la migración.
4. Finaliza el caso de Uso.
Observaciones ---
2.2.3.2. Especificaciones de caso de uso de gestión de clientes
CU-006 Alta Cliente
Versión 01
Descripción El sistema tiene que permitir al administrador dar de alta a un
nuevo cliente y se debe estar logado en el sistema como
personal hotelero.
Actores Administrador.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal
hotelero.
Postcondición Se dio de alta al nuevo cliente..
Flujo Normal PASO / ACCIÓN
1. El administrador pulsa la opción de dar de alta a un nuevo
cliente..
2. El sistema solicita el nombre, DNI, dirección, CP, teléfono
y correo electrónico.
3. El administrador proporciona los datos del nuevo cliente..
4. El sistema valida los datos, registra al cliente y notifica al
administrador..
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación de los datos y
notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El administrador cancela el alta..
4. Finaliza el caso de Uso.
Observaciones ---
CU-007 Modificación Cliente
Versión 01
Descripción El sistema tiene que permitir modificar los datos del cliente
solicitado.
Actores Administrador.
Dependencias CU-006,CU-023
Precondición El Cliente debe estar dado de alta en la base de datos de los
clientes y se debe estar logado en el sistema.
Postcondición Se modificaron los datos del cliente
Flujo Normal PASO / ACCIÓN
1. El administrador del sistema pulsa la opción de modificar
los datos del cliente.
2. El sistema pone a disposición todos los datos para
cambiarlos.
3. El administrador modifica los datos del cliente.
4. El sistema valida los datos y notifica al administrador.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El administrador cancela la modificación.
4. Finaliza el caso de Uso.
Observaciones ---
CU-008 Eliminación Cliente
Versión 01
Descripción El sistema tiene que permitir eliminar al cliente de la base de
datos de los clientes.
Actores Administrador .
Dependencias CU-006,CU-023
Precondición El cliente debe estar dado de alta en la base de datos de los
clientes y se debe estar logado en el sistema como
administrador del sistema
Postcondición Se eliminaron los datos del cliente
Flujo Normal PASO / ACCIÓN
1. El administrador pulsa la opción de eliminar los datos del
cliente.
2. El sistema elimina los datos y notifica al administrador..
3. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
3. El administrador cancela la eliminación.
4. Finaliza el caso de Uso.
Observaciones ---
CU-009 Listado cliente
Versión 01
Descripción El sistema tiene que permitir listar todos los clientes
hospedados
Actores Administrador.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal
hotelero.
Postcondición Se listó a todos los clientes hospedados en el hotel.
Flujo Normal PASO / ACCIÓN
1. El administrador pulsa la opción de listar a todos los
clientes del hotel.
2. El sistema pone a disposición todos los clientes
hospedados y notifica.
3. Finaliza el caso de uso.
Flujos PASO / ACCIÓN
Alternativos
2.. El administrador cancela la opción.
3. Finaliza el caso de Uso.
Observaciones ---
2.2.3.3. Especificaciones de caso de uso de gestión de reserva
CU-010 Alta Reserva
Versión 01
Descripción El sistema tiene que permitir al cliente dar de alta a una nueva
reserva..
Actores Administrador y cliente.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal
hotelero.
Postcondición Se dio de alta a la nueva reserva.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de dar de alta a una nueva
reserva..
2. El sistema solicita el nombre, DNI, dirección, CP, teléfono
y correo electrónico y la habitación que desea el cliente.
3. El cliente proporciona sus datos..
4. El sistema valida los datos y notifica al cliente que se ha
efectuado la reserva..
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación de los datos y
notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El cliente cancela la reserva..
4. Finaliza el caso de Uso.
Observaciones ---
CU-011 Modificación Reserva
Versión 01
Descripción El sistema tiene que permitir modificar los datos de la reserva
del cliente.
Actores Cliente.
Dependencias CU-006,CU-023
Precondición El usuario debe estar logado en el sistema.
Postcondición Se modificaron los datos de la reserva del cliente.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de modificar los datos de la
reserva.
2. El sistema pone a disposición todas las reservas
disponibles para cambiarla.
3. El cliente modifica la reserva.
4. El sistema valida los datos y notifica al cliente.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
4. El cliente cancela la modificación.
5. Finaliza el caso de Uso.
Observaciones ---
CU-012 Eliminación Reserva
Versión 01
Descripción El sistema tiene que permitir eliminar la reserva que el cliente
ha hecho.
Actores Cliente .
Dependencias CU-023
Precondición El cliente debe estar dado de alta en la base de datos de los
clientes y se debe estar logado en el sistema con la sesión
asociada al cliente que elimina la reserva.
Postcondición Se eliminó la reserva del cliente
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de eliminar los datos de la
reserva.
2. El sistema elimina los datos de la reserva y notifica al
cliente..
3. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
3. El cliente cancela la reserva.
4. Finaliza el caso de Uso.
Observaciones ---
CU-013 Listado reservas
Versión 01
Descripción El sistema tiene que permitir listar todas las habitaciones
disponibles para reservar
Actores Cliente.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal
hotelero.
Postcondición Se listó todas las reservas disponibles en el hotel.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de listar todas las habitaciones
disponibles para reservar del hotel.
2. El sistema pone a disposición todas las habitaciones
disponibles y notifica.
3. Finaliza el caso de uso.
Flujos PASO / ACCIÓN
Alternativos
2.. El cliente cancela la opción.
3. Finaliza el caso de Uso.
Observaciones ---
2.2.3.4. Especificaciones de caso de uso de gestión de servicios
CU-014 Alta servicio
Versión 01
Descripción El sistema tiene que permitir al cliente dar de alta un nuevo
servicio que desee solicitar..
Actores Administrador y cliente.
Dependencias CU-006,CU-023
Precondición El cliente debe estar dado de alta en la base de datos del
hotel
Postcondición Se dio de alta un nuevo servicio..
Flujo Normal PASO / ACCIÓN
1. El administrador pulsa la opción de dar de alta a un nuevo
servicio.
2. El sistema solicita el nombre, DNI, dirección, CP, teléfono
y correo electrónico y el servicio que desee solicitar.
3. El Cliente proporciona los datos y el servicio deseado.
4. El sistema valida los datos y notifica al cliente..
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación de los datos y
notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El cliente cancela el servicio.
4. Finaliza el caso de Uso.
Observaciones ---
CU-015 Modificar servicio
Versión 01
Descripción El sistema tiene que permitir al usuario modificar un servicio
en el que esté dado de alta.
Actores Administrador y Cliente.
Dependencias CU-005,CU-023
Precondición El cliente debe estar logado en el sistema y el servicio debe
estar dado de alta en la base de datos del hotel.
Postcondición Se modificó el servicio deseado por el cliente.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción modificar un servicio del hotel.
2. El sistema pone a disposición los servicios actuales a
elegir para la modificación.
3. El cliente cambia al servicio deseado.
4. El sistema recoge los datos y notifica al personal hotelero
para la ejecución del servicio.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la elección del servicio y
notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El cliente cancela el servicio.
4. Finaliza el caso de Uso.
Observaciones ---
CU-016 Eliminar servicio
Versión 01
Descripción El sistema tiene que permitir al usuario dar de baja un servicio
que desee eliminar.
Actores Administrador y Cliente.
Dependencias CU-005,CU-023
Precondición El cliente debe estar logado en el sistema y el servicio que
desea eliminar también.
Postcondición Se dio de baja el servicio solicitado por el cliente.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de dar de baja un servicio del
hotel.
2. El sistema elimina el servicio elegido por el cliente.
3.. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
2. El cliente cancela la eliminación.
3. Finaliza el caso de Uso.
Observaciones ---
CU-017 Lectura servicios
Versión 01
Descripción El sistema tiene que permitir al usuario ver todos los servicios
disponibles
Actores Cliente.
Dependencias CU-023
Precondición El cliente debe estar logado en el sistema.
Postcondición Se listaron todos los servicios disponibles.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de listar los servicios del hotel.
2. El sistema pone a disposición todos los servicios
disponibles.
3. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
2. El cliente cancela el listado.
3. Finaliza el caso de Uso.
Observaciones ---
2.2.3.5. Especificaciones de caso de uso de gestión de informe de
ocupación
CU-018 Informe de ocupación
Versión 01
Descripción El sistema tiene que permitir mostrar al cliente las
habitaciones ocupadas en todo el hotel.
Actores Administrador y cliente..
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema.
Postcondición El cliente recibe el informe de ocupación
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de mostrar las habitaciones
ocupadas..
2. El sistema pone a disposición un informe con todas las
habitaciones ocupadas.
3.. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
2. El cliente cancela el informe..
3. Finaliza el caso de uso
Observaciones ---
2.2.3.6. Especificaciones de caso de uso de gestión de quejas y
sugerencias
CU-019 Generar ticket
Versión 01
Descripción El sistema tiene que permitir al usuario emitir una queja o una
sugerencia al hotel mediante la generación de un ticket.
Actores Administrador, personal hotelero y cliente.
Dependencias CU-023
Precondición El cliente debe estar logado en el sistema.
Postcondición Se emitió la queja o sugerencia del cliente.
Flujo Normal PASO / ACCIÓN
1. El cliente pulsa la opción de emitir una queja o sugerencia
al hotel.
2. El sistema recoge la queja o sugerencia del cliente y la
envía al personal trabajador.
3. Se genera un ticket relativo a la queja.
4. El personal hotelero envía la respuesta con la posible
solución al sistema.
5. El sistema notifica al cliente con la respuesta del personal.
6. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en el mensaje y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO/ACCIÓN
4.El sistema encuentra fallos en el mensaje del personal
hotelero.
5.Se regresa al punto 3 del flujo normal.
PASO / ACCIÓN
3. El cliente cancela la queja o sugerencia..
4. Finaliza el caso de Uso.
Observaciones ---
CU-020 Eliminar ticket
Versión 01
Descripción El sistema tiene que permitir al administrador del sistema
eliminar un ticket.
Actores Administrador.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como
administrador del sistema.
Postcondición Se ha eliminado el ticket.
Flujo Normal PASO / ACCIÓN
1. El administrador pulsa la opción para eliminar el ticket del
sistema.
2. El sistema elimina el ticket..
3. El administrador justifica la causa de la eliminación del
ticket
4. El sistema notifica al usuario que generó el ticket del
motivo de la eliminación.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
3. El administrador decide no eliminar el ticket.
4. Finaliza el caso de uso.
Observaciones ---
CU-021 Mostrar Lista de Tickets
Versión 01
Descripción El sistema debe permitir al personal del hotel ver la lista de
tickets generados.
Actores Personal Hotelero
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal
hotelero.
Postcondición El personal hotelero recibe un listado con los tickets del
sistema.
Flujo Normal PASO / ACCIÓN
1. El personal elige la opción de ver listado de tickets.
2. El sistema pone a disposición un informe con los tickets
registrados en el sistema.
3.. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
2. El cliente cancela la petición.
3. Finaliza el caso de uso
Observaciones ---
2.2.3.7. Especificaciones de caso de uso de gestión de calendario
CU-022 Asignar instancia a calendario
Versión 01
Descripción El sistema tiene que permitir al personal hotelero poder
asignar a un calendario eventos con un nivel de importancia y
asignar el tiempo que estarán visibles.
Actores personal hotelero.
Dependencias CU-023
Precondición El usuario debe estar logado en el sistema como personal
hotelero.
Postcondición Se asignó una nueva instancia al calendario.
Flujo Normal PASO / ACCIÓN
1. El personal hotelero pulsa la opción de asignar una nueva
instancia al calendario.
2. El sistema pone a disposición un calendario y solicita la
fecha que se desea usar, la importancia y el tiempo que
durará la instancia.
3. El personal hotelero rellena los datos en el calendario.
4. El sistema valida los datos y notifica al personal.
5. Finaliza el caso de Uso.
Flujos PASO / ACCIÓN
Alternativos
4. El Sistema encuentra fallos en la validación y notifica.
5. Se regresa al punto 2 del flujo normal.
PASO / ACCIÓN
3. El personal hotelero cancela la instancia asignada.
4. Finaliza el caso de Uso.
Observaciones ---
2.2.3.8. Especificaciones de caso de uso de inicio de sesión
CU-023 Iniciar Sesión
Versión 01
Descripción El sistema tiene que permitir el inicio de sesión en este.
Actores Personal, administrador del sistema y cliente.
Dependencias …
Precondición Ninguna
Postcondición El usuario queda logado dentro del sistema.
Flujo Normal PASO / ACCIÓN
1. El sistema solicita las credenciales al usuario.
2. El usuario introduce su usuario y contraseña.
3. El sistema verifica las credenciales introducidas.
4. El usuario queda logado para realizar futuras acciones
dentro del sistema.
5. Finaliza el caso de uso.
Flujos PASO / ACCIÓN
Alternativos
3. El sistema detecta un error en las credenciales
introducidas.
4. Se regresa al punto 1 del flujo normal
Observaciones ---
3.SUBSISTEMAS DE ANÁLISIS
3.1. Identificación de Subsistemas de análisis
A partir de la especificación de cada uno de los casos de usos e identificarlos y
desarrollarlos, se han separado en los siguientes subsistemas los requisitos
funcionales y no funcionales recogidos en el punto anterior.
- SUB01 - Gestión Cliente, recogerá todos los casos de uso relacionados con
las acciones del cliente en el sistema
- SUB02 - Gestión Administrador, recogerá aquellos casos de uso relacionados
con las acciones del administrador en el sistema.
- SUB03 - Gestión personal hotelero, recogerá aquellos casos de uso
relacionados con las acciones del personal hotelero en el sistema.
3.2. Relaciones entre subsistemas de análisis
Los casos de uso relacionados con el inicio de sesión se han recogido en todos los
subsistemas al tener que depender del inicio de sesión para las operaciones. Los casos de uso
relacionados con la gestión de los clientes en el subsistema 1, los relacionados con las
operaciones del administrador en el sub02 y los relacionados con las acciones del personal
hotelero en el sub03
Subsiste SUB-01 SUB-02 SUB-03
ma /
Subsiste
ma
SUB -001 X X
SUB - 002 X X
SUB-003 X X
Actores / Adminis Cliente Personal
Subsiste trador hotelero
ma
SUB-01 X
SUB-02 X
SUB-03 X
3.3. Matriz de trazabilidad
Subsiste SUB-01 SUB-02 SUB-03
mas /
Casos de
uso
CU-001 X X
CU-002 X X
CU-003 X X
CU-004 X
CU-005 X X
CU-006 X
CU-007 X
CU-008 X
CU-009 X
CU-010 X X
CU-011 X
CU-012 X
CU-013 X
CU-014 X X
CU-015 X X
CU-016 X X
CU-017 X
CU-018 X X
CU-019 X X X
CU-020 X
CU-021 X
CU-022 X
CU-023 X X X
4. Análisis de clases por subsistemas.
En este punto se mostrarán las distintas clases que forman parte de este paquete
del sistema, utilizándose así durante las operaciones de gestión ya sean de
personal, clientes o reservas, todas con sus respectivos atributos que servirán para
poder identificarlas correctamente.
Las operaciones que se pueden realizar están divididas en 3 subsistemas:
● Subsistema SUB01 - Operaciones del Cliente con la aplicación del hotel
● Subsistema SUB02 - Operaciones del Administrador con la aplicación del
hotel.
● Subsistema SUB03 - Operaciones del Personal hotelero con la aplicación del
hotel.
CN-0001: Cliente
Responsabilidades
Nombre Tipo Descripción
nombre String Nombre del cliente
apellidos String Apellidos del cliente
Correo electrónico del
correo String
Atributos cliente
Número de teléfono del
teléfono String
cliente
departamen Departamento del servicio
String
to que solicita
● CU-0006: ALTA CLIENTE - Se registra un
nuevo cliente en la aplicación
● CU-0007: MODIFICACIÓN CLIENTE - Se
modifican los datos relacionados a dicho
cliente
● CU-0008: ELIMINACIÓN CLIENTE - Se desea
eliminar al cliente de la aplicación
● CU-0009: LISTADO CLIENTES - Se desea
listar a los clientes de la aplicación
● CU-0010: ALTA RESERVA - El cliente realiza
la reserva
● CU-0011: MODIFICACIÓN RESERVA - El
cliente modifica su reserva
● CU-0012: ELIMINACIÓN RESERVA - El
Participación en cliente elimina su reserva
Casos de Uso ● CU-0013: LISTADO RESERVAS - El cliente
desea ver sus reservas
● CU-0017: LECTURA SERVICIOS - El cliente
selecciona la opción de ver los servicios que
se ofrecen
● CU-0018: INFORME DE OCUPACIÓN - El
cliente desea ver qué habitaciones están ya
ocupadas
● CU-0019: GENERAR TICKET - El cliente
desea poner una reclamación, asociando así
un ticket a este
● CU-0023: INICIAR SESIÓN: El cliente
introduce sus credenciales para registrarse en
la aplicación
CN-0002: Reserva
Responsabilidades
Nombre Tipo Descripción
fechaEntrad Fecha para la que reservó
date
a el inicio del servicio
Fecha en la que finaliza el
fechaSalida date
Atributos servicio
Id del hotel asociado a la
idHotel String
reserva
Id del cliente asociado a la
idCliente String
reserva
● CU-0010:ALTA RESERVA - Se desea registrar
la reserva en la aplicación
● CU-0011:MODIFICACIÓN RESERVA - Se
desea modificar los datos de dicha reserva
● CU-0012:ELIMINACIÓN RESERVA - Se desea
cancelar la reserva previamente hecha
● CU-0013:LISTADO RESERVAS - Se desea
Participación en listar una serie de reservas
Casos de Uso ● CU-0018: INFORME DE OCUPACIÓN - Es
necesario consultar las reservas actuales para
saber qué habitaciones están ocupadas
● CU-0019: GENERAR TICKET - El ticket va a
asociado al personal del hotel o al cliente, y en
este caso la puede generarse en base a una
queja por el servicio prestado de la reserva
previamente hecha
CN-0003: Servicio
Responsabilidades
Nombre Tipo Descripción
nombre String Nombre del servicio
Atributos costo float Costo del servicio
tipo String Tipo de servicio
fecha date Fecha del Servicio
● CU-0014: ALTA SERVICIO - Se da de alta un
nuevo servicio
● CU-0015: MODIFICAR SERVICIO - Se
Participación en modifican los datos de un determinado servicio
Casos de Uso ● CU-0016: ELIMINAR SERVICIO - Se desea
eliminar el servicio
● CU-0017: LECTURA SERVICIO - Se desea
consultar el servicio
CN-0004: Calendario
Responsabilidades
Nombre Tipo Descripción
fechaActual date Fecha actual del calendario
fechasReser Listado de fechas de
Atributos List
vas reservas
● CU-0010: ALTA RESERVA - La reserva queda
registrada en el calendario tras ser realizada
● CU-0011: MODIFICACIÓN RESERVA - Se
puede modificar la fecha de la reserva,
interviniendo así el objeto calendario
● CU-0012: ELIMINACIÓN RESERVA - Al
eliminar una reserva, también se elimina del
calendario
● CU-0013: LISTADO RESERVAS - El
calendario es necesario para ubicar en el
tiempo las reservas realizadas
● CU-0014: ALTA SERVICIO - Al solicitarse un
Participación en
servicio, también queda registrado en el
Casos de Uso
calendario cuándo este servicio debe
realizarse
● CU-0015: MODIFICAR SERVICIO - También
se puede modificar la fecha en la que el
servicio debe ser realizado
● CU-0016: ELIMINAR SERVICIO - Al
eliminarse un servicio, en el calendario debe
eliminarse este evento también
● CU-0017: LECTURA SERVICIOS - El
calendario contiene las fechas de los servicios
solicitados
CN-0005: Factura
Responsabilidades
Nombre Tipo Descripción
costeTotal float Coste total de la factura
Atributos fecha date Fecha asociada a la factura
Elementos cargados en la
elementos List
factura
● CU-0010:ALTA RESERVA - Cuando se realiza
una reserva, se genera una factura con el
coste, la fecha y los elementos de esta
● CU-0011:MODIFICACIÓN RESERVA -
Cuando se modifica la reserva, puede haber
Participación en cambios que influyan en la factura
Casos de Uso ● CU-0012:ELIMINACIÓN RESERVA - Al
eliminarse la reserva, también lo hace la
factura
● CU-0013:LISTADO RESERVAS - Cuando se
consultan las reservas, todas estas tienen una
factura asociada a ellas
CN-0006: Personal
Responsabilidades
Nombre Tipo Descripción
nombre String Nombre del personal
apellidos date Apellidos del personal
Atributos cargo String Cargo que desempeña
salario float Salario del personal
departamen Departamento al que
String
to pertenece
● CU-0001: ALTA PERSONAL- Se da de alta un
nuevo empleado del personal
● CU-0002: MODIFICAR PERSONAL - Se
modifican los datos del personal en cuestión
● CU-0003: ELIMINACIÓN PERSONAL - Se
Participación en
eliminan los datos de dicho miembro del
Casos de Uso
personal
● CU-0004: LISTAR PERSONAL - Se listan los
miembros del personal
● CU-0005: MIGRAR PERSONAL - Se manda el
miembro del personal a otra área u hotel
CN-0007: Hotel
dar Alta Cliente
dar Alta Personal
dar Alta Reserva
modificar Personal
eliminar Personal
listado Personal
migrar Personal
modificación Cliente
eliminar Cliente
Responsabilidades listado Clientes
modificar Reserva
eliminar Reserva
listado Reservas
informe Ocupación
generar Ticket
eliminar Ticket
mostrar lista Tickets
asignar Instancia a calendario
iniciar Sesión
Nombre Tipo Descripción
nombre String Nombre del hotel
Atributos dirección date Dirección del hotel
numeroTelefo Número de teléfono para
String
no contactar con el hotel
El hotel interviene en todos los casos de uso, ya que
todos las demás clases están gestionadas por él al
Participación en estar directa o indirectamente asociados a este, ya
Casos de Uso sean los servicios, el personal o los clientes, más
todos los elementos que posee.
CN-0008: Habitación
Responsabilidades
Nombre Tipo Descripción
Número de camas de la
numeroCamas String
habitación
metrosCuadrad Metros cuadrados de la
int
Atributos os habitación
Planta en la que se
planta String
encuentra la habitación
numeroHabitaci
int Número de la habitación
on
Atributo para representar
boolea
disponible (sí/no) si la habitación
n
está disponible
● CU-0010: ALTA RESERVA - En la reserva se
asocian una o varias habitaciones a esta
● CU-0011: MODIFICACIÓN RESERVA - Al
modificarse la reserva, también puede
modificarse la elección de la habitación
● CU-0012: ELIMINACIÓN RESERVA - Al
eliminar una reserva, también se elimina la
habitación o habitaciones reservadas
previamente
● CU-0013: LISTADO RESERVAS - Se
muestran las habitaciones reservadas
Participación en
● CU-0014: ALTA SERVICIO - Al solicitarse un
Casos de Uso
servicio, también se puede solicitar una
habitación
● CU-0015: MODIFICAR SERVICIO - También
se puede modificar la habitación que ofrece el
servicio
● CU-0016: ELIMINAR SERVICIO - Al
eliminarse un servicio, también se elimina la
habitación solicitada previamente en la reserva
● CU-0017: LECTURA SERVICIOS - Se
muestran las habitaciones solicitadas de los
servicios que se muestran
CN-0009: Ticket
Responsabilidades
Nombre Tipo Descripción
id String Id del ticket
Fecha de generación del
Atributos fecha date
ticket
nombre String Razón de la reclamación
descripción String Descripción de la incidencia
Participación en ● CU-0019: GENERAR TICKET - Se genera un
Casos de Uso ticket en caso de reclamaciones
CN-0010: Restaurante
Responsabilidades
Nombre Tipo Descripción
Atributos nombre String Nombre del restaurante
carta List Carta del restaurante
● CU-0010: ALTA RESERVA - Se puede solicitar
realizar una reserva para el restaurante
● CU-0011: MODIFICACIÓN RESERVA - Al
modificarse la reserva, también puede
modificarse la reserva del restaurante
● CU-0012: ELIMINACIÓN RESERVA - Al
eliminar una reserva, también se elimina
aquella realizada en el restaurante
Participación en
● CU-0013: LISTADO RESERVAS - Se
Casos de Uso
muestran entre las reservas hechas, las
pertenecientes al restaurante
● CU-0014: ALTA SERVICIO - Al solicitarse un
servicio, también se puede solicitar mesa en el
restaurante
● CU-0015: MODIFICAR SERVICIO - También
se puede modificar la reserva del restaurante,
ya sea la fecha, mesa o menú pedido.
A continuación se muestran los diagramas de secuencia de las distintas
responsabilidades de las clases:
5 INTERFACES DE USUARIO
5.1 Principios de Diseño de la Interfaz de Usuario
En la siguiente sección se explicará la interfaz que se utilizará para iniciar sesión,
la cual será la misma para todos los subsistemas.
IU-0001: IniciarSesión
Descripción Interfaz que definirá el inicio de sesión de un usuario en el
sistema.
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Login String Consult Sí Título de la
a interfaz para el
usuario.
Usuario String Editable Sí Contenido del
usuario
utilizado a
modo de
credencial
para iniciar
sesión.
Contraseñ Passwor Editable Sí Contenido de
a d la contraseña
del usuario
para iniciar
sesión.
Botones/Enlace Nombre Acción
Forgot password Se mostrará un mensaje con los
pasos para recuperar la
contraseña
Sign in Se validarán los datos introducidos
a través del sistema y, en caso
correcto, se redireccionará a la
pantalla que corresponda según
sea actor. En caso de error, se
mostrará un mensaje.
Mensaje para recuperar la contraseña
Mensaje error
5.2 Subsistema Menú Principal de gestión
5.2.1 Modelo de Navegación del Subsistema
5.2.2 Interfaz del módulo 0002
IU-0002: MenúGestión
Descripción Interfaz que permite seleccionar que quieres gestionar, si
has iniciado sesión y no tienes permisos para acceder a
alguno de estos menus saldrá un pop up con un error
Botones/Enlace Nombre Acción
Gestión Personal Selecciona este menú para
acceder a ella:IU-0003:
GestiónPersonal
Gestión Servicios Selecciona este menú para
acceder a ella:IU-0004:
GestiónServicios
Gestión Clientes Selecciona este menú para
acceder a ella:IU-0005:
GestiónClientes
Gestión Tickets Selecciona este menú para
acceder a ella:IU-0006:
GestiónTickets
Gestión Reservas Selecciona este menú para
acceder a ella:IU-0007:
GestiónReservas
Informe ocupación Selecciona este menú para
acceder a ella:IU-0008:
InformeOcupaciuon
Enviar Se redirigirá al apartado
seleccionado
Cerrar sesión Se cerrará la sesión mostrando un
pop up
Pop up cuando accedes a un menú al que no tienes acceso:
Pop up cuando cierras sesión:
5.2.3 Interfaz del módulo 0003
IU-0003: GestiónPersonal
Descripción Interfaz que mostrará todo el personal y sus datos
Botones/Enlace Nombre Acción
Añadir Se mostrará la interfaz: IU-0009:
añadirPersonal, para poder añadir
una nueva instancia.
Ver Se mostrará la interfaz: IU-0008:
verPersonal y se podrá editar o
eliminar los datos de la persona
cuya fila este este botón.
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
Pop up borrar instancia
5.2.4 Interfaz del módulo 0008
IU-0008: verPersonal
Descripción Interfaz que mostrará una instancia la cual podremos editar
y eliminar
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
empleado
Apellidos String Editable Sí Apellidos del
empleado
Cargo String Editable Sí Cargo del
empleado
Salario Float Editable Sí Sueldo del
empleado
Departam String Editable Sí Departamento
ento donde el
empleado
trabaja
Botones/Enlace Nombre Acción
Editar Cuando escribes en los campos
hasta que no se pulse el botón de
editar los datos no quedarán
modificados
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.5 Interfaz del módulo 0009
IU-0009: añadirPersonal
Descripción Interfaz que se podra agregar una nueva instancia
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
empleado
Apellidos String Editable Sí Apellidos del
empleado
Cargo String Editable Sí Cargo del
empleado
Salario Float Editable Sí Sueldo del
empleado
Departam String Editable Sí Departamento
ento donde el
empleado
trabaja
Botones/Enlace Nombre Acción
Enviar Se añade una nueva instancia
5.2.6 Interfaz del módulo 0004
IU-0004: GestiónClientes
Descripción Interfaz que mostrará todo los clientes y sus datos
Botones/Enlace Nombre Acción
Añadir Se mostrará la interfaz: IU-0011:
añadirCliente, para poder añadir
una nueva instancia.
Ver Se mostrará la interfaz: IU-0010:
verCliente y se podrá editar o
eliminar los datos de la persona
cuya fila este este botón.
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.7 Interfaz del módulo 0010
IU-0010: verCliente
Descripción Interfaz que mostrará una instancia la cual podremos editar
y eliminar
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
cliente
Apellidos String Editable Sí Apellidos del
cliente
Correo String Editable Sí Correo cliente
Teléfono String Editable Sí Teléfono
cliente
Botones/Enlace Nombre Acción
Editar Cuando escribes en los campos
hasta que no se pulse el botón de
editar los datos no quedarán
modificados
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.8 Interfaz del módulo 0011
IU-0011: añadirCliente
Descripción Interfaz que se podrá agregar una nueva instancia
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
cliente
Apellidos String Editable Sí Apellidos del
cliente
Correo String Editable Sí Correo del
cliente
Telefono String Editable Sí Telefono del
cliente
Botones/Enlace Nombre Acción
Enviar Se añade una nueva instancia
5.2.9 Interfaz del módulo 0005
IU-0005: GestiónServicios
Descripción Interfaz que mostrará todos los servicios
Botones/Enlace Nombre Acción
Añadir Se mostrará la interfaz: IU-0013:
añadirServicios, para poder añadir
una nueva instancia.
Ver Se mostrará la interfaz: IU-0012:
verServicios y se podrá editar o
eliminar los datos del servicio cuya
fila este este botón.
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.10 Interfaz del módulo 0012
IU-0012: verServicio
Descripción Interfaz que mostrará una instancia la cual podremos editar
y eliminar
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
servicio
Tipo String Editable Sí El tipo que va
a ser el
servicio
Costo Float Editable Sí Cuanto va a
ser el importe
económico del
servicio
Fecha Date Editable Sí Fecha en la
que se ha
realizado el
servicio
Botones/Enlace Nombre Acción
Fecha Si se pulsa sobre una fecha
aparecerá la interfaz IU-0018:
calendario para poder editarla o
añadirla
Editar Cuando escribes en los campos
hasta que no se pulse el botón de
editar los datos no quedarán
modificados
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.11 Interfaz del módulo 0013
IU-0011: añadirServicio
Descripción Interfaz que se podra agregar una nueva instancia
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
cliente
Tipo String Editable Sí Apellidos del
cliente
Costo String Editable Sí Cuanto va a
ser el importe
económico del
servicio
Fecha Date Editable Sí Fecha en la
que se ha
realizado el
servicio
Botones/Enlace Nombre Acción
Enviar Se añade una nueva instancia
5.2.12 Interfaz del módulo 0006
IU-0006: GestiónTickets
Descripción Interfaz que mostrará todo los tickets y sus datos
Botones/Enlace Nombre Acción
Añadir Se mostrará la interfaz: IU-0015:
añadirTickets, para poder añadir
una nueva instancia.
Ver Se mostrará la interfaz: IU-0014:
verTickets y se podrá editar o
eliminar los datos del servicio cuya
fila este este botón.
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.13 Interfaz del módulo 0014
IU-0014: verTickets
Descripción Interfaz que mostrará una instancia la cual podremos editar
y eliminar
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
ticket
Fecha Date Editable Sí Fecha en la
que se ha
realizado el
ticket
ID String Editable Sí Id al que se
asocia el ticket
Descripció String Editable Sí Descripción de
n la incidencia
expuesta en el
ticket
Botones/Enlace Nombre Acción
Editar Cuando escribes en los campos
hasta que no se pulse el botón de
editar los datos no quedarán
modificados
Finalizar El ticket se da por finalizado. La
incidencia estará resuelta
Fecha Si se pulsa sobre una fecha
aparecerá la interfaz IU-0018:
calendario para poder editarla o
añadirla
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.14 Interfaz del módulo 0015
IU-0015: añadirTickets
Descripción Interfaz que se podra agregar una nueva instancia
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Nombre String Editable Sí Nombre del
ticket
Fecha Date Editable Sí Fecha en la
que se ha
realizado el
ticket
ID String Editable Sí Id al que se
asocia el ticket
Descripció String Editable Sí Descripción de
n la incidencia
expuesta en el
ticket
Botones/Enlace Nombre Acción
Enviar Se añade una nueva instancia
5.2.15 Interfaz del módulo 0007
IU-0007: GestiónReservas
Descripción Interfaz que mostrará todas las reservas y sus datos
Botones/Enlace Nombre Acción
Añadir Se mostrará la interfaz: IU-0017:
añadirReservas, para poder añadir
una nueva instancia.
Ver Se mostrará la interfaz: IU-0016:
verTickets y se podrá editar o
eliminar los datos del servicio cuya
fila este este botón.
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.16 Interfaz del módulo 0016
IU-0016: verReservas
Descripción Interfaz que mostrará una instancia la cual podremos editar
y eliminar
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Fecha Date Editable Sí Fecha de
Entrada entrada del dia
de reserva
Fecha Date Editable Sí Fecha de
Salida salida del dia
de reserva
ID Hotel String Editable Sí Id al que se
asocia el hotel
donde se ha
realizado la
reserva
ID Cliente String Editable Sí Id al que se
asocia el
cliente que ha
realizado la
reserva
Botones/Enlace Nombre Acción
Editar Cuando escribes en los campos
hasta que no se pulse el botón de
editar los datos no quedarán
modificados
Finalizar El ticket se da por finalizado. La
incidencia estará resuelta
Fecha Si se pulsa sobre una fecha
aparecerá la interfaz IU-0018:
calendario para poder editarla o
añadirla
Borrar Se mostrará un pop up para que
estemos seguros de eliminar esta
instancia, si pulsamos ‘vale’ la
instancia se eliminará.
5.2.17 Interfaz del módulo 0017
IU-0017: añadirReservas
Descripción Interfaz que se podrá agregar una nueva instancia
Campos Nombre Tipo Editable Oblig Descripción
Datos / .
Consult
a
Fecha Date Editable Sí Fecha de
Entrada entrada del dia
de reserva
Fecha Date Editable Sí Fecha de
Salida salida del dia
de reserva
ID Hotel String Editable Sí Id al que se
asocia el hotel
donde se ha
realizado la
reserva
ID Cliente String Editable Sí Id al que se
asocia el
cliente que ha
realizado la
reserva
Botones/Enlace Nombre Acción
Enviar Se añade una nueva instancia
5.2.18 Interfaz del módulo 0018
5.3 Modelo de Navegación del Subsistema
5.3.1 Interfaz del módulo 0019
IU-0019: InformeOcupacion
Descripción Interfaz que mostrará todo el personal y sus datos
Botones/Enlace Nombre Acción
Ocupado Cuando se pulse el botón la
habitación pasará de ocupado a
libre
Libre Cuando se pulse el botón la
habitación pasará de libre a
ocupado
5.4 Matriz de Trazabilidad Módulo de Interfaz - Actores
Actores / ACTOR0 ACTOR0 ACTOR04
Interfaz 1 2
-
- -
Personal Cliente Administrado
hotelero r del sistema
IU - 001 - Iniciar X X X
Sesión
IU - 002 X X X
IU - 003 X
IU - 004 X X
IU - 005 X X
IU - 006 X X
IU - 007 X X X
IU - 008 X
IU - 009 X
IU - 010 X X
IU - 011 X X
IU - 012 X X
IU - 013 X X X
IU - 014 X X
IU - 015 X X
IU – 016 X X
IU – 017 X X
IU – 018 X X X
IU – 019 X X
6 Informes
El sistema genera estadísticas basadas en las reservas y los servicios que hacen
los clientes.
IF- 0001: Estadísticas generales del hotel
Descripción Descripción del informe
Datos Campo Tipo Descripción
Datos
Ingresos en Float Los ingresos totales en
extras extras que ha facturado
el hotel
Ingresos Float Los ingresos totales en
que ha facturado el hotel
Cuatrimestre Integer Los cuatrimestres del
año
Ocupación Integer La ocupación actual del
restaurante restaurante
Ocupación Integer La ocupación actual del
hotel hotel
Habitaciones Integer Las habitaciones que
libres hay libre
7. Comunicación con sistemas externos
Como puede verse en el próximo diagrama, existe un sistema principal el cual es el
servidor donde se recibe toda la información de los subsistemas externos, siendo
esta procesada por la persistencia en la base de datos MariaDB.
Nuestro sistema se compone de seis subsistemas. El cliente web, el cual se
encarga de enlazar la actividad de un cliente que accede al sistema desde un
navegador de internet. El cliente móvil, el cual se encarga de conectarse al servidor
mediante el protocolo HTTP para aquellos clientes que desean usar el sistema
descargando la aplicación móvil disponible.
Usamos también algunas APIs disponibles como son Google Calendar. Usada para
la gestión de reservas en el calendario disponible en nuestro sistema.
Google Forms. Usada a la hora de generar un ticket. Esto facilita la implementación
de la gestión del ticket y la facilidad al usuario de usar un formato de formulario tan
familiar como este.
Por último usamos una API de correo electrónico para transmitir a nuestros clientes
la información necesaria de forma automática.
Todas estas comunicaciones son realizadas mediante el protocolo HTTP con un
cifrado de datos que usa la tecnología estandarizada SSL.
Como último sistema externo. Tenemos MariaDB Server. Servidor donde
almacenamos la base de datos usada en el sistema la cual se conecta a la
persistencia para el tratamiento de los datos. Para facilitar el trabajo usamos Redux
ORM, una tecnología de Redux implementada para facilitar la gestión de la capa de
acceso a los datos.
8 Pruebas
8.1 Alcance de las pruebas
A continuación, se describen las características de las pruebas a tener en cuenta a
la hora de elaborarlas para el correcto funcionamiento del sistema desarrollado en el
presente documento:
● Pruebas de Carga: En las bases de datos puede darse una alta carga
debido a las peticiones de usuarios legítimos y a posibles ataques.
Dado el flujo de datos esperado es necesario un sistema el cual
distribuya la carga de consultas entre los equipos que conforman el
Clúster de forma eficiente. Por otro lado, el propio servidor deberá ser
capaz de soportar las peticiones por segundo pertinentes.
● Pruebas Unitarias: Se probará de forma individual cada uno de los
módulos y subsistemas de nuestra aplicación de forma separada.
Revisando así las funcionalidades principales de estos. Para una
correcta consecución de estas pruebas se deberá probar los módulos
y subsistemas forzando errores comunes así como un mal uso de
estos por el usuario. Evitando que la aplicación falle ante respuestas
inesperadas.
● Pruebas de Integración: Se deberá realizar las pruebas necesarias
para la comprobación del correcto funcionamiento de módulos y
subsistemas entre sí, teniendo en cuenta la relación que debe darse
entre estos. Deberá contemplarse también un flujo que determine cada
escenario definido en los casos de uso que se han establecido en el
documento presente, forzando fallos en los mismos para los diferentes
actores implicados.
● Pruebas de Seguridad: Se deberá probar que se mantiene la
integridad de los datos a partir de intentos de inyección SQL, se
intentará realizar un ataque de denegación de servicio distribuido
(DDOS) para comprobar la robustez del sistema. Se probará que las
medidas puestas para evitar el robo de información personal así como
de credenciales son efectivas y, en último término, se verificará que los
datos sensibles son almacenados de forma cifrada y que la
información intercambiada entre los clientes y servidor se realiza
empleando una conexión cifrada y segura mediante el protocolo
HTTPs.
8.2 Entorno de Pruebas
Para las pruebas unitarias, cada desarrollador será el encargado de gestionar estas
a través de las herramientas proporcionadas por el entorno de desarrollo.
Para realizar las pruebas de integración en los entornos Android e iOS se
requerirán, al menos, un dispositivo con sistema operativo iOS, un dispositivo con
sistema operativo Android y un portátil o ordenador sobremesa con sistema
operativo Windows 10 o versiones posteriores. También usaremos máquinas
virtuales para comprobar el correcto funcionamiento en dispositivos con otros
sistemas operativos como Linux o macOS.
Para realizar las pruebas de carga se empleará la herramienta Apache JMeter, que
nos permitirá simular una alta carga en el servidor, y controlar el rendimiento de
este. Para realizar estas pruebas con MariaDB emplearemos herramientas de
pruebas propias de MySQL Workbench.
Para las pruebas de seguridad, se realizarán diferentes intentos malintencionados
de extracción de datos, rastreamiento en la red, y ataques de denegación de
servicios a través de diferentes softwares que pueda requerir el propio encargado
del testeo.
8.3 Pruebas de Aceptación del Sistema
Las pruebas de aceptación del sistema deberán cubrir todas las pruebas definidas
anteriormente tanto para los flujos principales, como para los flujos alternativos que
cubran cada uno de los casos de uso definidos en el documento. Las pruebas
deberán ser realizadas para cada uno de los actores implicados y se deberá
verificar que no se producen accesos no contemplados en los casos de uso, ni que
se incumpla ninguna de las restricciones impuestas al sistema por motivos de
seguridad de la información, integridad del sistema o prestación del servicio.
Todas estas pruebas estarán bajo la supervisión del analista Tester Pablo Vílchez
Rivas y serán realizadas por Daniel Martín Pérez como se ve reflejado en el punto
1.4 de este documento.
9. GLOSARIO
● Hotel: Establecimiento que ofrece alojamiento y distintos servicios a los
clientes.
● Cliente: Persona que se aloja en el hotel o usa sus servicios.
● Personal: Empleados del hotel que proporcionan servicios a los clientes,
estos podrían ser personal de limpieza, recepcionistas, etc …
● Habitación: Lugar privado donde el cliente se aloja temporalmente. Este viene
decorado con mobiliario y servicios imprescindibles.
● Reserva: Acción de apartar una habitación u otro servicio del hotel para un
cliente en una fecha específica.
● Servicio: Prestación que el hotel ofrece a sus clientes como servicio de
habitaciones, comedor, transporte, etc.
● Calendario: Herramienta que se usa para facilitar la claridad de las reservas,
disponibilidad de habitaciones y otros servicios en un determinado periodo de
tiempo.
● Ticket: Registro de una incidencia o solicitud de servicio generado por un
cliente o personal del hotel.
● Factura: Comprobante que obtiene el cliente de que la reserva ha sido
realizada.
● Restaurante: Uno de los servicios que ofrece el hotel donde los clientes
reciben el alimento.