scieee AI-readable full text Open interactive document viewer

Online restaurant systems: aplicación web para gestionar pedidos y reservas de un restaurante

Lai, Xiawei

Abstract

Departamento de Matemática Aplicada

Full text

Universidad de Valladolid E. U. DE INFORMÁTICA (SEGOVIA) Grado de Ingeniería Informática de Servicios y Aplicaciones “ONLINE RESTAURANT SYSTEMS” Aplicación web para gestionar pedidos y reservas de un restaurante Alumna: Xiawei Lai Tutora: María Luisa Martín Pérez Agradecimientos: Gracias a mi tutora Dª María Luisa Martín Pérez por la dedicación y el tiempo que ha destinado a que este trabajo se llevara a cabo. Gracias a todas las personas que han colaborado en mi enseñanza y me han guiado hasta aquí. Gracias a mi familia y amigos que me han acompañado en esta etapa de mi vida. Gracias a todos. Resumen En este TFG se desarrolla una plataforma web para gestionar los servicios de un restaurante. En ella se detalla una carta electrónica donde se muestra el precio, las imágenes y la introducción de las materiales de los platos. Los clientes pueden realizar pedidos o reservas fácilmente desde web. Abstract In this TFG developed a web platform to manage the services of a restaurant. It details an electronic letter where showed the price, images and the introduction of the materials of the dishes. Customers can place orders or reservations easily from the web. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 7 Índice de contenido: Resumen.........................................................................................................................................5 Abstract...........................................................................................................................................5 1. Introducción..............................................................................................................................19 1.1. Identificación del proyecto................................................................................................21 1.2. Motivación y Objetivo del trabajo.....................................................................................21 1.3. Identificación del entorno tecnológico..............................................................................22 1.4. Herramientas utilizadas..................................................................................................... 22 1.5. Organización del documento.............................................................................................24 2. Planificación y presupuesto......................................................................................................27 2.1. Estimaciones......................................................................................................................29 2.1.1. Puntos de función........................................................................................................... 29 2.1.2. COCOMO.......................................................................................................................33 2.1.3. Puntos de caso de uso.....................................................................................................35 2.2. Planificación temporal.......................................................................................................41 2.3. Presupuesto........................................................................................................................41 2.3.1. Presupuesto inicial..........................................................................................................41 2.3.1.1. Presupuesto software...................................................................................................41 2.3.1.2. Presupuesto hardware..................................................................................................42 2.3.1.3. Presupuesto de desarrollo............................................................................................42 2.3.1.4. Presupuesto total..........................................................................................................42 2.3.2. Presupuesto final............................................................................................................ 43 2.3.2.1. Presupuesto software...................................................................................................43 2.3.2.2. Presupuesto hardware..................................................................................................43 2.3.2.3. Presupuesto de desarrollo............................................................................................43 2.3.2.4. Presupuesto total..........................................................................................................44 2.3.3. Presupuesto inicio/ final................................................................................................. 44 3. Análisis.....................................................................................................................................45 3.1. Identificación de usuarios..................................................................................................47 3.2. Requisitos Funcionales......................................................................................................48 3.3. Requisitos No Funcionales................................................................................................50 3.3.1. Accesibilidad..................................................................................................................50 3.3.2. Seguridad........................................................................................................................50 Online restaurant systems 8 3.3.3. Escalabilidad...................................................................................................................50 3.3.4. Usabilidad.......................................................................................................................50 3.3.5. Disponibilidad................................................................................................................ 50 3.3.6. Mantenibilidad................................................................................................................50 3.3.7. Interoperabilidad.............................................................................................................51 3.3.8. Interfaz............................................................................................................................51 3.3.9. Requisitos de Información..............................................................................................51 3.3.10. Requisitos de restricción de información..................................................................... 52 3.4. Diagramas y especificación de Casos de Uso................................................................... 53 3.4.1. Diagramas de Casos de Uso........................................................................................... 53 3.4.2. Especificación de Casos de Uso.....................................................................................55 3.5. Diagramas de secuencia.................................................................................................... 77 3.5.1. Alta usuario empresa (empleado y administrador).........................................................77 3.5.2. Eliminar usuario............................................................................................................. 78 3.5.3. Crear producto................................................................................................................79 3.5.4. Eliminar producto...........................................................................................................80 3.5.5. Modificar producto.........................................................................................................81 3.5.6. Visualizar producto........................................................................................................ 82 3.5.7. Hacer pedido...................................................................................................................83 3.5.8. Modificar estado pedido.................................................................................................84 3.5.9. Consultar menú...............................................................................................................85 3.6. Diagrama Entidad – Relación............................................................................................86 3.7. Modelo relacional..............................................................................................................87 3.8. Diccionario de datos..........................................................................................................90 4. Diseño.......................................................................................................................................97 4.1. Arquitectura lógica............................................................................................................99 4.2. Diseño de interfaz............................................................................................................100 5. Pruebas................................................................................................................................... 109 5.1. Pruebas de caja blanca.....................................................................................................111 5.2. Pruebas de caja negra...................................................................................................... 111 6. Manuales de aplicación.......................................................................................................... 115 6.1. Introducción.....................................................................................................................117 6.2. Manual cliente sin registrar............................................................................................. 119 6.3. Manual cliente registrado................................................................................................ 127 Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 9 6.4. Manual usuario empleado................................................................................................143 6.5. Manual usuario administrador.........................................................................................153 7. Conclusiones.......................................................................................................................... 175 7.1. Conclusiones....................................................................................................................177 7.2. Futuras ampliaciones.......................................................................................................177 8. Bibliografía y Webgrafía........................................................................................................179 Apéndice.....................................................................................................................................183 Apéndice A:CONTENIDO DEL CD-ROM...................................................................................185 Apéndice B:GLOSARIO............................................................................................................189 Online restaurant systems 16 Ilustración 43 Manual cliente registrado: Menú añadido al carrito..........................................135 Ilustración 44 Manual cliente registrado: Resumen del carrito.................................................136 Ilustración 45 Manual cliente registrado: Carrito de la compra................................................136 Ilustración 46 Manual cliente registrado: El carro vacío...........................................................137 Ilustración 47 Manual cliente registrado: Formulario finalizar pedido.....................................137 Ilustración 48 Manual cliente registrado: Promoción aplicado.................................................138 Ilustración 49 Manual cliente registrado: Código promoción no válido...................................138 Ilustración 50 Manual cliente registrado: Pedido correctamente.............................................. 138 Ilustración 51 Manual cliente registrado: Pedido erróneo.........................................................139 Ilustración 52 Manual cliente registrado: Formulario de la reserva..........................................139 Ilustración 53 Manual cliente registrado: Reservado correctamente........................................ 139 Ilustración 54 Manual cliente registrado: Reserva erróneo.......................................................140 Ilustración 55 Manual cliente registrado:Olvidé la contraseña.................................................140 Ilustración 56 Manual cliente registrado: Formulario de recuperar contraseña......................140 Ilustración 57 Manual cliente registrado: Contraseña actualizada............................................141 Ilustración 58 Manual cliente registrado: Contraseña no actualizada.......................................141 Ilustración 59 Manual usuario empleado: Iniciar sesión...........................................................143 Ilustración 60 Manual usuario empleado: Página principal...................................................... 143 Ilustración 61 Manual usuario empleado: Página perfil-datos personal................................... 144 Ilustración 62 Manual usuario empleado: Página perfil-contraseña......................................... 144 Ilustración 63 Manual usuario empleado: Página pedidos........................................................145 Ilustración 64 Manual usuario empleado: Ver pedido.............................................................. 145 Ilustración 65 Manual usuario empleado: Nuevo pedido..........................................................146 Ilustración 66 Manual usuario empleado: Modificar pedido.................................................... 146 Ilustración 67 Manual usuario empleado: Lista reservas.......................................................... 147 Ilustración 68 Manual usuario empleado: Ver reserva..............................................................147 Ilustración 69 Manual usuario empleado: Nueva reserva......................................................... 148 Ilustración 70 Manual usuario empleado: Modificar reserva....................................................148 Ilustración 71 Manual usuario empleado: Mensaje de notificación.........................................149 Ilustración 72 Manual usuario empleado: Listado de notificación...........................................149 Ilustración 73 Manual usuario empleado: Ver los datos de notificación..................................150 Ilustración 74 Manual usuario empleado: Formulario del email..............................................150 Ilustración 75 Manual usuario empleado: Olvidar contraseña..................................................150 Ilustración 76 Manual usuario empleado: Recuperar contraseña.............................................151 Ilustración 77 Manual usuario empleado: Contraseña actualizada........................................... 151 Ilustración 78 Manual usuario empleado: Contraseña no actualizada...................................... 151 Ilustración 79 Manual usuario administrador: Página principal................................................153 Ilustración 80 Manual usuario administrador: Datos empresa..................................................154 Ilustración 81 Manual usuario administrador: Configurar el pago........................................... 154 Ilustración 82 Manual usuario administrador: Configurar reserva............................................155 Ilustración 83 Manual usuario administrador: Sub-menú del restaurante del menú vertical....155 Ilustración 84 Manual usuario administrador: Listado del producto.........................................156 Ilustración 85 Manual usuario administrador: Ver datos producto...........................................156 Ilustración 86 Manual usuario administrador: Crear nuevo producto.......................................157 Ilustración 87 Manual usuario administrador: Modificar datos del producto...........................157 Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 17 Ilustración 88 Manual usuario administrador: Opiniones del cliente........................................158 Ilustración 89 Manual usuario administrador: Listado de la categoría..................................... 158 Ilustración 90 Manual usuario administrador: Ver datos de la categoría..................................159 Ilustración 91 Manual usuario administrador: Crear nueva categoría.......................................159 Ilustración 92 Manual usuario administrador: Modificar datos categoría.................................159 Ilustración 93 Manual usuario administrador: Productos de la categoría................................. 160 Ilustración 94 Manual usuario administrador: Listado del menú..............................................160 Ilustración 95 Manual usuario administrador: Ver datos del menú.......................................... 161 Ilustración 96 Manual usuario administrador: Crear menú.......................................................161 Ilustración 97 Manual usuario administrador: Modificar datos del menú................................ 162 Ilustración 98 Manual usuario administrador: Productos del menú..........................................162 Ilustración 99 Manual usuario administrador: Listado de publicación..................................... 163 Ilustración 100 Manual usuario administrador: Ver los datos de publicación..........................163 Ilustración 101 Manual usuario administrador: Crear publicación...........................................164 Ilustración 102 Manual usuario administrador: Modificar datos de publicación......................164 Ilustración 103 Manual usuario administrador: Listado de promoción.....................................165 Ilustración 104 Manual usuario administrador: Ver datos de promoción.................................165 Ilustración 105 Manual usuario administrador: Crear promoción............................................ 166 Ilustración 106 Manual usuario administrador: Modificar datos de promoción.......................166 Ilustración 107 Manual usuario administrador: Listado del usuario empresa...........................167 Ilustración 108 Manual usuario administrador: Ver datos del usuario.......................................167 Ilustración 109 Manual usuario administrador: Dar alta usuario...............................................168 Ilustración 110 Manual usuario administrador: Modificar datos del usuario.............................168 Ilustración 111 Manual usuario administrador: Listado del cliente...........................................169 Ilustración 112 Manual usuario administrador: Ver datos del cliente........................................169 Ilustración 113 Manual usuario administrador: Dar alta cliente................................................ 170 Ilustración 114 Manual usuario administrador: Modificar datos del cliente.............................170 Ilustración 115 Manual usuario administrador: Pedidos del cliente........................................ 171 Ilustración 116 Manual usuario administrador: Reservas del cliente.......................................171 Ilustración 117 Manual usuario administrador: Ejemplo gráfico de venta anuales.................. 172 Ilustración 118 Manual usuario administrador: Ejemplo gráfico de la venta del año...............172 Ilustración 119 Manual usuario administrador: Listado del informe........................................172 Online restaurant systems 18 1. Introducción Online restaurant systems 20 1.1. Identificación del proyecto Título: Online restaurant systems. Autora: Xiawei Lai. Directora: María Luisa Martín Pérez. 1.2. Motivación y Objetivo del trabajo Los avances en la tecnología y en las comunicaciones por Internet han ido evolucionando a lo largo del tiempo para facilitar a las personas, en la medida de lo posible, el modo de efectuar negocios a través de la red. Los clientes de hoy en día buscan la mayor comodidad posible a la hora de exigir una restauración, teniendo una clara necesidad de ahorrar tiempo, como por ejemplo hacer el pedido a domicilio o para recoger en el local, hacer pedido con antelación por tener la mesa reservada y plato preparado a la hora de llegada evitando largas esperas al restaurante, hacer reservas en línea ahorrando el tiempo por responder las llamadas y correos electrónicos. El restaurante de hoy necesita encontrar solución que le permita acceder a nuevos clientes, a la vez que conseguir reducir costes para ofrecer un servicio más competitivo. Como respuesta a estas necesidades, se desea diseñar una plataforma que permita a los usuarios disfrutar en un restaurante de un servicio rápido y de calidad. A su vez, esta plataforma servirá al restaurante como punto para publicitarse accediendo a nuevos clientes, distribuir ofertas, fidelización así como una herramienta que facilite la autogestión y que les permita ofrecer su servicio de forma más eficiente, reduciendo costes operativos. En este TFG nos centraremos en la creación de una aplicación web para gestionar pedidos y reservas de un restaurante. Dicha aplicación consta de dos enfoques: uno para el cliente y otro para el usuario de empresa. Desde el enfoque de clientes, se permitirá autentificarse en el sistema y hacer pedidos o reservas a través de la aplicación web. El cliente registrado podrá acceder a un área personal donde se le permitirá modificar los datos proporcionados en el registro y ver los detalles de las reservas y los pedidos realizados anteriormente. Desde enfoque de la empresa, se otorgará al restaurante de una forma eficaz de gestionar todo lo referente de restaurante, como por el ejemplo, gestionar los productos, configurar sus menús y recibir los pedidos o reservas de sus clientes. Online restaurant systems 22 1.3. Identificación del entorno tecnológico Para la realización de la aplicación web implementada se han utilizado los siguientes componentes: Apache, como servidor HTTP para poder acceder a la aplicación a través de un navegador. MySQL, como sistema de gestor de base de datos, en el que se guardan todos los datos referentes a usuarios, productos, menús, puntuación, pedidos, reservas … Como lenguaje de programación PHP, que nos permite crear páginas dinámicas de la que se puede recuperar información almacenada en la base de datos. JavaScript se ha utilizado para la creación de gráficos y para implementar las funcionalidades en la aplicación. 1.4. Herramientas utilizadas Las herramientas utilizadas para la creación de la aplicación han sido: -Windows 8: Sistema operativo sobre el que he trabajado. -OpenProj: Utilizado para la creación del diagrama de Gantt. -NetBeans: Utilizado para desarrollar el código fuente de la aplicación web. -WPS 2019: Software utilizado para la creación de la memoria y de la presentación. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 23 -Google Chrome: Navegador web utilizado para la ejecución de la aplicación web. -Adobe Reader: Utilizado para la lectura de archivos pdf. -Xampp: Utilizado con Apache como servidor HTTP que nos proporciona el acceso mediante un navegador y MySQL para la base de datos. -MySql: Utilizado para diseñar los bases de datos. -StarUML Utilizado para la creación de los diagramas de secuencia y caso de uso. -DesignEvo Utilizado para crear el logo. -Draw.io Utilizado para la creación de los diagramas de entidadrelación. Online restaurant systems 24 1.5. Organización del documento En este apartado se describe la estructura que sigue la documentación: -Capítulo 1: Introducción Este primer capítulo es en el que nos encontramos. En él se identifica el proyecto, el entorno tecnológico y los usuarios, la motivación y el alcance del sistema. -Capítulo 2: Planificación y presupuesto En este segundo capítulo de la documentación se hacen las estimaciones, la planificación temporal y el presupuesto inicial y final de la aplicación desarrollada. -Capítulo 3: Análisis En este capítulo se tratan los requisitos de la aplicación, los diagramas de casos de uso, de secuencia, el diagrama de entidad relación, el modelo relacional y el diccionario de datos de nuestra base de datos. -Capítulo 4: Diseño En este apartado se lleva a cabo la arquitectura lógica y física de la aplicación web desarrollada y el diseño de la interfaz. -Capítulo 5: Pruebas En este quinto apartado se desarrollan los distintos tipos de pruebas que se han desarrollado a lo largo de la etapa de implementación del proyecto. Nos encontramos con dos tipos de pruebas: pruebas del tipo caja blanca y pruebas del tipo de caja negra. -Capítulo 6: Manuales Este sexto capítulo contiene un manual para cada tipo de usuario diferente que puede acceder a la aplicación. -Capítulo 7: Conclusiones En este capítulo se pueden ver las conclusiones obtenidas tras la realización del TFG y algunas ampliaciones que se podrán hacer en el futuro. -Capítulo 8: Bibliografía En este octavo capítulo se encuentra la relación de libros y páginas web consultados para la realización del TFG. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 25 -Apéndices Este último capítulo de la documentación está dividido en tres apartados: Contenido del CD-Rom: donde se detalla el contenido del CD-Rom que se entrega junto a la documentación. El glosario: donde se encuentran las definiciones de los términos más técnicos de la documentación. Online restaurant systems 32 Tipo de función Complejidad Total x Complejidad Total por tipo Suma Entradas de usuario Simple Media Alta 11 x 3 2x4 0x6 33 8 0 41 Salidas de usuario Simple Media Alta 25 x 4 2x5 0x7 100 10 0 110 Consultas de usuario Simple Media Alta 29 x 3 6x4 0x6 87 24 0 111 Ficheros internos Simple Media Alta 0x7 0 x 10 1 x 15 0 0 15 15 Ficheros externos Simple Media Alta 2x5 1x7 0 x 10 10 7 0 17 TOTAL DE PUNTOS DE FUNCIÓN: 294 Tabla 1 Punto de función Una vez obtenidos los PFNA ajustamos mediante un factor de ajuste (FA). El cálculo de factor de ajuste está basado en 14 características generales de los sistemas que miden la funcionalidad general y complejidad/influencia de la aplicación. A cada característica se le atribuye un peso de 0 a 5 e indica el grado de complejidad/influencia que tiene característica. Grado Descripción Complejidad Grado Descripción influencia 0 No está presente o su complejidad no es tenida en cuenta 0 No está presente o no influye 1 Complejidad mínima 1 Influencia mínima 2 Complejidad moderada 2 Influencia moderada 3 Complejidad promedio 3 Influencia promedio 4 Complejidad significativa 4 Influencia significativa 5 Complejidad fuerte 5 Influencia fuerte Tabla 2 Complejidad /Influencia Calculamos el grado de complejidad de cada característica para el cálculo de factor de ajuste: Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 33 Factores de ajuste Complejidad 1. Comunicación de datos 4 2. Funciones distribuidas 0 3. Rendimiento 4 4. Gran carga de trabajo 3 5. Frecuencia de transiciones 4 6. Entrada on-line de datos 4 7. Requisito de manejo del usuario final 1 8. Actualizaciones on-line 4 9. Procesos complejos 2 10. Utilización de otros sistemas 0 11. Facilidad de mantenimiento 4 12. Facilidad de operación 4 13. Instalación en múltiples lugares 0 14. Facilidad de cambio 3 TOTAL: 37 Tabla 3 Factor de ajuste Cálculo del factor de ajuste (FA) a partir de la suma de los 14 factores de complejidad. FA = (0,01 x ΣFC) + 0,65 = (0,01 x 37) + 0,65 = 1,03 PF = PFNA x FA = 294 x 1,03 = 302,82 Cálculo de puntos de función (PF) y obtención del número de líneas de código (LDC) estimadas tomando como referencia la equivalencia en LDC de cada punto de función (53 LDC/PF en PHP) 302,82 PF x 53 LDC/PF = 16049,46 LDC ≈16,04946 KLDC 2.1.2. COCOMO La estimación mediante COCOMO define tres modos de desarrollo o tipos de proyectos: Orgánico: proyectos relativamente sencillos, menores de 50 KDLC líneas de código, en los cuales se tiene experiencia de proyectos similares y se encuentran en entornos estables. semi-acoplado: proyectos intermedios en complejidad y tamaño (menores de 300 KDLC), donde la experiencia en este tipo de proyectos es variable, y las restricciones intermedias. Empotrado: proyectos bastante complejos, en los que apenas se tiene experiencia y se engloban en un entorno de gran innovación técnica. Además se trabaja con unos requisitos muy restrictivos y de gran volatilidad. Online restaurant systems 34 Y por otro lado existen diferentes modelos que define COCOMO: Modelo básico: Se basa exclusivamente en el tamaño expresado en LDC. Modelo intermedio: Además del tamaño del programa incluye un conjunto de medidas subjetivas llamadas conductores de costes. Modelo avanzado: Incluye todo lo del modelo intermedio además del impacto de cada conductor de coste en las distintas fases de desarrollo. En nuestra caso usaremos el COCOMO Intermedio Orgánico ya que tiene que cumplir alguna restricción y a su vez se trata de menor de 50 KLDC. Para aplicar el COCOMO intermedio he aplicado los siguientes factores de coste: Para hallar el esfuerzo hemos tenido en cuenta los factores, fiabilidad requerida, complejidad del software, experiencia con el lenguaje de programación y la calidad de los programadores. Los valores de estos factores los hemos mirado en la tabla 4 Valor de los factores FACTORES Muy bajo Bajo Medio Alto Muy alto Extra Fiabilidad requerida 0,75 0,88 1,00 1,15 1,4 Tamaño de la base de datos 0,94 1,00 1,08 1,16 Complejidad del software 0,70 0,85 1,00 1,15 1,30 1,65 Restricciones de tiempo de ejecución 1,00 1,11 1,30 1,66 Restricciones de memoria 1,00 1,06 1,21 1,56 Volatilidad del hardware 0,87 1,00 1,15 1,30 Restricciones de tiempo de respuesta 0,87 1,00 1,07 Calidad de los analistas 1,46 1,19 1,00 0,86 0,71 Experiencia con el tipo de aplicación 1,29 1,13 1,00 0,91 0,82 Experiencia con el hardware 1,21 1,10 1,00 0,90 Exp. con el lenguaje de programación 1,14 1,07 1,00 0,95 Calidad de los programadores 1,42 1,17 1,00 0,86 0,70 Técnicas modernas de programación 1,24 1,10 1,00 0,91 0,82 Empleo de herramientas 1,24 1,10 1,00 0,91 0,83 Restricciones a la duración del proyecto. 1,23 1,08 1,00 1,04 1,10 Tabla 4 Factores Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 35 En la tabla anterior marcado en rojo los valores correspondientes a nuestro sistema y con su multiplicación se obtiene el Factor de Ajuste(FA). FA= 1,15 (fiabilidad) x 0,85 (complejidad) x 0,95 (experiencia con el lenguaje) x 0,86 (calidad de los programadores)=1,04 Esfuerzo nominal= b KLDCa )(* = 05,1 )16,04(*2,3 =58,95 persona/mes Esfuerzo=E*FA=61,32 persona/mes Tiempo = d Ec )(* = 38,0 )61,32(*5,2 =11,946 meses Personal = E/T (personas) =5,13 personas Tras realizar los cálculos correspondientes se estima que serían necesarias 5 personas trabajando durante 12 meses para realizar proyecto. 2.1.3. Puntos de caso de uso Es un método de estimación de esfuerzo para proyectos de software, a partir de sus casos de uso. El método utiliza los actores y casos de uso para calcular el esfuerzo que significará desarrollarlos. A los casos de uso se les asigna una complejidad basada en transacciones, entendidas como una interacción entre el usuario y el sistema, mientras que a los actores se les asigna una complejidad basada en su tipo. Los pasos del método es siguiente: Clasificar cada interacción entre actor y caso de uso según su complejidad y asignar un peso en función de ésta. Para poder clasificar la complejidad de los actores debemos analizar la interacción de éste con el sistema que se va a desarrollar. Calcular la complejidad de cada caso de uso según el número de transacciones o pasos del mismo. Para calcular la complejidad de un caso de uso debemos determinar el número de transacciones, incluyendo los caminos alternativos. Calcular los Puntos Casos de Uso No Ajustados (UUCP) del sistema. Se obtienen sumando los Puntos Casos de Uso de todos y cada uno de los actores y casos de uso que se han identificado y catalogado en función de su complejidad. Cálculo de los Factores Técnicos (TCF). Cálculo de los Factores de Entorno. Online restaurant systems 36 Obtención de los Puntos Casos de Uso Ajustados: clasificar cada interacción entre actor y caso de uso según su complejidad y asignar un peso en función de ésta. Para poder clasificar la complejidad de los actores debemos analizar la interacción de éste con el sistema que se va a desarrollar. Punto de Caso de Uso sin Ajustar El UUCP son los puntos de casos de uso sin ajustar, esto nos puede servir para tener una idea un poco más precisa de la dificultad de los casos de uso e interfaces, tomando en cuenta los pesos de los actores (UAW) y los pesos de los casos de uso (UUCW). UUCP = UAW + UUCW Para calcular UAW asignamos a cada actor un factor de peso, según la siguiente tabla: Tipo de actor Descripción Factor Simple Otro sistema que interactúa con el sistema a desarrollar mediante una interfaz de programación (API) 1 Medio Otro sistema que interactúa con el sistema a desarrollar mediante un protocolo o una interfaz basada en texto 2 Complejo Una persona que interactúa con el sistema mediante una interfaz gráfica 3 Tabla 5 Factor de peso de actor Actores sin ajustar 1. Cliente No registrado: es la persona que estará interesada en la búsqueda de información de restaurante. Debido a que utiliza una interfaz gráfica la complejidad de este actor será compleja, de peso 3. 2. Cliente Registrado: es la persona que estará interesada en hacer pedidos y reserva. Debido a que utiliza una interfaz gráfica la complejidad de este actor será compleja, de peso 3. 3. Administrador: será la persona encargado en el mantenimiento de plataforma web. Debido a que utiliza una interfaz gráfica la complejidad de este actor será compleja, de peso 3. 4. Empleados: será la persona que trabaja en el restaurante y que utiliza el sistema para trabajar en el restaurante. Debido a que utiliza una interfaz gráfica la complejidad de este actor será compleja, de peso 3. UAW=3+3+3+3=12 Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 37 Para calcular UUCW asignamos a cada caso de uso un factor de peso, según la siguiente tabla: Tipo de actor Descripción Factor de peso Simple El Caso de Uso contiene de 1 a 3 transacciones 5 Medio El Caso de Uso contiene de 4 a 7 transacciones 10 Complejo El Caso de Uso contiene más de 8 transacciones 15 Tabla 6 Factor de peso de caso de uso 1. Login:Simple 2. Registrar:Simple 3. Ver perfil:Simple 4. Modificar perfil:Simple 5. Ver información restaurante:Simple 6. Añadir menú al carro:Simple 7. Añadir producto al carro:Simple 8. Añadir producto al favorito:Simple 9. Modificar carro:Simple 10. Aplicar promoción:Simple 11. Realizar pago:Simple 12. Consultar histórico de pedido:Simple 13. Consultar histórico reserva:Simple 14. Consultar productos favoritos:Simple 15. Puntuar producto del pedido:Simple 16. Modificar información de restaurante:Simple 17. Crear productos:Simple 18. Modificar productos:Simple 19. Eliminar productos:Simple 20. Ver productos:Simple 21. Crear menús:Simple 22. Modificar menús:Simple 23. Eliminar menús:Simple 24. Ver menús:Simple 25. Añadir categorías:Simple 26. Modificar categorías:Simple 27. Eliminar categoría: 28. Ver categorías:Simple 29. Alto usuarios:Simple 30. Ver usuarios:Simple 31. Eliminar usuarios:Simple 32. Modificar usuarios:Simple 33. Alta clientes:Simple 34. Ver clientes:Simple 35. Modificar datos clientes:Simple 36. Eliminar clientes:Simple 37. Ver informe de venta:Simple 38. Añadir pedidos:simple 39. Ver pedidos:Simple 40. Modificar pedidos Simple 41. Eliminar pedidos:Simple 42. Añadir reservas Simple 43. Ver reservas:Simple 44. Modificar reservas Simple 45. Eliminar reservas:Simple 46. Crear publicación:Simple 47. Modificar publicación:Simple 48. Ver publicación:Simple 49. Eliminar publicación: 50. Crear promociones:Simple 51. Modificar promociones:Simple 52. Ver promoción:Simple 53. Eliminar promoción:Simple 54. Ver notificación:Simple 55. Eliminar notificación:Simple Online restaurant systems 38 UUCW=(55*5)=275 Por lo que: UUCP=12+275=287 Una vez obtenidos los puntos de casos de uso sin ajustar debemos obtener los puntos de caso de uso ajustados. Esto se calcula mediante la siguiente ecuación: UCP=UUCP*TCP*EF Donde TCP es el factor de complejidad técnica y EF es el factor ambiente. Para calcular el factor de complejidad técnica (TCP) tenemos un conjunto de factores cada uno de los cuales se cuantifican con un valor del 0 al 5, donde 0 significa aporte irrelevante y 5 aporte muy importante. En la siguiente tabla se muestra el significado y el peso de cada uno de los factores. 1.1.1.Factor de Complejidad Técnica(TCF) Factor Descripción Peso Influencia Comentario Resultado R1 Sistemas distribuidos 2 0 Sistema centralizado 0 R2 Objetivos de rendimiento 1 3 Velocidad limitada por entradas del usuario 3 R3 Eficiencia respecto al usuario final 1 3 Algunas restricciones de eficacia 3 R4 Procesamiento complejo 1 5 Cálculos complejos de búsqueda 5 R5 Código reutilizable 1 0 No se necesita 0 R6 Instalación sencilla 0.5 1 plataforma web 0.5 R7 Fácil utilización 0.5 3 Utilización sencilla 1.5 R8 Portabilidad 2 3 Varias plataformas 6 R9 Fácil de cambiar 1 3 Coste medio mantenimiento 3 R10 Uso concurrente 1 0 No hay 0 R11 Características de seguridad 1 5 Alta seguridad 5 R12 Accesible por Terceros 1 4 Los usuarios web tienen acceso 4 R13 Se requiere formación especial 1 3 Mantenimiento medio 3 Total: 34 Tabla 7 Factor de complejidad técnica TCF=0.6+(0.01*34)=0.94 Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 39 Por último calculamos el factor ambiente (EF) mediante la siguiente tabla de factores: 1.1.2.Factor de Entorno (EF) Factor Descripción Peso Influencia Comentario Resultado R1 Portabilidad 1.5 4 Tiene que estar familiarizados con el modelo 6 R2 Fácil de cambiar 0.5 3 Se espera experiencia 1.5 R3 Experiencia en orientación a objetos 1 4 Se espera experiencia 4 R4 Capacidades de análisis 0.5 2 Uso de pocos especialistas 1 R5 Motivación 1 5 Motivación alta por los integrantes 5 R6 Requisitos Estables 2 2 Se esperan algún cambios 4 R7 Trabajadores a tiempo parcial -1 0 No hay 0 R8 Lenguaje Complejo -1 3 PHP -3 Tabla 8 Factor de entorno EF=1.4+(-0.03*18.5)=1.4-0.555=0.845 Por lo tanto punto de caso de uso ajustado: UCP=UUCP*TCF*EF UCP=287*0,94*0,845=227,96 Esfuerzo=UCP*Factor Productividad Donde Factor de Productividad según Karner será 20 horas x persona por UCP Esfuerzos=227,96*20=4559,28 horas/persona Suponiendo que un mes tiene 20 días laborales y cada día un empleado trabaja 8 horas tenemos que: 20*8=160 horas/mes 160 4559,28 =28,49 persona/mes Con este resultado interpretamos que este proyecto con una única persona empleada tardaría en completarse 28 meses aproximadamente en la implementación de proyecto. Online restaurant systems 40 1.1.3.Estimación Total Actividad % proyecto Horas x persona Meses Análisis 10 % 1139,81 7.11 Diseño 20 % 2279,62 14.22 Codificación 40 % 4559,28 28.49 Prueba 15 % 1709,8 10.66 Sobrecarga 15 % 1709,8 10.66 TOTAL 11398,31 71.14 Tabla 9 Estimación caso de uso Esfuerzo total=11398,31 hora/ persona Tiempo desarrollo (8 horas diarias)=11398,31/ 8=1424,78 días Tiempo desarrollo (20 días laboral)=1424,78 /20=71,23 meses Tiempo desarrollo (5 personas)=71,23 /5=14,24 meses Por lo tanto 5 personas deberían trabajar durante 14,24 meses aproximadamente. 1.2. Resultado de Estimación Método Esfuerzo Tiempo Personal COCOMO 58,95 persona_mes 11,94 meses 5,13 personas Caso de uso 71,23 persona_mes 14,24 meses 5 personas Tabla 10 Resultados del estimación Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 41 2.2. Planificación temporal En la planificación de tareas se tendrán el cuenta los objetivos y requisitos de la aplicación, así como la estimación del esfuerzo, pero también puede tenerse en cuenta la distinción en tareas de análisis, diseño, implementación y pruebas, en cada una de las posibles iteraciones del ciclo de vida del proyecto, y el marco temporal (plazo de entrega del proyecto). El correspondiente diagrama de Gantt permite observar de forma gráfica la distribución temporal de las tareas: Ilustración 1 Diagrama de Gantt 2.3. Presupuesto En el presupuesto hay que introducir el coste proporcional al uso que se le darán a los medios software y hardware necesarios para desarrollar la aplicación. Naturalmente, también hay que incluir el coste de los recursos humanos utilizados. 2.3.1. Presupuesto inicial Para realizar el presupuesto inicial utilizaremos los datos obtenidos anteriormente en las estimaciones por los puntos de función y del COCOMO. 2.3.1.1. Presupuesto software Para el desarrollo de la aplicación se utilizarán las siguientes herramientas: Online restaurant systems 48 en la aplicación, crear, modificar y eliminar usuarios o clientes, tienes más privilegio que el usuario empleados. 3.2. Requisitos Funcionales Los requisitos funcionales definen la funcionalidad del sistema o sus componentes. En este caso son: RF-1: El sistema deberá mostrar un formulario para introducir los datos de inicio de sesión (email y contraseña). RF-2: El sistema deberá comprobar que los datos de inicio de sesión son correctos. RF-3: El sistema deberá mostrar los usuarios que hay en la aplicación. RF-4: El sistema deberá mostrar los datos de usuario seleccionado y permitir modificarlos. RF-5: El sistema deberá mostrar un formulario para introducir los datos del nuevo usuario. RF-6: El sistema deberá comprobar que los datos del usuario son correctos. RF-7: El sistema deberá mostrar los clientes registrados que hay en la aplicación. RF-8: El sistema deberá mostrar los datos de cliente seleccionado y permitir modificarlos. RF-9: El sistema deberá mostrar un formulario para introducir los datos del nuevo cliente. RF-10: El sistema deberá comprobar que los datos del cliente son correctos. RF-11: El sistema deberá mostrar los productos que hay en la aplicación. RF-12: El sistema deberá mostrar los datos del producto seleccionado y permitir modificarlos. RF-13: El sistema deberá mostrar un formulario para introducir los datos del nuevo producto. RF-14: El sistema deberá comprobar que los datos del producto son correctos. RF-15: El sistema deberá mostrar las categorías que hay en la aplicación. RF-16: El sistema deberá mostrar los datos de la categoría seleccionado y permitir modificarlos. RF-17: El sistema deberá mostrar un formulario para introducir los datos de la nueva categoría. RF-18: El sistema deberá comprobar que los datos de la categoría son correctos. RF-19: El sistema deberá permitir elegir los productos a la categoría correspondiente. RF-20: El sistema deberá mostrar los menús que hay en la aplicación. RF-21: El sistema deberá mostrar los datos del menú seleccionado y permitir modificarlos. RF-22: El sistema deberá mostrar un formulario para introducir los datos del nuevo menú. RF-23: El sistema deberá comprobar que los datos del menú son correctos. RF-24: El sistema deberá permitir elegir los productos al menú. RF-25: El sistema deberá mostrar las promociones que hay en la aplicación. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 49 RF-26: El sistema deberá mostrar los datos de la promoción seleccionado y permitir modificarlos. RF-27: El sistema deberá mostrar un formulario para introducir los datos de la nueva promoción. RF-28: El sistema deberá comprobar que los datos introducidos de la promoción son correctos. RF-29: El sistema deberá mostrar las publicaciones que hay en la aplicación. RF-30: El sistema deberá mostrar los datos de publicación seleccionado y permitir modificarlos. RF-31: El sistema deberá mostrar un formulario para introducir los datos del nueva publicación RF-32: El sistema deberá comprobar que los datos introducidos de la publicación son correctos. RF-33: El sistema deberá mostrar las puntuaciones del producto que hay en la aplicación. RF-34: El sistema deberá mostrar las puntuaciones que hay en un determinado producto. RF-35: El sistema deberá mostrar un formulario para introducir los datos de las nuevas puntuaciones de un producto pedido. RF-36: El sistema deberá mostrar los datos de la empresa y permitir modificarlos. RF-37: El sistema deberá mostrar los pedidos que hay en la aplicación. RF-38: El sistema deberá mostrar los datos del pedido seleccionado y permitir modificarlos. RF-39: El sistema deberá permitir añadir los productos al carrito y permitir modificarlo. RF-40: El sistema deberá permitir añadir los menús al carrito y permitir modificarlo. RF-41: El sistema deberá permitir añadir los productos a la lista de producto favorito. RF-42: El sistema deberá permitir aplicar el código de promoción a su pedido. RF-43: El sistema deberá permitir modificar su carro de compra. RF-44: El sistema deberá mostrar un formulario para completar los datos del cliente para un nuevo pedido (email, nombre, teléfono y contraseña). RF-45: El sistema deberá mostrar un formulario para completar los datos de tarjeta para realizar el pago al pedido. RF-46: El sistema deberá comprobar que los datos del pago son correctos. RF-47: El sistema deberá comprobar que los datos del pedido son correctos. RF-48: El sistema deberá mostrar las reservas que hay en la aplicación. RF-49: El sistema deberá mostrar los datos de la reserva seleccionado y permitir modificarlos. RF-50: El sistema deberá mostrar un formulario para introducir los datos de la nueva reserva. RF-51: El sistema deberá comprobar que los datos de la reserva son correctos. RF-52: El sistema deberá mostrar los mensajes de notificaciones que hay en la aplicación y permitir eliminarlos. RF-53: El sistema deberá mostrar un informe sobre las ventas realizadas. RF-54: El sistema deberá permitir cerrar sesión de la aplicación. RF-55: El sistema deberá mostrar al usuario (empleado o administrador) las opciones que puede realizar en la aplicación. Online restaurant systems 50 3.3. Requisitos No Funcionales Estos requisitos describen propiedades o cualidades que el sistema debe tener. Tenemos diferentes tipos de estos requisitos: 3.3.1. Accesibilidad RNFAc-1: Al sistema debe poder accederse a través de un navegador. 3.3.2. Seguridad RNFSeg-1:Disponer de seguridad de autentificación de usuarios. RNFSeg-2:Los usuarios deberán identificarse en el sistema a través de su correo electrónico de usuario y su contraseña. RNFSeg-3:El sistema debe tener seguridad en las contraseñas, deberá utilizar MD5 para cifrar las contraseñas. 3.3.3. Escalabilidad RNFEs -1:El sistema debe ser altamente escalable, es decir, se debe poder agregar nuevas funcionalidades sin perder la calidad y el funcionamiento que ya se ha alcanzado. 3.3.4. Usabilidad RNFUs-1: El sistema deber ser confiable, asegurando un funcionamiento adecuado. RNFUs-2: El sistema deber restringir que el usuario solo realice las opciones permitidas. RNFUs-3: El usuario deberá poder utilizar la aplicación sin problemas después de haber leído el manual de usuario. 3.3.5. Disponibilidad RNFDis-1:El sistema deber permitir su uso las 24 horas del día, los 7 días de la semana. 3.3.6. Mantenibilidad RNFMan-1:El sistema debe ser capaz de recuperarse fácilmente de cualquier error que pudiera sucederse. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 51 3.3.7. Interoperabilidad RNFInter-1: El sistema debe ser compatible con la mayoría de los navegadores Web. 3.3.8. Interfaz RNFInt-1:El sistema tiene una interfaz de usuario atractiva e intuitiva. 3.3.9. Requisitos de Información RNFInf-1:El sistema deberá almacenar la información de los clientes que se registran. RNFInf-2:El sistema deberá almacenar la información de los usuarios. RNFInf-3:El sistema deberá almacenar la información de la empresa. RNFInf-4:El sistema deberá almacenar la información de los productos. RNFInf-5:El sistema deberá almacenar la información de las categorías. RNFInf-6:El sistema deberá almacenar la información de los menús. RNFInf-7:El sistema deberá almacenar la información de los productos correspondiente a un menú. RNFInf-8:El sistema deberá almacenar la información de las puntuaciones que se haga en un producto. RNFInf-9:El sistema deberá almacenar la información de las promociones. RNFInf-10: El sistema deberá almacenar la información de las publicaciones. RNFInf-11: El sistema deberá almacenar la información de los pedidos. RNFInf-12: El sistema deberá almacenar la información de los productos que correspondiente a un pedido. RNFInf-13: El sistema deberá almacenar la información de las reservas. RNFInf-14: El sistema deberá almacenar la información de los mensajes de notificación. RNFInf-15: El sistema deberá almacenar la información de reactivar su contraseña olvidada. RNFInf-16: El sistema deberá almacenar la información de los productos favoritos que correspondiente a un cliente. RNFInf-17: El sistema deberá almacenar la información de los países. RNFInf-18: El sistema deberá almacenar la información de las provincias que corresponde a un país. RNFInf-19: El sistema deberá almacenar la información de las ciudades que corresponde a una provincia. Online restaurant systems 52 3.3.10. Requisitos de restricción de información Las restricciones de información representan las limitaciones que se tendrán sobre los requisitos de información. A continuación, se detallan las limitaciones de información del sistema: RRI-1: La información almacenada de los clientes debe satisfacer que no puede existir dos clientes con el mismo email y su identificador será único. RRI-2: La información almacenada de los usuarios debe satisfacer que no puede existir dos usuarios con el mismo email y su identificador será único. RRI-3: La información almacenada de los menús debe satisfacer que no existan dos menús con el mismo nombre y su identificador será único. RRI-4: La información almacenada de los productos del menú debe satisfacer que no existan el mismo producto a un menú. RRI-5: La información almacenada de los favoritos del debe satisfacer que no existan el mismo producto a un cliente. RRI-6: La información almacenada de las promociones debe satisfacer que no existan dos promociones con el mismo código y su identificador será único. RRI-7: La información almacenada de los pedidos debe satisfacer que su identificador será único. RRI-8: La información almacenada de las publicaciones debe satisfacer que su identificador será único. RRI-9: La información almacenada de los puntuaciones debe pertenecen de producto pedido. RRI-10: La información almacenada de los mensajes de notificación debe pertenecen de un nuevo pedido o nueva reserva. RRI-11: La información almacenada de los países debe satisfacer que su identificador será único RRI-12: La información almacenada de los provincia debe pertenecen de un país y su identificador será único. RRI-13: La información almacenada de los ciudades debe pertenecen de un provincia y su identificador será único. 3.4. Diagramas y especificación de Casos de Uso 3.4.1. Diagramas de Casos de Uso Los diagramas de casos de uso muestran la funcionalidad existente en la aplicación. Aparecen representados los cuatro tipos de actores que se contemplan, así como todas las acciones que pueden realizar. Como ya se ha explicado en el primer capítulo del documento, la relación que existe entre los usuarios de la aplicación es jerárquica, el diagrama de casos de uso, entendiendo que lo que puede realizar un cliente sin identificar lo pueden hacer también los clientes registrados, empleados y administrador. Después se detallarán en profundidad cada uno de los casos de uso representados en el diagrama. Ilustración 3 Diagrama de caso de uso Online restaurant systems 54 Ilustración 4 Diagrama de caso de uso complejo Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 55 3.4.2. Especificación de Casos de Uso CU-1 Iniciar sesión Actor Clientes registrado, administrador y empleado Descripción El usuario se identifica en el sistema para acceder zona privada del sistema. Precondición El usuario debe estar registrado previamente. Secuencia normal 1. El usuario accede a la aplicación. 2. Accede a la zona de iniciar sesión 3. Rellene los datos del formulario. 4. Pulsa el botón “Iniciar sesión” 5. El sistema valida los datos del formulario. 6. El sistema redirige al usuario a la página principal. Postcondición El usuario identificado en el sistema. Excepciones 1. El usuario ha dejado los campos requeridos sin rellenar. 2. Los datos no son correcto. 3. Los datos no coinciden con ningún cliente o usuario del sistema. Frecuencia Alta Tabla 20 CU-01: Iniciar sesión CU-2 Registrar Actor Cliente no registrado Descripción El usuario podrá registrarse en el sistema como cliente para este pueda acceder a su zona privada. Precondición El usuario no debe estar registrado en el sistema Secuencia normal 1. El usuario accede a la aplicación. 2. Accede a la zona de “Registrar” 3. Rellena los datos de formulario 4. Pulsa el botón “Registrar” 5. El sistema se valida los datos del formulario. 6. El nuevo cliente queda registrado en el sistema Postcondición Registrar correctamente en el sistema. Excepciones 1. Los datos no son correcto. Frecuencia Alta Tabla 21 CU-02: Registrar CU-3 Ver su perfil Actor Cliente registrado, administrador y empleado Descripción El usuario podrá ver sus datos personales en su perfil. Precondición El usuario debe haber iniciado el sesión. Secuencia normal 1. Accede a la zona de “Mi perfil” 2. El sistema visualizará los datos del usuario. Postcondición El sistema visualizará los datos del usuario. Excepciones Frecuencia Alta Comentario Ninguna Tabla 22 CU-03: Ver su perfil Online restaurant systems 56 CU-4 Modificar su perfil Actor Cliente registrado, administrador y empleado Descripción El usuario se modifica los datos de su perfil. Precondición El usuario debe haber iniciado el sesión. Secuencia normal 1. Accede a la zona de” Mi Perfil” 2. Modificar los datos 3. Pulsa el botón “Guardar cambio” 4. El sistema se valida los datos modificados y se guardar el cambio Postcondición Datos de usuario se ha modificado correctamente Excepciones 1. Los datos modificados no son correcto. Frecuencia Media Tabla 23 CU-04: Modificar su perfil CU-5 Hacer reserva Actor Cliente registrado Descripción El usuario podrá realizar la reserva en el sistema. Precondición El usuario debe haber iniciado el sesión. Secuencia normal 1. Accede a la zona de ” Reservas” 2. Rellena el formulario de reserva. 3. Pulsa el botón “Reservar” 4. El sistema se valida los datos del formulario. 5. El sistema notifica que la reserva se ha realizado correctamente y muestra el identificador de la reserva. 6. El sistema envía la reserva a la plataforma de empresa. Postcondición La reserva se ha realizado correctamente Excepciones 1. Los datos del formulario no son correcto. 2. No queda ningún plazo disponible. Frecuencia Alta Tabla 24 CU-05: Hacer reserva CU-6 Ver reserva Actor Cliente registrado Descripción El usuario podrá visualizar sus reservas realizadas en el sistema. Precondición El usuario debe haber iniciado el sesión. Secuencia normal 1. Accede a la zona de “Mi perfil-->Mis reservas” 2. El sistema visualizará todas las reservas del usuario. Postcondición El sistema visualizará las reservas del usuario. Excepciones 1. No tiene ningún pedido, Frecuencia Alta Tabla 25 CU-06: Ver reserva Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 57 CU-7 Hacer pedido Actor Cliente registrado Descripción El usuario podrá realizar el pedido en el sistema. Precondición El usuario debe haber iniciado la sesión. Ha añadido uno o varios productos o menús al carro de la compra. Secuencia normal 1. Accede a la zona de “ ”. 2. Pulsa el botón “Finalizar”. 3. Seleccione el tipo de operación a realizar(a domicilio, a recoger y a tomar en el local). 4. Rellena el formulario de pedido (datos del cliente y pago). 5. Pulsa el botón “Confirmar” 6. El sistema se valida los datos y el pago. 7. El sistema notificará que el pedido se ha realizado correctamente y se envía el pedido a la plataforma de empresa. Postcondición El pedido se ha realizado correctamente Excepciones 1. El usuario no está registrado en la aplicación. 2. El pago no son correcto. 3. Los datos del formulario no son correcta Frecuencia Alta Tabla 26 CU-07: Hacer pedido CU-8 Modificar carro Actor Cliente registrado Descripción El cliente podrá modificar su carro de la compra. Precondición El usuario debe haber iniciado la sesión. Ha añadido uno o varios productos al carro de la compra. Secuencia normal 1. Accede a la zona de “ ”. 2. Modificar los productos del carro. 3. El sistema actualizará el carro de la compra. Postcondición El producto del carro se ha modificado correctamente Excepciones 1. No hay ningún producto en el carro. Frecuencia Alta Tabla 27 CU-08: Modificar carro CU-9 Añadir producto al carro Actor Cliente registrado Descripción El cliente podrá añadir el producto al carro de la compra. Precondición El usuario debe haber iniciado la sesión. Exista uno o varios productos en el sistema. Secuencia normal 1. Accede a la zona de “Productos”. 2. Seleccione el producto y pulsa el botón “Añadir” 3. El sistema notificará que el producto se ha añadido correctamente. Postcondición El producto se ha añadido correctamente al carrito. Excepciones 1. No hay ningún producto en el sistema. Frecuencia Alta Tabla 28 CU-09: Añadir producto al carro Online restaurant systems 64 CU-21 Modificar datos empresa Actor Administrador Descripción El usuario podrá modificar datos de la empresa. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Empresas”. 2. El sistema mostrará el formulario de empresa. 3. Introduce los datos 4. Enviar el formulario. 5. El sistema se guarda el cambio. Postcondición Los datos de la empresa se han modificado. Excepciones Los datos modificados no son correcto. Frecuencia Baja Tabla 48 CU-21: Modificar datos empresa CU-22 Gestionar publicación Actor Administrador Descripción El usuario podrá realizar las operaciones propias de gestión de datos de publicación: añadir, eliminar, modificar y visualizar. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Pasos 1. El administrador podrá añadir nueva publicación en el sistema 2. El administrador podrá modificar los datos de publicación en el sistema 3. El administrador podrá eliminar la publicación en el sistema 4. El administrador podrá visualizar las publicaciones disponibles en el sistema Tabla 49 CU-22: Gestionar publicación CU-22.1 Añadir publicación Actor Administrador Descripción El usuario podrá añadir nueva publicación en el sistema. Precondición El usuario debe iniciar la sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Publicaciones”. 2. Pulse el botón ”Nuevo” 3. Rellene el formulario de publicación. 4. El sistema se valida los datos el formulario. 5. El sistema notificará que la publicación se ha añadido correctamente. Postcondición La nueva publicación se ha añadido correctamente. Excepciones 1. Los datos del formulario no son correcto. Frecuencia Media Tabla 50 CU-22.1: Añadir publicación Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 65 CU-22.2 Modificar publicación Actor Administrador Descripción El usuario podrá modificar los datos de publicación en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Publicaciones”. 2. El sistema mostrará las publicaciones creadas. 3. Seleccione la publicación a modificar 4. El sistema los datos de publicación. 5. Modificar los datos 6. Pulse el botón “Guardar”. 7. El sistema se valida los datos y se guarda el cambio. Postcondición Los datos de la publicación se ha modificado correctamente. Excepciones 1. No existe ninguna publicación 2. Los datos modificados no son correcto. Frecuencia Baja Tabla 51 CU-22.2: Modificar publicación CU-22.3 Eliminar publicación Actor Administrador Descripción El usuario podrá eliminar la publicación en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Publicaciones”. 2. El sistema mostrará las publicación creadas 3. Seleccione la publicación que desea eliminar. 4. Pulse el botón “Eliminar”. 5. El sistema notifica que la publicación se ha eliminado correctamente. Postcondición La publicación se ha eliminado correctamente. Excepciones 1. No existe ninguna publicación Frecuencia Baja Tabla 52 CU-22.3: Eliminar publicación CU-22.4 Visualizar publicación Actor Administrador Descripción El usuario podrá visualizar las publicaciones disponibles en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Publicaciones”. 2. El sistema mostrará todas las publicaciones creadas. 3. Seleccione una publicación. 4. Pulse el botón “Ver”. 5. El sistema mostrará los datos de publicación. Postcondición La publicación se visualizará correctamente. Excepciones 1. No existe ninguna publicación Frecuencia Media Tabla 53 CU-22.4: Visualizar publicación Online restaurant systems 66 CU-23 Gestionar categoría Actor Administrador Descripción El usuario podrá realizar las operaciones propias de gestión de datos de la categoría: añadir, eliminar, modificar y visualizar. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Pasos 1. El administrador podrá añadir nueva categoría en el sistema 2. El administrador podrá modificar los datos de la categoría en el sistema 3. El administrador podrá eliminar la categoría en el sistema 4. El administrador podrá visualizar las categorías disponibles en el sistema Tabla 54 CU-23: Gestionar categoría CU-23.1 Añadir categoría Actor Administrador Descripción El usuario podrá añadir nueva categoría en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Categorías”. 2. Pulse el botón ”Nuevo” 3. Rellene el formulario de la categoría 4. El sistema se valida los datos el formulario. 5. El sistema notificará que la categoría se ha añadido correctamente. Postcondición La nueva categoría se ha añadido correctamente. Excepciones 1. Los datos del formulario no son correcto. Frecuencia Media Tabla 55 CU-23.1: Añadir categoría CU-23.2 Modificar categoría Actor Administrador Descripción El usuario podrá modificar los datos de la categoría en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Categorías”. 2. El sistema mostrará las categorías creados. 3. Seleccione la categoría a modificar 4. El sistema mostrará los datos de la categoría. 5. Modificar los datos 6. Pulse el botón “Guardar”. 7. El sistema se valida los datos y se guarda el cambio. Postcondición Los datos de la categoría se han modificado correctamente. Excepciones 1. No existe ninguna categoría 2. Los datos modificados no son correcto. Frecuencia Baja Tabla 56 CU-23.2: Modificar categoría Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 67 CU-23.3 Eliminar categoría Actor Administrador Descripción El usuario podrá eliminar la categoría en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. El usuario inicia sesión. 2. Accede a la zona de “Categorías”. 3. El sistema mostrará las categorías creados 4. Seleccione la categoría que desea eliminar. 5. Pulse el botón “Eliminar” y confirmar. 6. El sistema notificará que la categoría se ha eliminado correctamente. Postcondición La categoría se ha eliminado correctamente. Excepciones 1. No existe ninguna categoría Frecuencia Baja Tabla 57 CU-23.3: Eliminar categoría CU-23.4 Visualizar categoría Actor Administrador Descripción El usuario podrá visualizar las categorías disponibles en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Categorías”. 2. El sistema mostrará todos las categorías creadas. Postcondición La categoría se visualizará correctamente. Excepciones 1. No existe ninguna categoría Frecuencia Media Tabla 58 CU-23.4: Visualizar categoría CU-24 Gestionar menú Actor Administrador Descripción El usuario podrá realizar las operaciones propias de gestión de datos del menú: añadir, eliminar, modificar y visualizar. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Pasos 1. El administrador podrá añadir nuevo menú en el sistema 2. El administrador podrá eliminar el menú en el sistema 3. El administrador podrá modificar los datos del menú en el sistema 4. El administrador podrá visualizar los menús disponibles en el sistema Tabla 59 CU-24: Gestionar menú Online restaurant systems 68 CU-24.1 Añadir menú Actor Administrador Descripción El usuario podrá añadir nuevo menú en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Menús”. 2. Pulse el botón ”Nuevo” 3. Rellene el formulario del menú. 4. El sistema se valida los datos el formulario. 5. El sistema notificará que el menú se ha añadido correctamente. Postcondición El nuevo menú se ha añadido correctamente. Excepciones 1. Los datos del formulario no son correcto. Frecuencia Media Tabla 60 CU-24.1: Añadir menú CU-24.2 Modificar menú Actor Administrador Descripción El usuario podrá modificar los datos del menú en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Menús”. 2. El sistema mostrará todos los menús creados. 3. Seleccione el menú a modificar 4. El sistema los datos del menú. 5. Modificar los datos 6. Pulse el botón “Guardar”. 7. El sistema se valida los datos y se guarda el cambio. Postcondición Los datos del menú se han modificado correctamente. Excepciones 1. No existe ningún menú 2. Los datos modificados no son correcto. Frecuencia Media Tabla 61 CU-24.2: Modificar menú CU-24.3 Eliminar menú Actor Administrador Descripción El usuario podrá eliminar el menú en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Menús”. 2. El sistema mostrará los menús. 3. Seleccione el menú que desea eliminar. 4. Pulse el botón “Eliminar” y confirmar. 5. El sistema notificará que el menú se ha eliminado correctamente. Postcondición El menú se ha eliminado correctamente. Excepciones 1. No existe ningún menú Frecuencia Media Tabla 62 CU-24.3: Eliminar menú Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 69 CU-24.4 Visualizar menú Actor Administrador Descripción El usuario podrá visualizar los menús disponibles en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Menús”. 2. El sistema mostrará todos los menús creados. Postcondición El menú se visualizará correctamente. Excepciones 1. No existe ningún menú Frecuencia Media Tabla 63 CU-24.4: Visualizar menú CU-25 Gestionar promoción Actor Administrador Descripción El usuario podrá realizar las operaciones propias de gestión de datos de la promoción: añadir, eliminar, modificar y visualizar. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Pasos 1. El administrador podrá añadir nueva promoción en el sistema 2. El administrador podrá eliminar la promoción en el sistema 3. El administrador podrá modificar los datos de la promoción en el sistema 4. El administrador podrá visualizar las promociones disponibles en el sistema Tabla 64 CU-25: Gestionar promoción CU-25.1 Añadir promoción Actor Administrador Descripción El usuario podrá añadir nueva promoción en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “promociones”. 2. Pulse el botón ”Nuevo” 3. Rellene el formulario de la promoción. 4. El sistema se valida los datos el formulario. 5. El sistema notificará que la promoción se ha añadido correctamente. Postcondición Los datos de la promoción se han añadido correctamente. Excepciones 1. Los datos del formulario no son correcto. Frecuencia Media Tabla 65 CU-25.1: Añadir promoción Online restaurant systems 70 CU-25.2 Modificar promoción Actor Administrador Descripción El usuario podrá modificar los datos de la promoción en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “promociones”. 2. El sistema mostrará todas las promociones creadas. 3. Seleccione la promoción a modificar 4. El sistema mostrará los datos de la promoción. 5. Modificar los datos 6. Pulse el botón “Guardar”. 7. El sistema se valida los datos y se guarda el cambio. Postcondición La promoción se ha modificado correctamente. Excepciones 1. No existe ninguna promoción. 2. Los datos modificados no son correcto. Frecuencia Media Tabla 66 CU-25.2: Modificar promoción CU-25.3 Eliminar promoción Actor Administrador Descripción El usuario podrá eliminar la promoción en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Promociones”. 2. El sistema mostrará todas las promociones creadas. 3. Seleccione la promoción que desea eliminar. 4. Pulse el botón “Eliminar”. 5. El sistema notificará que la promoción se ha eliminado correctamente. Postcondición La promoción se ha eliminado correctamente. Excepciones 1. No existe ninguna promoción Frecuencia Media Tabla 67 CU-25.3: Eliminar promoción CU-25.4 Visualizar promoción Actor Administrador Descripción El usuario podrá visualizar las promociones disponibles en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Promociones”. 2. El sistema mostrará todas las promociones creadas. Postcondición La promoción se visualizará correctamente. Excepciones 1. No existe ninguna promoción Frecuencia Media Tabla 68 CU-25.4: Visualizar promoción Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 71 CU-26 Gestionar producto Actor Administrador Descripción El usuario podrá realizar las operaciones propias de gestión de datos del producto: añadir, eliminar, modificar y visualizar. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Pasos 1. El administrador podrá añadir nuevo producto en el sistema 2. El administrador podrá eliminar el producto en el sistema 3. El administrador podrá modificar los datos del producto en el sistema 4. El administrador podrá visualizar los productos disponibles en el sistema Tabla 69 CU-26: Gestionar producto CU-26.1 Añadir producto Actor Administrador Descripción El usuario podrá añadir nuevo producto en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Productos”. 2. Pulse el botón”Nuevo” 3. Rellene el formulario del producto. 4. El sistema se valida los datos el formulario. 5. El sistema notificará que el producto se ha añadido correctamente. Postcondición El nuevo producto se ha añadido correctamente. Excepciones 1. Los datos del formulario no son correcto. Frecuencia Media Tabla 70 CU-26.1: Añadir producto CU-26.2 Modificar producto Actor Administrador Descripción El usuario podrá modificar los datos del producto en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “producto”. 2. El sistema mostrará todos los productos creados. 3. Seleccione el producto a modificar 4. El sistema mostrará los datos del producto. 5. Modificar los datos 6. Pulse el botón “Guardar”. 7. El sistema se valida los datos y se guarda el cambio. Postcondición Los datos del producto se han modificado correctamente. Excepciones 1. No existe ningún producto. 2. Los datos modificados no son correcto. Frecuencia Media Tabla 71 CU-26.2: Modificar producto Online restaurant systems 72 CU-26.3 Eliminar producto Actor Administrador Descripción El usuario podrá eliminar el producto en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “producto”. 2. El sistema mostrará todos los producto creados 3. Seleccione el producto que desea eliminar. 4. Pulse el botón “Eliminar”. 5. El sistema notificará que el producto se ha eliminado correctamente. Postcondición El producto se ha eliminado correctamente. Excepciones 1. No existe ningún producto Frecuencia Media Tabla 72 CU-26.3: Eliminar producto CU-26.4 Visualizar producto Actor Administrador Descripción El usuario podrá visualizar los productos disponibles en el sistema Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “producto”. 2. El sistema mostrará todos los productos creados. Postcondición El producto se visualizará correctamente. Excepciones 1. No existe ningún producto Frecuencia Media Tabla 73 CU-26.4: Visualizar producto CU-27 Gestionar reserva Actor Administrador y empleado Descripción El usuario podrá realizar las operaciones propias de gestión de reserva: añadir, eliminar, modificar y visualizar. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Pasos 1. El administrador podrá añadir nueva reserva en el sistema 2. El administrador podrá eliminar la reserva en el sistema 3. El administrador podrá modificar los datos de la reserva en el sistema 4. El administrador podrá visualizar las reservas disponibles en el sistema Tabla 74 CU-27: Gestionar reserva Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 73 CU-27.1 Añadir reserva Actor Administrador y empleado Descripción El usuario podrá añadir nueva reserva en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Reservas”. 2. Pulse el botón ”Nuevo” 3. Rellene el formulario de la reserva. 4. El sistema se valida los datos el formulario. 5. El sistema notificará que la reserva se ha añadido correctamente. Postcondición La reserva se ha añadido correctamente. Excepciones 1. Los datos del formulario no son correcto. Frecuencia Alta Tabla 75 CU-27.1: Añadir reserva CU-27.2 Modificar reserva Actor Administrador y empleado Descripción El usuario podrá modificar los datos de la reserva en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Reservas”. 2. El sistema mostrará todas las reservas creadas. 3. Seleccione la reserva a modificar 4. El sistema mostrará los datos de la reserva. 5. Modificar los datos 6. Pulse el botón “Guardar”. 7. El sistema se valida los datos y se guarda el cambio. Postcondición Los datos de la reserva se han modificado correctamente. Excepciones 1. No existe ninguna reserva. 2. Los datos modificados no son correcto. Frecuencia Media Tabla 76 CU-27.2: Modificar reserva CU-27.3 Eliminar reserva Actor Administrador y empleado Descripción El usuario podrá eliminar la reserva en el sistema. Precondición El usuario debe iniciar el sesión y de tipo “Admin”. Secuencia normal 1. Accede a la zona de “Reservas”. 2. El sistema mostrará todas las reservas creados 3. Seleccione la reserva que desea eliminar. 4. Pulse el botón “Eliminar”. 5. El sistema notificará que la reserva se ha eliminado correctamente. Postcondición La reserva se ha eliminado correctamente. Excepciones 1. No existe ninguna reserva Frecuencia Media Tabla 77 CU-27.3: Eliminar reserva Online restaurant systems 80 3.5.4. Eliminar producto Ilustración 8 Diagrama de secuencia: Eliminar producto Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 81 3.5.5. Modificar producto Ilustración 9 Diagrama de secuencia: Modificar producto Online restaurant systems 82 3.5.6. Visualizar producto Ilustración 10 Diagrama de secuencia:Visualizar producto Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 83 3.5.7. Hacer pedido Ilustración 11 Diagrama de secuencia: Hacer pedido Online restaurant systems 84 3.5.8. Modificar estado pedido Ilustración 12 Diagrama de secuencia: Modificar estado pedido Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 85 3.5.9. Consultar menú Ilustración 13 Diagrama de secuencia: Consultar menú Online restaurant systems 86 3.6. Diagrama Entidad – Relación En este diagrama se representa de manera gráfica la estructura lógica de la base de datos. Los principales elementos de este modelo son las entidades con sus atributos y las relaciones entre entidades. Entendemos por entidad un objeto del que se recoge información de interés de cara a la base de datos. La relación es una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro de este modelo. Ilustración 14 Diagrama EntidadRelación Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 87 3.7. Modelo relacional En este modelo se puede ver las relaciones que existen entre las diferentes tablas de la base de datos. Ilustración 15 Diagrama relacional A continuación se detalla a través de que atributo está conectada una tabla con otra: -categorías-productos: la tabla categorías tiene como clave primaria el id que es la unión con la tabla productos, ya que es la clave foránea de la tabla de los productos. En el atributo id_categoría de la tabla productos identifica la categoría que pertenece el producto. -menu_producto-menús: la tabla menús tiene como clave primaria(id) que es la unión con la tabla menú_producto, ya que es la clave foránea de la tabla del Online restaurant systems 88 menu_producto. En el atributo id_menu de la tabla menú_producto identifica el menú que se va añadido el producto. -menu_producto-productos: la tabla productos tiene como clave primaria(id) que es la unión con la tabla menú_producto, ya que es la clave foránea de la tabla menus_producto. En el atributo id_producto de la tabla menu_producto identifica el producto que se ha añadido al menú. -detalle_pedido-productos: la tabla productos tiene como clave primaria(id) que es la unión con la tabla detalle_pedido, ya que es la clave foránea de la tabla detalle_pedido. En el atributo id_producto de la tabla detalle_pedido identifica el producto que se ha añadido al pedido. -detalle_pedido-menús: la tabla menús tiene como clave primaria(id) que es la unión con la tabla detalle_pedido, ya que es la clave foránea de la tabla detalle_pedido. En el atributo id_menu de la tabla detalle_pedido identifica si el producto que se ha añadido corresponde a un menú. -detalle_pedido-pedidos: la tabla pedidos tiene como clave primaria(id) que es la unión con la tabla detalle_pedido, ya que es la clave foránea de la tabla del detalle_pedido. En el atributo id_pedido de la tabla detalle_pedido identifica el detalle del pedido que corresponde. -pedidos-clientes: la tabla clientes tiene como clave primaria(id) que es la unión con la tabla pedidos, ya que es la clave foránea de la tabla del pedidos. En el atributo id_cliente de la tabla pedidos identifica el cliente que se ha realizado el pedido. -pedidos-clientes: la tabla clientes tiene como clave primaria(id) que es la unión con la tabla pedidos, ya que es la clave foránea de la tabla clientes. En el atributo id_cliente de la tabla pedidos identifica el usuario que se realiza el pedido. -reservas-clientes: la tabla clientes tiene como clave primaria(id) que es la unión con la tabla reservas, ya que es la clave foránea de la tabla reservas. En el atributo id_cliente de la tabla reservas identifica el usuario que se realiza la reserva. -favoritos-productos: la tabla productos tiene como clave primaria(id) que es la unión con la tabla favoritos, ya que es la clave foránea de la tabla favoritos. En el atributo id_producto de la tabla favoritos se identifica el producto que corresponde. -favoritos-clientes: la tabla clientes tiene como clave primaria(id) que es la unión con la tabla favoritos, ya que es la clave foránea de la tabla favoritos. En el atributo id_cliente de la tabla favoritos se identifica el cliente que se ha añadido el producto favorito. -puntuaciones-productos: la tabla productos tiene como clave primaria(id) que es la unión con la tabla puntuaciones, ya que es la clave foránea de la tabla puntuaciones. En el atributo id_producto de la tabla puntuaciones identifica el producto que se ha puntuado. -puntuaciones-pedidos: la tabla pedidos tiene como clave primaria(id) que es la unión con la tabla puntuaciones, ya que es la clave foránea de la tabla puntuaciones. En el atributo id_pedidos de la tabla puntuaciones identifica el pedido que corresponde . -puntuaciones-clientes: la tabla clientes tiene como clave primaria(id) que es la unión con la tabla puntuaciones, ya que es la clave foránea de la tabla puntuaciones. En el atributo id_cliente de la tabla puntuaciones identifica el usuario que se puntúa el producto. -mensajes-pedidos: la tabla pedidos tiene como clave primaria(id) que es la unión con la tabla mensajes, ya que es la clave foránea de la tabla del mensajes. En el atributo id_pedido de la tabla mensajes identifica si el mensaje corresponde a un nuevo pedido. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 89 -mensajes-reservas: la tabla reservas tiene como clave primaria(id) que es la unión con la tabla mensajes, ya que es la clave foránea de la tabla del mensajes. En el atributo id_reserva de la tabla mensajes identifica si el mensaje corresponde a una nueva reserva. -util_país-util_provincias: la tabla util_país tiene como clave primaria(id_país) que es la unión con la tabla provincias, ya que es la clave foránea de la tabla. En el atributo id_país de la tabla provincias identifica la provincia a la que pertenece el país. -util_provincia-util_municipio: la tabla util_provincias tiene como clave primaria(id_provincia) que es la unión con la tabla municipios, ya que es la clave foránea de la tabla. En el atributo id_provincia de la tabla municipios identifica el municipio a la que pertenece el provincia. -util_país-clientes: la tabla util_país tiene como clave primaria(id_país) que es la unión con la tabla clientes, ya que es la clave foránea de la tabla. En el atributo país de la tabla clientes se muestra el identificador del país. -util_provincia-clientes: la tabla util_provincias tiene como clave primaria(id_provincia) que es la unión con la tabla clientes, ya que es la clave foránea de la tabla. En el atributo provincia de la tabla clientes se muestra el identificador de la provincia. -util_municipios-clientes: la tabla util_municipios tiene como clave primaria(id_municipio) que es la unión con la tabla usuarios, ya que es la clave foránea de la tabla. En el atributo municipio de la tabla usuarios se muestra el identificador del municipio. -util_país-usuarios: la tabla util_país tiene como clave primaria(id_país) que es la unión con la tabla clientes, ya que es la clave foránea de la tabla. En el atributo país de la tabla clientes se muestra el identificador del país. -util_provincia-usuarios: la tabla util_provincias tiene como clave primaria(id_provincia) que es la unión con la tabla usuarios, ya que es la clave foránea de la tabla. En el atributo provincia de la tabla usuarios se muestra el identificador de la provincia. -util_municipios-usuarios: la tabla util_municipios tiene como clave primaria(id_municipio) que es la unión con la tabla usuarios, ya que es la clave foránea de la tabla. En el atributo municipio de la tabla usuarios se muestra el identificador del municipio. Online restaurant systems 96 Tabla util_pais Atributos Tipo Descripción Nulo Restricciones id Int(11) Identificador del país Null Primary key code Varchar(50) Código del país Null pais_es Varchar(50) Nombre del país Null Tabla 104 Diccionario de datos: util_pais Tabla util_provincias Atributos Tipo Descripción Nulo Restricciones id_provincia Int(11) Identificador del provincia Null Primary key id_pais Int(11) Identificador del país Null Foreign key provincia Varchar(50) Nombre del provincia Null Tabla 105 Diccionario de datos: util_provincias Tabla util_municipios Atributos Tipo Descripción Nulo Restricciones id_municipio Int(11) Identificador del municipio Null Primary key id_provincia Int(11) Identificador del provincia Null Foreign key nombre Varchar(50) Nombre del municipio Null Tabla 106 Diccionario de datos: util_municipios 4. Diseño Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 99 4.1. Arquitectura lógica Esta aplicación web tiene una arquitectura lógica que sigue un modelo de dos capas, como se puede ver en la ilustración 16. Este modelo de dos capas nos dice que la información atraviesa dos capas entre la interfaz y la administración de los datos. Distribuye la aplicación en dos componentes lógicos. Ilustración 16 Arquitectura lógica A continuación se describe cada componente lógico de la aplicación desarrollada: Lógica de presentación: Se encarga de la entrada y salida de la aplicación con el usuario. Sus principales tareas son: obtener información del usuario, enviar la información del usuario a la lógica de aplicación para su procesamiento, recibir los resultados del procesamiento de la lógica de aplicación y presentar estos resultados al usuario. Lógica de aplicación: Se encarga de gestionar los datos a nivel de procesamiento. Actúa de puente entre el usuario y los datos. Sus principales tareas son: recibir la entrada del nivel de presentación, interactúa con la lógica de datos y enviar el resultado del procesamiento al nivel de presentación. Lógica de datos: Se encarga de gestionar los datos a nivel de almacenamiento. Sus principales tareas son: almacenar, recuperar, mantener y asegurar la integridad de los datos. Online restaurant systems 100 4.2. Diseño de interfaz En este apartado de la documentación se explica el contenido de la interfaz de la aplicación. Se han especificado los interfaces más significativo de la aplicación, ya que el resto son similares a estas. A continuación se detallan las similitudes de las interfaces de la aplicación: El diseño de interfaz se divide en dos bloques: el diseño de interfaz para los clientes y el diseño de interfaz para los usuarios de empresa. En el diseño de interfaz para los usuarios de empresa se han especificado cinco interfaces de la aplicación, ya que el resto son similares a estas. DIU-1. Página principal Definición Ésta es la página que los usuarios van acceder una vez identificado en la aplicación. Activación Esta interfaz se activa al identificar en la aplicación web. Boceto Eventos Al pulsar sobre “Pedidos” nos llevará a una nueva interfaz donde se mostrará los pedidos que hay en la aplicación. Al pulsar sobre “Reserva” nos llevará a una nueva interfaz donde se mostrará las reservas que hay en la aplicación. Al pulsar sobre “Clientes registrado” nos llevará a una nueva interfaz donde se mostrará los clientes registrados que hay en la aplicación. Al pulsar sobre “Mi perfil” nos llevará a una nueva interfaz donde se mostrará los datos del usuario. Tabla 107 Diseño de interfaz usuario: Página principal Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 101 DIU-2. Iniciar sesión Definición Página para que los usuarios se identifiquen y así acceder a la parte privada de la aplicación. Activación Esta interfaz se activa al entrar en la aplicación web. Boceto Eventos Al pulsar en el botón “INICIAR SESIÓN”, si los valores del formulario son correctos, se accede a la zona privada. Tabla 108 Diseño de interfaz usuario: Iniciar sesión DIU-3. Lista de los productos Definición En esta interfaz, se muestra al usuario los productos que hay disponibles en la aplicación. Sigue la misma interfaz que la lista del cliente, la lista del usuario, la lista de la publicación, la lista de la promoción, la lista de la categoría, la lista de menús… Activación Al pulsar en el botón “Productos” en el menú. Boceto Eventos Tabla 109 Diseño de interfaz usuario: Lista de los productos Online restaurant systems 102 DIU-4. Detalle del producto Definición En esta interfaz, se muestra al usuario los datos del producto y permite hacer la modificación y eliminación del mismo. Sigue la misma interfaz que el detalle del cliente, el detalle del usuario, el detalle de la publicación, el detalle de la promoción, el detalle de la categoría, el detalle de menús… Activación Al pulsar el producto en la lista del producto. Boceto Eventos Al pulsar en el botón “Guardar”, si los datos modificados son correctos, se guardará los cambios en la aplicación. Al pulsar en el botón “Eliminar”, se actualizará el producto en la aplicación. Al pulsar en el botón “Guardar”, si los datos modificados son correctos, se actualizará los cambios. Al pulsar en el botón “Nuevo”, nos llevará a otra interfaz donde habrá un formulario para rellenar los datos de un nuevo producto. Tabla 110 Diseño de interfaz usuario: Detalle del producto DIU-5. Perfil Definición El usuario identificado en la aplicación podrá consulta sus datos y permite hacer la modificación del mismo. Activación Al pulsar en el botón “Mis perfil” en el menú. Boceto Eventos Al pulsar en el botón “Guardar”, si los datos modificados son correctos, se guardará los cambios en la aplicación. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 103 Tabla 111 Diseño de interfaz usuario: Perfil En el diseño de interfaz para los clientes se han especificado nueves interfaces de la aplicación, ya que el resto son similares a estas. DIC-1. Página principal Definición Ésta es la página que los clientes nada más van acceder en la aplicación. Activación Esta interfaz se activa al entrar en la aplicación web. Boceto Eventos Tabla 112 Diseño de interfaz cliente: Página principal DIC-2. Iniciar sesión Definición Página para que los clientes se identifiquen y así acceder a la parte privada de la aplicación. Activación Al pulsar en el botón “login” en el menú. Boceto Eventos Al pulsar en el botón “INICIAR SESIÓN”, si los valores del formulario son correctos, se accede a la zona privada. Tabla 113 Diseño de interfaz cliente: Iniciar sesión Online restaurant systems 104 DIC-3. Registrar Definición Página para que los clientes registrarse en la aplicación. Activación Al pulsar en el botón “Registrar” que se encuentra en la cabecera. Boceto Eventos Al pulsar en el botón “Registrar”, si los valores del formulario son correctos, el cliente se registra en la aplicación. Tabla 114 Diseño de interfaz cliente: Registrar DIC-4. Perfil Definición Página a la que tiene acceso el cliente registrado para consulta sus datos y permite hacer la modificación del mismo. Activación Al pulsar en el botón “Mis perfil” que se encuentra en la cabecera. Boceto Eventos Al pulsar en el botón “Guardar cambio”, si los valores de los datos son correctos, se guarda la modificación en la aplicación. Tabla 115 Diseño de interfaz cliente: Perfil Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 105 DIC-5. Histórico pedido Definición El cliente identificado en la aplicación podrá consulta sus pedidos realizados Activación Al pulsar en el botón “Mis perfil” que se encuentra en la cabecera para acceder a la parte privada del aplicación y luego pulsa el botón “Mis pedidos”. Boceto Eventos Al pulsar en el botón “Ver” de la lista, nos mostrará los datos del pedido seleccionado. Tabla 116 Diseño de interfaz cliente: Histórico pedido DIC-6. Lista del producto Definición En esta interfaz, se muestra al cliente los productos que hay disponibles en la aplicación. Activación Al pulsar en el botón “Productos” en el menú. Boceto Eventos Al pulsar en el botón “Añadir”, si el cliente está identificado en la aplicación se añade el producto al carro, sino se mostrará un mensaje de alerta indicando que debe estar registrado. Al pulsar sobre un producto, nos mostrará los datos del producto seleccionado, con una interfaz como la descrita. Tabla 117 Diseño de interfaz cliente: Lista del producto Online restaurant systems 112 PCN-4. Modificar producto Objetivo Modificar el producto Actor Administrador Precondición Hay uno o varios productos en el sistema. Acción esperada Modificar los datos y al dar el botón “Guardar cambio” nos muestras los datos actualizados. Resultado Correcto Tabla 124 Prueba de caja negra: Modificar producto PCN-5. Eliminar producto Objetivo Borrar un producto Actor Administrador Precondición Hay uno o varios productos en el sistema. Acción esperada Marcar el producto que vayamos a borrar y pulsar el botón “Borrar” y ver que se ha borrado. Resultado Correcto Tabla 125 Prueba de caja negra: Eliminar producto PCN-6. Modificar datos personales Objetivo Modificar los datos del usuario que ha accedido Actor Cliente registrado, administrador y empleado Precondición Estar registrado en el sistema, estar en su perfil. Acción esperada Modificar los datos, y al dar al botón “Guardar cambio” nos muestras los datos actualizados. Resultado Correcto Tabla 126 Prueba de caja negra: Modificar datos personales PCN-7. Consultar usuario Objetivo Consultar los usuarios (tanto cliente como empleado) que hay en el sistema. Actor Administrador Precondición Hay uno o varios usuarios en el sistema. Acción esperada Visualizar los usuarios que hay en el sistema. Si seleccionar alguno de ello el sistema nos mostrará los datos del usuario seleccionado. Resultado Correcto Tabla 127 Prueba de caja negra: Consultar usuario PCN-8. Gestionar pedidos Objetivo Consultar los pedidos que hay en el sistema. Actor Administrador Precondición Hay uno o varios pedidos en el sistema. Acción esperada Visualizar los pedidos que hay en el sistema. Si seleccionar alguno de ello el sistema nos mostrará los datos del pedido seleccionado y podrá modificar su estado o eliminarlo. Resultado Correcto Tabla 128 Prueba de caja negra: Iniciar sesión Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 113 PCN-9. Registrar en el sistema Objetivo El cliente podrá registrar en el sistema Actor Cliente no registrado Precondición El cliente no está registrado en el sistema. Acción esperada Pulsar en el botón “Registrar” tras rellenar el formulario y que nos muestra el mensaje” cliente registrado”. Resultado Correcto Tabla 129 Prueba de caja negra: Registrarse en el sistema PCN-10. Añadir producto al carro Objetivo Añadir producto al carro de compra. Actor Cliente registrado Precondición Hay uno o varios productos en el sistema. Acción esperada Al dar al botón “Añadir” se añade el producto al carro. Resultado Correcto Tabla 130 Prueba de caja negra: Añadir producto al carro PCN-11. Hacer reserva Objetivo Hacer la reserva en el sistema. Actor Cliente registrado Precondición Hay plazo disponible de la reserva. Acción esperada Tras rellenar el formulario y que nos muestra el mensaje” reserva realizado”. Resultado Correcto Tabla 131 Prueba de caja negra: Hacer reserva PCN-12. Aplicar promoción Objetivo Aplicar promoción a su pedido en el sistema. Actor Cliente registrado Precondición Hay uno o varios productos en el carro de compra y estar en la página “checkout.php”. Acción esperada Introduce el código en el campo de cupones y que nos muestra el mensaje” promoción aplicada”. Resultado Correcto Tabla 132 Prueba de caja negra: Aplicar promoción PCN-13. Hacer el pedido Objetivo Realizar el pedido en el sistema. Actor Cliente registrado Precondición Hay uno o varios productos en el carro de compra y estar en la página “checkout.php”. Acción esperada Tras rellenar el formulario del pedido y hacer el pago, que nos muestra el mensaje” pedido realizado”. Resultado Correcto Tabla 133 Prueba de caja negra: Hacer el pedido Online restaurant systems 114 PCN-14. Contraseña olvidada Objetivo Recuperar su contraseña Actor Cliente registrado, administrador y empleado Precondición Estar identificado en el sistema. Acción esperada En la página principal dar a inicio de sesión y olvide mi contraseña, rellenar el formulario con los datos de usuario, y si son correctos se enviara por email un enlace para recuperar su contraseña y saldrá un mensaje de operación correcta. Resultado Correcto Tabla 134 Prueba de caja negra: Contraseña olvidada PCN-15. Cerrar cesión Objetivo Abandonará la parte privada de la aplicación. Actor Cliente registrado, administrador y empleado Precondición Estar identificado en el sistema. Acción esperada Al pulsar el botón “Salir” se abandonará la parte privada de la aplicación. Resultado Correcto Tabla 135 Prueba de caja negra: Cerrar sesión 6. Manuales de aplicación 6.1. Introducción El manual lo vamos a dividir en dos secciones: -Manual Cliente no registrado. -Manual Cliente registrado. -Manual empleado. -Manual Administrador. Algunos detalles a tener en cuenta: -Se recomienda el uso de navegadores como Mozilla Firefox y Google Chrome para esta aplicación Web. -Se ha trabajado primero en un servidor local (XAMPP) el cual se puede descargar su última versión https://www.apachefriends.org/es/download.html. Tras la sencilla instalación hay que activar en el panel de control de XAMPP los servicios que vayamos a necesitar (en nuestro caso Apache y MySQL) y como último paso incluiremos los archivos fuente de la aplicación en nuevo servidor (dependiendo de dónde esté instalado, buscaremos la carpeta “XAMPP/htcdocs” y meteremos allí los archivos) y añadiremos la base de datos que utilizará el sitio web (en la dirección http://localhost/phpmyadmin/ ). -La aplicación se utiliza el sistema de pago online con Stripe, ya sea por tarjeta de crédito o débito, el administrador de la aplicación debe crear una cuenta en Stripe (en la dirección https://stripe.com/es) y configurarlo como se indicaba en el manual de administrador en a continuación. Hay que tener en cuenta que el Stripe requiere un certificado SSL para ejecutarse en su sitio. Además, el plugin de pasarela de pagos que vas a utilizar implementa automáticamente Stripe JS, para tokenizar los pagos y mantener seguros los datos de la tarjeta. -Podríamos dividir la aplicación web en 2 partes o secciones: ▪Página de inicio o área pública: Es la parte pública de la aplicación, podrá acceder a ella cualquier usuario ya sean clientes registrado o no. Para acceder a la área pública, tendremos que iniciar Apache (XAMPP) y abrir el navegador e introducir en la barra de direcciones lo siguiente: http://localhost/restaurante/index.php ▪La administración o área empresa: Solo podrá acceder a ella los empleados o administrador del restaurante mediante login. Dependiendo si es administrador o empleado nos muestra distintos opciones del menú. Y para acceder a la plataforma de empresa debe introducir en la barra de direcciones lo siguiente: http://localhost/restaurante/gestion/login.php Online restaurant systems 118 Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 119 6.2. Manual cliente sin registrar Este usuario tendrá la siguiente página de inicio: Ilustración 17 Manual cliente no registrado: Página principal PRINCIPAL Si se pulsa la opción “Principal”, se vuelve a la página de inicio de la aplicación. PROMOCIONES Si se pulsa la opción "Promociones" que se encuentra en el menú principal, podrá ver las promociones de restaurante a través de la aplicación. Online restaurant systems 120 Ilustración 18 Manual cliente no registrado: Página de las promociones PUBLICACIONES Si se pulsa la opción "Publicaciones" que se encuentra en el menú principal, podrá ver las publicaciones de restaurante a través de la aplicación. Ilustración 19 Manual cliente no registrado: Página de las publicaciones Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 121 PRODUCTOS Si se pulsa el botón "Productos" que se encuentra en el menú principal, podrá ver los productos de restaurante disponibles a través de la aplicación. Ilustración 20 Manual cliente no registrado: Página de los productos Los productos se mostrarán por el categoría, apareciendo en este una imagen representativa y el nombre del producto con sus respectivos precios. Si se hace clic sobre la imagen o el nombre del producto, se abre una nueva ventana con toda la información relativa al producto. Online restaurant systems 128 PERFIL Si se pulsa la opción “Mi perfil”, podrá acceder a su área personal en la que aparecerán sus datos personales, sus pedidos, sus reservas, sus opiniones sobre el productos y sus productos favoritos. Ilustración 31 Manual cliente registrado: Perfil cliente En esta página podemos: i. Acceder a nuestros datos personales: El usuario puede ver y modificar los datos que actualmente están en el sistema salvo el email. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 129 Ilustración 32 Manual cliente registrado: Datos del cliente Para modificar los datos bastará rellenar el dato que se desea cambiar y pulsar el botón “Guardar cambio”. Si los datos se han modificado correctamente, el sistema lo notificará. Ilustración 33 Manual cliente registrado:Mensaje de datos actualizado ii. Si se pulsa la opción “Contraseña” que se encuentra en su área de datos personal, podrá modificar su contraseña bastará rellenar el formulario y pulsar el botón “Cambiar contraseña”. Online restaurant systems 130 Ilustración 34 Manual cliente registrado: Formulario de cambiar contraseña iii. Si se pulsa la opción “Mis pedidos”, el usuario podrá visualizar sus pedidos realizados en el sistema. Ilustración 35 Manual cliente registrado: Histórico del pedido Si pulsa el botón “Ver” de la lista, se redirige a una nueva ventana donde se mostrará toda la información relativa al pedido. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 131 Ilustración 36 Manual cliente registrado: Detalle del pedido iv. Si se pulsa la opción “Mis reservas”, podrá ver todas sus reservas realizadas en el sistema. Online restaurant systems 132 Ilustración 37 Manual cliente registrado: Histórico de la reserva Si pulsa en el botón “Cancelar”, podrá cancelar su reserva en el sistema. Ilustración 38 Manual cliente registrado: Reserva cancelado Nota: solo se podrá cancelar sus reservas como mínimo con 1 día de antelación. Pasada la fecha de esa reserva, el botón de cancelación será desactivada. v. Si se pulsa la opción “Mis reseñas”, podrá visualizar sus reseñas sobre los productos del pedido y podrá hacer nueva reseña. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 133 Ilustración 39 Manual cliente registrado: Opiniones del pedido vi. Si se pulsa la opción “Mis favoritos”, podrá visualizar sus productos añadidos a la lista de deseo. Online restaurant systems 134 Ilustración 40 Manual cliente registrado: Productos favoritos Nota: si pulsa en el botón “Quitar”, podrá quitar el producto seleccionado a su lista de favorito. Nota: si pulsa en el botón “Ver”, se redirige a una nueva página con toda la información relativa al producto (Ilustración 21). Nota: si pulsa en el botón “Añadir al carrito”, podrá añadir el producto seleccionado su carrito de la compra. PRODUCTOS Si se pulsa la opción "Productos" que se encuentra en el menú principal, podrá ver los productos de restaurante a través de la aplicación (Ilustración 21). Un cliente registrado, a diferencia del no registrado, podrá añadir el producto al carro de la compra, únicamente deberá elegir la cantidad del producto y pulsar el botón añadir. El sistema se notificará con una ventana emergente y el producto será añadido al carro. Ilustración 41 Manual cliente registrado: Producto añadido al carrito Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 135 Nota:Si pulsa en el botón “Añadir a mis favoritos”, se podrá añadir el producto deseado a su lista de favorito, así, nunca los pierdes de vista y siempre puedes acceder a ellos desde tu cuenta. Ilustración 42 Manual cliente registrado: Producto añadido al favorito MENÚS Si se pulsa la opción "Menús" que se encuentra en el menú principal, podrá ver los menús de restaurante a través de la aplicación (Ilustración 23). Un cliente registrado, a diferencia del no registrado, podrá añadir el menú al carrito de la compra, únicamente deberá pulsar el botón. El sistema se notificará con una ventana emergente y ese menú será añadido al carro. Ilustración 43 Manual cliente registrado: Menú añadido al carrito Nota: Se pueden añadir tantos productos o menús como el cliente desee. Si se añade dos veces el mismo producto o menú, se contabilizará en cantidad. CARRITO Si se pulsa sobre el icono " " que se encuentra en el menú principal, podrá ver en resumido los productos añadidos al carrito. Online restaurant systems 136 Ilustración 44 Manual cliente registrado: Resumen del carrito Si se pulsa en el botón “Ver” dentro de la opción “ ”, se abre una nueva página donde aparecen cargados los productos añadidos al carrito. Ilustración 45 Manual cliente registrado: Carrito de la compra Analizamos las opciones de la ilustración anterior. 1. Botón “Eliminar productos seleccionados”: Se eliminará del carrito varios productos de una vez. 2. Icono “Eliminar”: Se eliminará del carrito el producto seleccionado. 3. Botones “Unidades”: Se podrán añadir”+” o eliminar “-”unidades del producto al carrito. Nota: Si la unidad del producto es igual a 0, se eliminará del carrito el producto. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 137 4. Botón “Seguir comprando”: Pulsando esta opción se nos redigirá a la página principal para seguir con nuestra compra. 5. Botón “Ver producto”: se mostrará los productos que contiene el menú. 6. Botón “Finalizar pedido”: Esta opción nos redirige al página de “checkout”, donde nos aparecerá un resumen de la compra, el formulario del pedido y un campo para introducir los datos del pago. Nota: Al pulsar el botón “Ver” dentro de la opción “ ”, se mostrará un mensaje de carrito vacío si todavía no se han añadido productos. Ilustración 46 Manual cliente registrado: El carro vacío Si se pulsa la opción "Finalizar" dentro de la opción “Carrito”, podrá acceder al formulario de finalizar pedido. Ilustración 47 Manual cliente registrado: Formulario finalizar pedido Online restaurant systems 144 PERFIL Si se pulsa la opción “mis perfil” del menú vertical o la opción “Perfil” de la cabecera superior, el usuario podrá ver sus datos y modificarlos salvo el email. Ilustración 61 Manual usuario empleado: Página perfil-datos personal En esta opción el usuario también podrá modificar su contraseña pulsando la opción “Contraseña” dentro del área perfil. Ilustración 62 Manual usuario empleado: Página perfil-contraseña PEDIDOS Si se pulsa la opción “Pedidos” del menú vertical, el usuario podrá ver los pedidos que hay en el sistema. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 145 Ilustración 63 Manual usuario empleado: Página pedidos Analizamos las opciones de la ilustración anterior. ▪Si selecciona un pedido y pulsa el botón “Estado” de la parte derecha podrá modificar el estado del pedido (en espera, en proceso, entregado y cancelado). ▪Si se pulsa el botón “Ver” en la parte derecha de la tabla, abrirá una ventana emergente donde mostrará los detalles de dicho pedido. Ilustración 64 Manual usuario empleado: Ver pedido ▪Si selecciona un pedido y pulsa el botón “Eliminar” en la parte derecha de la tabla podrá eliminar directamente el pedido en el sistema. ▪Si pulsamos en el botón “Eliminar pedidos seleccionado”, podrá eliminar uno o varios pedidos a la vez. Nota: Para ejecutar la eliminación, se mostrará una alerta de confirmación. Con esto se consigue evitar los datos eliminados de manera errónea. Online restaurant systems 146 ▪Si se pulsa el botón “Nuevo” abrirá una nueva ventana para crear pedido nuevo. Ilustración 65 Manual usuario empleado: Nuevo pedido ▪Si selecciona un pedido y pulsa el botón “Editar” en la parte derecha de la tabla, se redirige a una nueva página donde podrá modificar los datos del pedido. Ilustración 66 Manual usuario empleado: Modificar pedido Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 147 Nota: Si pulsa el botón “Eliminar” podrá eliminar directamente el pedido en el sistema. Nota: Si se pulsa el botón “Nuevo”, se abrirá una nueva ventana para crear pedido nuevo. RESERVAS Si se pulsa la opción “Reservas” del menú vertical, el usuario podrá ver un listado con todas las reservas que hay en el sistema. Ilustración 67 Manual usuario empleado: Lista reservas Analizamos las opciones de la ilustración anterior. ▪Si selecciona una reserva y pulsa el botón “Estado” de la parte derecha podrá modificar el estado de la reserva (cancelado, reservado y finalizado). ▪Si se pulsa el botón “Ver” en la parte derecha de la tabla, abrirá una ventana emergente donde mostrará los datos de la reserva. Ilustración 68 Manual usuario empleado: Ver reserva Online restaurant systems 148 ▪Si selecciona un pedido y pulsa el botón “Eliminar” podrá eliminar directamente la reserva en el sistema. ▪Si pulsamos en el botón “Eliminar pedidos seleccionado”, podrá eliminar una o varias reservas a la vez. Nota: Para ejecutar la eliminación, se mostrará una alerta de confirmación. Con esto se consigue evitar los datos eliminados de manera errónea. ▪Si se pulsa el botón “Nuevo” abrirá una nueva ventana para crear un nueva reserva. Ilustración 69 Manual usuario empleado: Nueva reserva ▪Si selecciona un pedido y pulsa el botón “Editar” en la parte derecha de la tabla, se redirige a una nueva página donde podrá modificar los datos del pedido. Ilustración 70 Manual usuario empleado: Modificar reserva Nota: Si pulsa el botón “Eliminar”,se podrá eliminar directamente la reserva en el sistema. Nota: Si se pulsa el botón “Nuevo”, se abrirá una nueva ventana para crear un nueva reserva. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 149 MENSAJE DE NOTIFICACIÓN Si se pulsa sobre el icono " " que se encuentra en la cabecera superior, el usuario podrá ver un listado resumida de las notificaciones creada recientemente. Ilustración 71 Manual usuario empleado: Mensaje de notificación Si se pulsa en la opción “Notificaciones”, el usuario podrá ver un listado con todas las notificaciones creada en el sistema. Ilustración 72 Manual usuario empleado: Listado de notificación Analizamos las opciones de la ilustración anterior. ▪Si selecciona un mensaje de notificación y pulsa el botón “Estado” en la parte derecha podrá modificar el estado de la notificación (leído y no leído). ▪Si selecciona un mensaje de notificación y pulsa el botón “Eliminar” se podrá eliminar directamente el mensaje de notificación en el sistema. ▪Si pulsamos en el botón “Eliminar mensajes seleccionado”, se podrá eliminar una o varias promociones a la vez. Online restaurant systems 150 Nota: Para ejecutar la eliminación, se mostrará una alerta de confirmación. Con esto se consigue evitar los datos eliminados de manera errónea. ▪Si selecciona un mensaje de notificación y pulsa el botón “Ver” en la parte derecha de la tabla, se abrirá una ventana donde mostrará los datos del mensaje notificado. Ilustración 73 Manual usuario empleado: Ver los datos de notificación EMAIL Si se pulsa la opción “Email”, el usuario podrá acceder al formulario del email enviar el mensaje a sus clientes. Ilustración 74 Manual usuario empleado: Formulario del email OLVIDÉ LA CONTRASEÑA Si se pulsa la opción "Olvidé la contraseña" que se encuentra en el formulario de iniciar sesión, el usuario podrá acceder al formulario de recuperar contraseña enviado un enlace a su correo electrónico. Ilustración 75 Manual usuario empleado: Olvidar contraseña Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 151 El usuario recibirá un enlace al su correo electrónico para elegir nueva contraseña. Este enlace se abre la ventana siguiente: Ilustración 76Manual usuario empleado: Recuperar contraseña El enlace enviado tiene validez dentro de 24 horas. Si los datos del formulario son correcto, el sistema se mostrará el mensaje “Contraseña actualizada”. Ilustración 77 Manual usuario empleado: Contraseña actualizada Si el proceso es erróneo, el sistema se mostrará el mensaje de error. Ilustración 78 Manual usuario empleado: Contraseña no actualizada Online restaurant systems 152 CERRAR SESIÓN Si se pulsa la opción "Cerrar sesión" que se encuentra en la cabecera superior, el usuario cerrará sesión de la aplicación y se le dirige a la página principal de la aplicación. Xiawei Lai, Ingeniería Informática de Servicios y Aplicaciones (UVA) 153 6.5. Manual usuario administrador El administrador S con identificador ‘0’ debe ser dado de alta desde la base de datos de la aplicación por el agente desarrollado con el email ([email protected]) y la contraseña (admin). Este usuario no puede ser eliminado y los demás usuarios empresa son creados a partir de él. El administrador es el usuario más importante de la aplicación ya que se encarga de la gestión de usuarios empresa y darles los permisos para acceder al área de usuarios administradores. Vamos a ver todo esto más detalladamente a continuación. Antes acceder la aplicación será el usuario deberá identificarse en la aplicación (Ilustración 59). Un usuario que desempeñe el rol de administrador, tras su identificación en la aplicación tendrá la siguiente página de inicio. Además, podemos ver, que justo encima de la tabla, hay la opción de realizar una búsqueda filtrando por palabras clave. Ilustración 79 Manual usuario administrador: Página principal Como podemos ver es muy parecida a la pantalla principal de un empleado pero con distintos opciones en el menú. Un administrador puede acceder a todas las áreas descritas en el manual del usuario empleado. Un administrador registrado además de podrá acceder a todas las áreas descritas de un empleado también podrá hacer lo siguiente: