Proyecto Final
Proyecto Final
INGENIERÍA EN
SISTEMAS COMPUTACIONALES
Materia:
Ingeniería de Software
Producto Académico:
Proyecto de software
Presenta(n):
Docente:
Página 53 de 101
Abstract
This document outlines the development of a software application for comprehensive restaurant
management. The application provides a complete solution to streamline operational processes and
enhance the experience for both staff and customers. Through functionalities such as ingredient
management, menu creation, order management, and invoice generation, the aim is to facilitate daily
restaurant operations and improve efficiency in service delivery.
Página 1 de 101
Contenido
RESUMEN........................................................................................................................... 1
ABSTRACT .......................................................................................................................... 1
1. INTRODUCCIÓN........................................................................................................... 9
4. ANÁLISIS ................................................................................................................... 24
4.1 Diagrama de flujo de datos ............................................................................................................. 26
4.2 Casos de uso ................................................................................................................................... 26
4.2.1 Actores ........................................................................................................................................ 26
4.2.2 Casos de uso y descripción ......................................................................................................... 28
Página 2 de 101
4.2.3 Especificación de los casos de uso .............................................................................................. 28
4.3 Modelamiento de datos .................................................................................................................. 31
5. DISEÑO ..................................................................................................................... 34
5.1 Diseño de físico de la base de datos ............................................................................................... 34
5.2 Diseño de arquitectura funcional .................................................................................................... 36
5.3 Diseño interfaz y navegación .......................................................................................................... 38
5.4 Especificación de módulos .............................................................................................................. 44
6. PRUEBAS ................................................................................................................... 50
6.1 Elementos de prueba ...................................................................................................................... 50
6.2 Especificación de las pruebas .......................................................................................................... 51
6.3 Responsables de las pruebas .......................................................................................................... 55
6.4 Calendario de pruebas .................................................................................................................... 55
6.5 Conclusiones de prueba .................................................................................................................. 55
8. CONCLUSIONES ......................................................................................................... 57
9. BIOGRAFÍA ................................................................................................................ 59
Página 3 de 101
13.4 Aceptación ...................................................................................................................................... 73
Página 4 de 101
Índice de ilustraciones
Ilustración 3-1 Inicio del sistema ................................................................................................... 15
Ilustración 3-2 Registro del usuario (Administrador) ................................................................. 15
Ilustración 3-3 Menú del sistema ................................................................................................... 16
Ilustración 3-4 Menú del restaurante ............................................................................................ 16
Ilustración 3-5 Visualización de una orden completada .............................................................. 17
Ilustración 3-6 Visualización del panel de cocina, donde se muestran los alimentos a preparar
........................................................................................................................................................... 17
Ilustración 3-7 Se toma tiempo de preparación del alimento para que se genere otro pedido o la
factura final...................................................................................................................................... 18
Ilustración 3-8 Tomamos en cuenta al generar factura a que mesa se va a generar ................. 18
Ilustración 3-9 Nos muestra el panel de factura con los campos correspondientes y llenamos los
datos del cliente ............................................................................................................................... 19
Ilustración 3-10 Mensaje de que el pago se efectuó correctamente ............................................ 19
Ilustración 3-11 Vista del panel de Ventas ..................................................................................... 20
Ilustración 5-2-1 árbol de descomposición funcional ................................................................... 38
Ilustración 5.3-1 Inicio del sistema ................................................................................................ 39
Ilustración 5.3-2 Iniciar sesión ....................................................................................................... 39
Ilustración 5.3-3 Menú de opciones ............................................................................................... 40
Ilustración 5.3-4 Elección del menú ............................................................................................... 41
Ilustración 5.3-5 Muestra del ticket de la toma de orden ............................................................ 41
Ilustración 5.3-6 Muestra de la opción de estadísticas ................................................................. 42
Ilustración 5.3-7 Resumen de ventas por mesa ............................................................................. 42
Ilustración 5.3-8 Asignación de mesa............................................................................................. 43
Ilustración 5.3-9 Muestra de la visión de una factura de cuenta ................................................ 44
Página 5 de 101
Índice de tablas
Tabla 3.1 Funcionalidades del Sistema .......................................................................................... 23
Tabla 3.2 Interfaces de Entrada del Sistema................................................................................. 23
Tabla 3.3 Interfaces de Salida del Sistema .................................................................................... 23
Tabla 4. 4.1 Caso de uso – Realizar pedido ................................................................................... 29
Tabla 4. 4.2 Caso de uso – Gestionar inventario ........................................................................... 30
Tabla 4.4.3 Caso de uso – Generar factura ................................................................................... 30
Tabla 4.4.4 Caso de uso – Resumen de ventas .............................................................................. 31
Tabla 4.4.5 Caso de uso – Análisis de venta .................................................................................. 31
Tabla 5.1 Manejo de Pedidos .......................................................................................................... 47
Tabla 5.2 Manejo de Inventario ..................................................................................................... 47
Tabla 5.3 Generación de Facturas ................................................................................................. 48
Tabla 5.4 Gestión de Clientes ......................................................................................................... 48
Tabla 5.5 Manejo de Eventos de Teclado....................................................................................... 48
Tabla 5.6 Selector de Archivos ....................................................................................................... 49
Tabla 5.7 Modelo de Tabla .............................................................................................................. 49
Tabla 5.8 Manejo de Iconos ............................................................................................................ 49
Tabla 6.1 Especificación de Pruebas .............................................................................................. 54
Tabla 6.2 Responsables de las pruebas .......................................................................................... 55
Tabla 6.3 Calendario de asignación de pruebas ........................................................................... 55
Tabla 7.1 Tiempo estimado del desarrollo del proyecto ............................................................... 56
Tabla 13.1 PedidoHandler .............................................................................................................. 64
Tabla 13.2 InventarioHandler ........................................................................................................ 64
Tabla 13.3 FacturaGenerator ......................................................................................................... 65
Tabla 13.4 ClienteManager ............................................................................................................ 66
Tabla 13.5 KeyEventManager ........................................................................................................ 67
Tabla 13.6 FileSelector .................................................................................................................... 68
Tabla 13.7 TableModelManager .................................................................................................... 69
Tabla 13.8 IconManager ................................................................................................................. 70
1Tabla 13.9 Esta prueba debe ser ejecutada en un ambiente lo más parecido al que utiliza el
usuario. ............................................................................................................................................. 72
Tabla 13.10 (realizada junto al usuario) ........................................................................................ 73
Tabla 13.11(realizada por el usuario sin asistencia del desarrollador) ....................................... 74
Tabla 14.1Pedidos ............................................................................................................................ 75
Página 6 de 101
Tabla 14.2 Productos_Pedido ......................................................................................................... 75
Tabla 14.3 Inventario ...................................................................................................................... 75
Tabla 14.4 Facturas ......................................................................................................................... 76
Tabla 14.5 Clientes .......................................................................................................................... 76
Tabla 14.6 Evento_Teclado ............................................................................................................. 76
Tabla 14.7 Archivos_Seleccionados ................................................................................................ 76
Tabla 14.8 Modelos_Tabla .............................................................................................................. 77
Tabla 14.9 Iconos ............................................................................................................................. 77
Tabla 15.2.1 Despliegue de opciones .............................................................................................. 86
Tabla 15.2.2 Menú- Comida ........................................................................................................... 87
Tabla 15.2.3 Proceso de terminar orden ........................................................................................ 88
Tabla15.2.4 Ticket de preparación de alimentos/bebidas ............................................................ 89
Tabla 15.2.5 Estadísticas ................................................................................................................. 90
Tabla 15.2.6 Resumen de ventas..................................................................................................... 91
Tabla 15.2.7 Plato más vendido ...................................................................................................... 91
Tabla15.2.8 Información del mesero .............................................................................................. 92
Tabla 15.2.9 Factura........................................................................................................................ 93
Tabla 15.6.1 Tabla de Aspectos de Seguridad Informática en el Proyecto del Sistema de
Restaurante .................................................................................................................................... 100
Página 7 de 101
Índice de figuras
Figura 4.1 Uml del sistema creado desde Apache NeatBeans 21 ................................................ 25
Figura 4.2 BPMN del manejo del proceso principal .................................................................... 26
Figura [Link] E-R más visual de cómo se estructura el sistema ................................................. 33
Figura 5.3.1 Modelo E-R................................................................................................................. 36
Figura 15.1 Diagrama de Componentes ........................................................................................ 79
Figura 15.2 Diagrama de actividades – Manejo de pedidos ........................................................ 80
Figura 15.3 Diagrama de actividades – Gestión de inventario.................................................... 80
Figura 15.4 Diagrama de Secuencia – Generar Factura.............................................................. 81
Figura 15.5 Diagrama de Secuencia - Manejar un Pedido .......................................................... 81
Figura 15.6 Diagrama de Secuaencia - Gestión de Clientes ........................................................ 82
Figura 15.7 Diagrama de Estados - Estados de un Pedido .......................................................... 82
Figura 15.8 Diagrama de Estados - Producto en el Inventario ................................................... 83
Figura 15.3.1 Inicio de sesión ......................................................................................................... 94
Figura 15.3.2 Despliegue de opciones ............................................................................................ 94
Figura 15.3.3 Menú- Comida ......................................................................................................... 94
Figura 15.3.4 Proceso de terminar orden ...................................................................................... 94
Figura 15.3.5 Ticket de preparación de alimentos/bebidas ......................................................... 94
Figura 15.3.6 Estadísticas ............................................................................................................... 95
Figura 15.3.7 Resumen de ventas ................................................................................................... 95
Figura 15.3.8 Plato más vendido .................................................................................................... 95
Figura 15.3.9 Información del mesero ........................................................................................... 95
Figura 15.3.10 Factura .................................................................................................................... 95
Figura 15.4.1 Inicio de Sesión......................................................................................................... 96
Figura 15.4.2 Despliegue de Opciones ........................................................................................... 96
Figura 15.4.3 Menú-Comida .......................................................................................................... 96
Figura 15.4.4 Proceso de Terminar Orden .................................................................................... 96
Figura 15.4.5 Ticket de Preparación de Alimentos/Bebidas ........................................................ 97
Figura 15.4.6 Estadísticas ............................................................................................................... 97
Figura 15.4.7 Resumen de Ventas .................................................................................................. 97
Figura 15.4.8 Plato más Vendido.................................................................................................... 97
Figura 15.4.9 Información del Mesero .......................................................................................... 98
Figura 15.4.10 Factura .................................................................................................................... 98
Figura 15.5.1 Árbol de descomposición funcional ........................................................................ 98
Página 8 de 101
1. Introducción
Este proyecto tiene como objetivo desarrollar una aplicación de software que facilite la gestión
integral de un restaurante. La aplicación proporcionará funcionalidades clave, incluyendo la
administración de ingredientes, la creación y gestión de menús, la asignación de mesas a meseros, la
gestión de pedidos y la generación de facturas. A través de una interfaz de usuario intuitiva y un
sistema de inicio de sesión seguro, se asegurará que solo el personal autorizado pueda acceder a las
distintas funciones del sistema.
Página 9 de 101
2. Definición del proyecto
2.1.1 General
2.1.2 Especifico
• Desarrollar una barra de carga para iniciar el programa, mejorando la experiencia del usuario
desde el inicio.
• Implementar un sistema de inicio de sesión con perfiles de usuario para asegurar el acceso
adecuado a diferentes funcionalidades según roles.
• Crear funcionalidades para agregar y eliminar ingredientes, así como para diseñar platos y
bebidas.
• Desarrollar módulos para ver estadísticas de ventas y generar facturas de manera automática.
• Implementar un menú para gestionar pedidos de los clientes y asignar mesas a meseros,
facilitando la operación diaria del restaurante.
• Almacenar todos los datos relevantes en archivos ".txt" para asegurar la persistencia y
facilidad de acceso a la información.
Metodología de Desarrollo:
• Metodología Ágil (Scrum): Utilizada para manejar el desarrollo del proyecto en sprints,
permitiendo ajustes frecuentes y entrega continua de funcionalidades.
Técnicas y Notaciones:
• Diagrama de Clases UML: Para representar las relaciones y estructuras de las clases en el
sistema, asegurando un diseño claro y mantenible.
• Casos de Uso: Para documentar y entender las interacciones entre los usuarios y el sistema,
definiendo claramente los requisitos funcionales.
Página 10 de 101
Estándares de Documentación, Producto o Proceso:
• IEEE 830: Para especificar los requisitos del software, asegurando que todas las necesidades
del usuario sean capturadas y comprendidas.
• Java Code Conventions: Para mantener la consistencia y legibilidad del código fuente,
facilitando la colaboración y el mantenimiento.
• Git: Para el control de versiones, permitiendo la gestión eficiente del código fuente y la
colaboración entre los desarrolladores.
• Notepad++ / Visual Studio Code: Para la edición de archivos ".txt", utilizados para
almacenar datos persistentes de la aplicación.
Página 11 de 101
3. Especificación de requerimientos de software
3.1 Alcances
El producto de software desarrollado para la gestión de un restaurante se distingue por las siguientes
características:
El software de gestión de restaurante tiene como objetivo central facilitar la administración eficiente
de todas las actividades relacionadas con la operación del restaurante, desde la gestión de ingredientes
hasta la generación de facturas, optimizando así los procesos operativos y mejorando la experiencia
tanto para el personal como para los clientes.
Página 12 de 101
3.2.1 Objetivos Específicos
1. Gestión de Ingredientes:
o Información que considera/almacena: El software administra información
detallada sobre los ingredientes utilizados en la preparación de platos y bebidas,
incluyendo nombre, cantidad en inventario, proveedor y precio de compra.
o Proceso que apoya/realiza: Facilita la actualización del inventario de ingredientes,
la gestión de proveedores y la generación de alertas por bajo stock.
o Resultado que se logra: Se garantiza una gestión eficiente del inventario de
ingredientes, reduciendo el riesgo de escasez o desperdicio y optimizando los costos
de aprovisionamiento.
2. Creación de Menús:
o Información que considera/almacena: El software almacena información sobre los
platos y bebidas disponibles en el restaurante, incluyendo nombre, descripción,
categoría y precio de venta.
o Proceso que apoya/realiza: Facilita la creación y modificación de menús, la
asociación de platos a categorías específicas y la actualización de precios de venta.
o Resultado que se logra: Se asegura una oferta de menú diversa y actualizada,
adaptada a las preferencias de los clientes y optimizada para maximizar los ingresos
del restaurante.
3. Gestión de Pedidos:
o Información que considera/almacena: El software registra información detallada
sobre los pedidos realizados por los clientes, incluyendo los platos y bebidas
solicitados, la mesa correspondiente y el estado del pedido.
o Proceso que apoya/realiza: Facilita la toma de pedidos, la comunicación entre el
personal de sala y cocina, y la gestión del tiempo de espera de los clientes.
o Resultado que se logra: Se agiliza el proceso de atención al cliente, mejorando la
satisfacción y fidelización de los mismos, y asegurando la precisión en la entrega de
los pedidos.
4. Generación de Facturas:
o Información que considera/almacena: El software registra información sobre las
transacciones realizadas, incluyendo los productos consumidos, el total a pagar y los
impuestos aplicables.
Página 13 de 101
o Proceso que apoya/realiza: Automatiza la generación de facturas al finalizar el
servicio, basándose en los pedidos registrados y aplicando los impuestos
correspondientes.
o Resultado que se logra: Se garantiza una facturación precisa y rápida, simplificando
el proceso de pago para los clientes y mejorando la gestión financiera del restaurante.
5. Persistencia de Datos:
o Información que considera/almacena: El software asegura la persistencia de los
datos relevantes, como ingredientes, menús, pedidos y facturas, en archivos ".txt".
o Proceso que apoya/realiza: Almacena y recupera los datos necesarios para el
funcionamiento del sistema de manera segura y eficiente.
o Resultado que se logra: Se asegura la disponibilidad y la integridad de la
información, facilitando la gestión y el análisis de datos.
En la interfaz, los usuarios pueden acceder a diversas funciones y pantallas, como la gestión de mesas,
la selección de productos del menú, la realización de pedidos, la visualización de facturas, entre otras.
Cada elemento de la interfaz está diseñado de manera que sea claro y comprensible para el usuario,
con botones y menús organizados de forma lógica y accesible.
Página 14 de 101
Ilustración 3-1 Inicio del sistema
Página 15 de 101
Ilustración 3-3 Menú del sistema
Página 16 de 101
Ilustración 3-5 Visualización de una orden completada
Ilustración 3-6 Visualización del panel de cocina, donde se muestran los alimentos a preparar
Página 17 de 101
Ilustración 3-7 Se toma tiempo de preparación del alimento para que se genere otro pedido o la factura final
Página 18 de 101
Ilustración 3-9 Nos muestra el panel de factura con los campos correspondientes y llenamos los datos del cliente
Página 19 de 101
Ilustración 3-11 Vista del panel de Ventas
1. Sistema Operativo:
o Nombre: Windows
o Abreviación: Win
o Versión: 11
2. Plataforma de Desarrollo:
Página 20 de 101
o Nombre: Java Development Kit (JDK)
o Abreviación: JDK
o Versión: 11
o Nombre: NeatBeans
o Abreviación: NB
o Versión: 21
4. Base de Datos:
o Abreviación: N/A
o Versión: N/A
Id Nombre Descripción
Registrar pedido El sistema debe permitir a los
usuarios realizar pedidos de
alimentos y bebidas. Debe
1 incluir la selección de
productos, la cantidad deseada
y la mesa a la que está asociado
el pedido.
Gestionar inventario Los usuarios autorizados deben
2
poder agregar, editar y eliminar
Página 21 de 101
productos del inventario.
Además, el sistema debe
mantener un registro preciso de
la cantidad disponible de cada
producto.
Generar factura El sistema debe ser capaz de
generar facturas para los
pedidos realizados. La factura
debe incluir detalles como la
3
lista de productos pedidos, el
total a pagar, impuestos
aplicables y la información del
cliente si está disponible.
Resumen de ventas El sistema debe proporcionar
un resumen detallado de las
ventas realizadas en un período
4 específico. Esto puede incluir
información como el total de
ventas, los productos vendidos
y los ingresos generados.
Número de ventas realizadas Debe permitir a los usuarios
ver el número total de ventas
5
realizadas en un período de
tiempo determinado.
Plato más vendido El sistema debe identificar y
mostrar el plato más vendido
en un período de tiempo
específico. Esto puede ayudar a
6
los administradores a
comprender las preferencias de
los clientes y optimizar el
inventario.
Mesero del día El sistema debe determinar y
7
mostrar al mesero que ha
Página 22 de 101
realizado más ventas en un día
específico. Esto puede servir
como reconocimiento y
motivación para el personal del
restaurante.
Tabla 3.1 Funcionalidades del Sistema
Usabilidad:
• Operabilidad: Los mensajes de error deben ser claros para el usuario. En el 100% de los
mensajes de error relacionados con el ingreso y procesamiento de datos, se debe indicar
claramente el error, la causa y la solución.
Página 23 de 101
Eficiencia:
Funcionalidad:
4. Análisis
Diagrama UML/BPMN
UML:
Página 24 de 101
Figura 4.1 Uml del sistema creado desde Apache NeatBeans 21
Página 25 de 101
BPMN:
4.2.1 Actores
2.4 Actores
1. Cliente
Página 26 de 101
o Rol o Funciones: Realiza pedidos de alimentos y bebidas.
2. Mesero
o Rol o Funciones: Recibe y registra los pedidos de los clientes, y entrega los pedidos
una vez preparados.
3. Cocina
4. Administrador
Página 27 de 101
4.2.2 Casos de uso y descripción
Página 28 de 101
Pre-Condiciones El cliente debe estar registrado en el sistema y
haber iniciado sesión.
Flujo de Eventos Básicos ▪ El cliente selecciona los productos
deseados del menú.
▪ El cliente especifica la cantidad deseada
de cada producto.
▪ El mesero recibe y registra el pedido en
el sistema.
▪ El pedido se envía a la cocina para su
preparación.
▪ Una vez preparado, el mesero entrega el
pedido al cliente.
Flujo de Eventos Alternativo No se han identificado flujos alternativos para
este caso de uso.
Post-Condiciones El pedido se registra en el sistema y se actualiza
el inventario de productos.
Tabla 4. 4.1 Caso de uso – Realizar pedido
Página 29 de 101
Post-Condiciones Se actualiza la base de datos del inventario con
los cambios realizados por el administrador.
Tabla 4. 4.2 Caso de uso – Gestionar inventario
Página 30 de 101
Post-Condiciones Se presenta al administrador un resumen
actualizado de las ventas realizadas.
Tabla 4.4.4 Caso de uso – Resumen de ventas
El modelo de datos para el sistema de restaurante se ha diseñado para gestionar eficazmente las
operaciones diarias del restaurante, desde la gestión de pedidos hasta la administración del inventario
y la generación de facturas. El modelo se centra en las entidades clave y sus relaciones dentro del
contexto operativo del restaurante. A continuación, se presentan las entidades principales y sus
relaciones representativas.
Diagrama de Clases
El diagrama de clases muestra las principales entidades del sistema de restaurante y cómo están
relacionadas entre sí. Estas entidades incluyen Cliente, Producto, Pedido, DetallePedido y Factura.
▪ Cliente: Representa a los clientes del restaurante, quienes realizan pedidos y reciben facturas
por sus compras. Cada cliente tiene atributos como nombre, dirección, teléfono y correo
electrónico.
Página 31 de 101
▪ Producto: Describe los productos ofrecidos por el restaurante, como platos, bebidas y otros
artículos. Cada producto tiene atributos como nombre, descripción, precio y cantidad
disponible en el inventario.
▪ Pedido: Refleja los pedidos realizados por los clientes, que contienen información sobre la
fecha del pedido y el monto total. Cada pedido se asocia con uno o más detalles de pedido.
▪ DetallePedido: Contiene detalles específicos de cada artículo incluido en un pedido, como
la cantidad y el subtotal. Está relacionado con el producto correspondiente.
▪ Factura: Representa las facturas generadas para los pedidos realizados por los clientes. Cada
factura incluye detalles como la fecha de emisión y el monto total del pedido.
Las relaciones entre estas entidades reflejan las interacciones clave dentro del sistema de restaurante.
Por ejemplo, un cliente puede realizar múltiples pedidos, y cada pedido puede contener varios detalles
de pedido relacionados con diferentes productos. Además, un pedido se convierte en una factura una
vez completado.
Este modelo de datos proporciona una base sólida para el desarrollo de software que respalde las
operaciones eficientes y la gestión efectiva del restaurante.
Página 32 de 101
Figura [Link] E-R más visual de cómo se estructura el sistema
Página 33 de 101
5. Diseño
Entidades y Atributos:
1. Cliente:
o ID_Cliente (PK)
o Nombre
o Dirección
o Teléfono
o Correo electrónico
2. Producto:
o ID_Producto (PK)
o Nombre
o Descripción
o Precio
o Cantidad_Disponible
3. Pedido:
o ID_Pedido (PK)
o ID_Cliente (FK)
o Fecha_Pedido
o Monto_Total
4. DetallePedido:
o ID_Detalle (PK)
o ID_Pedido (FK)
o ID_Producto (FK)
Página 34 de 101
o Cantidad
o Subtotal
5. Factura:
o ID_Factura (PK)
o ID_Pedido (FK)
o Fecha_Emision
o Monto_Total
Relaciones:
• Un pedido puede contener varios detalles de pedido relacionados con diferentes productos.
Página 35 de 101
Figura 5.3.1 Modelo E-R
Componentes Principales:
o Desarrollada utilizando Java Swing o JavaFX para proporcionar una interfaz gráfica
intuitiva para los usuarios.
o Implementada en clases Java que gestionan la lógica de negocio del sistema, como
la gestión de pedidos, el control de inventario y la generación de facturas.
Página 36 de 101
o Se encarga de leer y escribir datos en archivos de texto, así como de validar los datos
ingresados por los usuarios.
o Contiene las clases y métodos para leer y escribir datos en archivos de texto.
o Utiliza las API de manejo de archivos de Java para realizar operaciones de lectura y
escritura en los archivos .txt.
Flujo de Datos:
1. El usuario interactúa con la interfaz de usuario para realizar operaciones como realizar
pedidos, gestionar inventario o generar facturas.
2. La interfaz de usuario envía solicitudes al componente de lógica de negocio para procesar las
operaciones solicitadas.
Ventajas y Consideraciones:
• Escalabilidad Limitada: Aunque los archivos de texto son adecuados para aplicaciones
pequeñas o de tamaño moderado, pueden volverse poco prácticos para sistemas que manejan
grandes volúmenes de datos debido a problemas de rendimiento y escalabilidad.
Página 37 de 101
Ilustración 5-2-1 árbol de descomposición funcional
Como podemos observar así es como se visualiza la pantalla de carga al encender el sistema las
imágenes alusivas a esta son relacionadas a una cocina que visualmente se puede deducir.
Página 38 de 101
Ilustración 5.3-1 Inicio del sistema
En la siguiente ilustración 5.3-2 es donde el mesero inicia sesión para comenzar a tomar la orden de
cualquier cliente que vaya a consumir por lo tanto esta es la pantalla de login al usuario.
Página 39 de 101
Una vez iniciado sesión de manera correcta, se nos muestran 5 opciones que estaremos detallando
cada una a continuación, y los colores que usamos son llamativos y alusivos al mismo ecosistema que
estamos hablando.
Si pulsamos el boton de “menú” nos muesstra la cantidad de opciones que podemos elegir al mesero
para que las vaya registrando, y así mismo despues se muestren en el siguiente ticket para mandarlo
a cocinar/preparar el alimento o bebido para que cocina lo prepare.
Página 40 de 101
Ilustración 5.3-4 Elección del menú
En esta siguiente ilustración es a donde nos referimos que se mostraran reflejadas los pedidos para
mandarlo a cocinar y que cocina se encargue de ello, por lo tanto se despliega una tabla donde
mostrarla lo que ha capturado el mesero.
Página 41 de 101
Tambien contamos con una opcion de “Estadísticas” donde cada boton despliega la información
correspondiente a lo que se quiera mostrar del día.
Una clara muestra es cuando seleccionamos el resumen de ventas podemos escoger de que mesa
queremos observar.
Página 42 de 101
De igual manera para el registro de un nuevo mesero se puede crear dentro del despligue de opciones.
Algo que interesa mucho es la factura de como se muestra en donde genera la siguiente ventana,
donde capturaremos los datos del cliente y de forma automatica captura los datos del mese que atendio
dicho numero de mesa, y mostrara un despliegue de lo que ordenaron para hacer más visual el efectuo
del pago.
Página 43 de 101
Ilustración 5.3-9 Muestra de la visión de una factura de cuenta
• Parámetros de entrada:
• Parámetros de salida:
• Parámetros de entrada:
• Parámetros de salida:
• Parámetros de entrada:
Página 44 de 101
o ID_Pedido (Tipo de dato: int)
• Parámetros de salida:
• Parámetros de entrada:
• Parámetros de salida:
• Parámetros de entrada:
• Parámetros de salida:
o Ninguno
Página 45 de 101
• Objetivo: Permitir al usuario seleccionar archivos desde el sistema de archivos.
• Parámetros de entrada:
• Parámetros de salida:
• Parámetros de entrada:
• Parámetros de salida:
• Parámetros de entrada:
• Parámetros de salida:
Página 46 de 101
Especificación de módulo de programa creados para esta aplicación
Este módulo se encarga de manejar la creación de nuevos pedidos en el sistema. Recibe como entrada
el ID del cliente, la fecha del pedido y la lista de productos solicitados. Su salida es el ID único
asignado al pedido generado.
Este módulo gestiona la actualización del inventario de productos. Recibe como entrada el ID del
producto y la cantidad a actualizar. Su salida indica si la actualización del inventario fue exitosa o no.
Este módulo se encarga de generar facturas para los pedidos realizados. Recibe como entrada el ID
del pedido y la fecha de emisión de la factura. Su salida es el ID único asignado a la factura generada.
Página 47 de 101
Nombre:ID_Factura Tipo de dato:int
Tabla 5.3 Generación de Facturas
Este módulo administra la información de los clientes registrados en el sistema. Recibe como entrada
el nombre, dirección, teléfono y correo electrónico del cliente. Su salida es el ID único asignado al
cliente registrado.
Este módulo maneja los eventos de teclado dentro de la interfaz de usuario. No requiere parámetros
de entrada y no produce salidas directas.
Este módulo permite al usuario seleccionar archivos desde el sistema de archivos. Recibe como
entrada el directorio inicial para la selección de archivos y devuelve el archivo seleccionado.
Página 48 de 101
Parámetros de Salida
Nombre: Archivo_Seleccionado Tipo de dato: File
Tabla 5.6 Selector de Archivos
Este módulo gestiona el modelo de datos para las tablas de la interfaz de usuario. Recibe como entrada
los datos de la tabla y los nombres de las columnas. Su salida es el modelo de tabla configurado.
Parámetros de Salida
Nombre: Modelo_Tabla Tipo de dato: DefaultTableModel
Tabla 5.7 Modelo de Tabla
Este módulo administra el manejo de iconos dentro de la aplicación. Recibe como entrada la URL del
icono y devuelve el icono correspondiente.
Página 49 de 101
6. Pruebas
Página 50 de 101
6.2 Especificación de las pruebas
N° Módulo Características Nivel de prueba Objetivo de Enfoque para la Técnicas para la Actividades de Criterios de
a probar prueba definición de definición de prueba cumplimiento
casos de prueba casos de prueba
Interfaz de Funcionalidad Verificar que Caja negra Pruebas de [Link]ón Todas las
Usuario (UI) todas las valores límite, con todos los funciones de la
funciones de la pruebas de elementos de la interfaz deben
interfaz se particiones, interfaz. funcionar sin
1 ejecuten pruebas de flujo [Link]ón errores y
correctamente. de eventos de respuestas responder
del sistema a adecuadamente
entradas del a las entradas
usuario. del usuario.
Lógica de Funcionalidad Validar que la Caja negra Pruebas de [Link]ón de La lógica de
Negocio (BL) lógica de casos de uso, casos de uso. negocio debe
negocio realice pruebas de [Link]ó cumplir con
2 correctamente escenarios, n de resultados todos los
sus operaciones pruebas de con los requisitos
según los integración requisitos. funcionales
especificados.
Página 53 de 101
requisitos
especificados.
Persistencia de Funcionalidad Comprobar que Caja negra Pruebas de 1. Guardar Los datos deben
Datos (Data los datos se lectura/escritur datos en guardarse y
Persistence) guarden y a de archivos, archivos. recuperarse sin
recuperen pruebas de [Link] pérdida de
3
correctamente integridad de datos de información.
desde los datos archivos.
archivos de
texto.
Pantalla de Funcionalidad Verificar que la Caja negra Pruebas de 1. Iniciar el La pantalla de
carga pantalla de presencia de la sistema y carga debe
carga se pantalla, verificar la mostrarse al
muestre al pruebas de pantalla de iniciar el
4
iniciar el tiempo de carga carga. sistema dentro
sistema. 2. Medir el del tiempo
tiempo de especificado.
carga.
Página 52 de 101
Pantalla de Funcionalidad Validar que los Caja negra Pruebas de 1. Intentar Los usuarios
inicio de sesión usuarios inicio de sesión iniciar sesión deben poder
puedan iniciar con con iniciar sesión
sesión credenciales credenciales con
correctamente. válidas e válidas. credenciales
5
inválidas. 2. Intentar válidas y no
iniciar sesión iniciar sesión
con con
credenciales credenciales
inválidas. inválidas.
Pantalla de Funcionalidad Verificar que Caja negra Pruebas de [Link] Todas las
menú de todas las funcionalidad con cada opción opciones del
opciones opciones del de cada opción del menú. menú deben
6 menú estén del menú. 2. Verificar que estar
disponibles y las funciones se disponibles y
funcionen ejecuten funcionar
correctamente. correctamente. correctamente
Pantalla de Funcionalidad Comprobar que Caja negra Pruebas de [Link] Los usuarios
elección de los usuarios selección de elementos del deben poder
menú puedan menú con menú. seleccionar los
7
seleccionar los diferentes [Link] que elementos del
elementos del combinaciones se reflejen menú sin
de opciones. correctamente errores.
Página 53 de 101
menú en la pantalla
correctamente. siguiente.
Página 54 de 101
6.3 Responsables de las pruebas
Durante el proceso de pruebas del sistema de restaurante, se ha puesto énfasis en garantizar que todas
las funcionalidades sean probadas exhaustivamente para asegurar su correcto funcionamiento. Se han
llevado a cabo pruebas en múltiples niveles, desde pruebas unitarias hasta pruebas de aceptación, con
el objetivo de identificar y corregir cualquier defecto o anomalía que pudiera afectar la calidad del
software.
Los resultados obtenidos de las pruebas han sido satisfactorios en su mayoría, con un alto porcentaje
de funcionalidades que han pasado exitosamente todas las pruebas planificadas. Se han identificado
y corregido algunos problemas menores durante el proceso de pruebas, lo cual es esperado en
cualquier proyecto de desarrollo de software.
Se destaca la importancia de la planificación adecuada de las pruebas, así como la colaboración entre
los equipos de desarrollo y pruebas para garantizar la efectividad y eficiencia del proceso. Además,
se ha valorado positivamente el uso de diversas técnicas de prueba, como caja negra y caja blanca,
que han permitido una cobertura amplia y exhaustiva de los casos de prueba.
Página 53 de 101
En resumen, el proceso de pruebas ha sido fundamental para garantizar la calidad y fiabilidad del
sistema de restaurante, y los resultados obtenidos reflejan el compromiso y esfuerzo del equipo en
asegurar que el software cumpla con los estándares de calidad establecidos.
Página 56 de 101
8. Conclusiones
Al finalizar este proyecto, se lograron alcanzar los objetivos establecidos inicialmente. Se
contrastaron los objetivos del proyecto con los resultados obtenidos y se encontró que se cumplió
satisfactoriamente con las expectativas planteadas.
En cuanto a la planificación inicial del proyecto, se pudo constatar que, a pesar de algunos ajustes y
desafíos encontrados durante el proceso de desarrollo, se logró cumplir con los plazos establecidos.
Esto resalta la importancia de una planificación adecuada y la capacidad de adaptación a los cambios
que surgen durante el desarrollo de un proyecto.
Desde el punto de vista académico, el proyecto ha sido una oportunidad invaluable para consolidar
los conocimientos teóricos adquiridos durante el curso y aplicarlos en un entorno práctico. La
programación de las diferentes clases y componentes del sistema proporcionó una comprensión más
profunda de los principios fundamentales de la programación orientada a objetos, como la
encapsulación, la herencia y el polimorfismo. Se exploraron diversas técnicas y prácticas de
programación, lo que amplió significativamente el repertorio de habilidades técnicas y el dominio de
los lenguajes de programación utilizados.
A nivel personal, la experiencia de desarrollo de este proyecto ha sido desafiante pero gratificante. El
proceso de programación implicó enfrentarse a problemas complejos y encontrar soluciones
creativas, lo que fomentó el pensamiento crítico y la resolución de problemas. Además, trabajar en
equipo permitió compartir conocimientos, colaborar en la resolución de problemas y aprender unos
de otros. Esta experiencia no solo contribuyó al crecimiento profesional, sino que también fortaleció
la confianza en las habilidades de programación y la capacidad para abordar proyectos futuros con
mayor seguridad.
Conclusiones Académicas desde la Perspectiva del Funcionamiento del Sistema (Fátima del Pilar
Baizabal Hernandez):
Desde una perspectiva académica, el análisis del funcionamiento del sistema proporcionó una
comprensión más profunda de los principios de diseño de software y arquitectura de sistemas. Se
Página 57 de 101
pudo apreciar la importancia de una arquitectura bien diseñada y modular, así como la
implementación eficiente de algoritmos y estructuras de datos. El proceso de desarrollo permitió
aplicar metodologías ágiles y buenas prácticas de ingeniería de software, lo que resultó en un producto
final que cumplió con los estándares de calidad y funcionamiento establecidos.
Conclusiones Personales desde la Perspectiva del Funcionamiento del Sistema (Fátima del Pilar
Baizabal Hernandez):
Página 58 de 101
9. Biografía
[Link]
[Link]
filechooser
[Link]
[Link]
es/topics/jre
Página 59 de 101
10. Anexo: Planificación inicial del proyecto
La cantidad total de líneas de código se calculó sumando las líneas de código de cada clase y frame
desarrollados en el proyecto. Se consideraron todas las líneas de código que implementan la
funcionalidad del sistema, excluyendo las líneas en blanco y los comentarios.
A continuación se detalla la cantidad de líneas de código para cada fase del desarrollo:
Por lo tanto, la contabilización final del tamaño del software es de 3443 líneas de código.
Se estima que esta cantidad de líneas de código equivale a la estimación inicial de PF o PCU
proporcionada anteriormente.
Página 60 de 101
Además, se estimó el esfuerzo en horas hombre considerando las horas de trabajo reales dedicadas al
proyecto por cada fase del desarrollo. Esta estimación se detalla en el Anexo correspondiente.
Iteración 1:
• Resultados: Se completó la interfaz de usuario para que los usuarios puedan realizar pedidos
de manera intuitiva. Se identificaron algunos errores de validación que fueron corregidos en
versiones posteriores.
Iteración 2:
Iteración 3:
Iteración 4:
Página 61 de 101
• Resultados: Se agregaron nuevas funcionalidades, como la generación de informes de ventas
y la asignación de mesas a los meseros. Se recibieron sugerencias para futuras mejoras en la
usabilidad y la funcionalidad del sistema.
Página 62 de 101
12. Anexo: Manual de usuario
Manual de [Link]
El siguiente ítem se repite para cada módulo independiente de los que tenemos analizados.
Pre condiciones:
Página 63 de 101
Creación de ID_Pedido Detalles del Detalles del Éxito
un nuevo pedido pedido
3 pedido solicitado solicitado
Pre condiciones:
Página 64 de 101
Nombre del módulo: FacturaGenerator
Pre condiciones:
Página 65 de 101
Nombre del módulo: ClienteManager
Pre condiciones:
Página 66 de 101
Nombre del módulo: KeyEventManager
Pre condiciones:
Página 67 de 101
Nombre del módulo: FileSelector
Pre condiciones:
Página 68 de 101
Nombre del módulo: TableModelManager
Pre condiciones:
Página 69 de 101
Nombre del módulo: IconManager
Pre condiciones:
Página 70 de 101
13.3 Sistema
Página 71 de 101
Teléfono, , ,
Correo consultado consultado
correctame correctame
nte nte
Manejo de Evento_Teclado Eventos Eventos Cumple Éxito
Eventos de registrados registrados
Teclado y y
respondido respondido
s s
correctame correctame
nte nte
Selección Directorio_Inici Archivo Archivo Cumple Éxito
de Archivos al selecciona selecciona
do do
correctame correctame
nte nte
Modelo de Datos_Tabla, Modelo de Modelo de Cumple Éxito
Tabla Nombres_Colu tabla tabla
mnas creado creado
correctame correctame
nte nte
Manejo de URL_Icono Icono Icono Cumple Éxito
Iconos mostrado mostrado
correctame correctame
nte nte
1Tabla 13.9 Esta prueba debe ser ejecutada en un ambiente lo más parecido al que utiliza el usuario.
Página 72 de 101
13.4 Aceptación
Prueba Alfa
Página 73 de 101
Prueba Beta
Página 74 de 101
14. Anexo: diccionario de datos del modelo de datos
El diccionario completo se incluye como anexo, no obstante, las tablas principales son descritas en
este punto.
Página 75 de 101
Campo Tipo de dato Descripción
ID_Factura INT Identificador único de la
factura
ID_Pedido INT Identificador del pedido
relacionado
Fecha_Emision DATE Fecha de emisión de la factura
Total_Factura DECIMAL(10,2) Total del importe facturado
Tabla 14.4 Facturas
Página 76 de 101
Campo Tipo de dato Descripción
ID_Modelo INT Identificador único del modelo
de tabla
Nombre_Columna VARCHAR(255) Nombre de la columna en la
tabla
Datos_Columna TEXT Datos almacenados en la
columna
Tabla 14.8 Modelos_Tabla
• Pedidos
o ID_Cliente: El identificador del cliente que realiza el pedido, que se refiere a la tabla
de Clientes.
o Total_Pedido: El importe total del pedido calculado a partir de la suma de los precios
de los productos en el pedido.
• Productos_Pedido
Página 77 de 101
o Precio_Unitario: El precio por unidad del producto en el momento del pedido.
• Inventario
• Facturas
o Total_Factura: El importe total de la factura, que debería coincidir con el total del
pedido.
• Clientes
• Eventos_Teclado
Página 78 de 101
o Evento_Teclado: La descripción del evento de teclado (e.g., tecla presionada).
• Archivos_Seleccionados
• Modelos_Tabla
• Iconos
Página 79 de 101
Figura 15.2 Diagrama de actividades – Manejo de pedidos
Página 80 de 101
Figura 15.4 Diagrama de Secuencia – Generar Factura
Página 81 de 101
Figura 15.6 Diagrama de Secuaencia - Gestión de Clientes
Página 82 de 101
Figura 15.8 Diagrama de Estados - Producto en el Inventario
1. Características Evaluadas:
o Funcionalidad: Capacidad del sistema para cumplir con los requisitos
funcionales definidos, como la gestión de pedidos, inventario y facturación.
o Confiabilidad: Fiabilidad del sistema para realizar correctamente sus
funciones, minimizando fallos y errores.
o Usabilidad: Facilidad de uso del sistema, garantizando una experiencia
intuitiva y eficiente para los usuarios.
o Eficiencia: Desempeño del sistema en términos de velocidad, tiempo de
respuesta y consumo de recursos.
Página 83 de 101
o Mantenibilidad: Facilidad para realizar modificaciones, correcciones y
mejoras en el sistema de forma rápida y segura.
o Portabilidad: Capacidad del sistema para ser transferido o adaptado a
diferentes entornos de ejecución.
2. Métodos de Evaluación:
o Pruebas de Funcionalidad: Se realizaron pruebas exhaustivas para verificar
que todas las funciones del sistema se comporten según lo esperado.
o Pruebas de Usabilidad: Se llevaron a cabo pruebas de usabilidad con
usuarios reales para evaluar la facilidad de uso y la experiencia de usuario.
o Pruebas de Rendimiento: Se realizaron pruebas de carga y rendimiento para
evaluar la eficiencia y la capacidad de respuesta del sistema bajo diferentes
condiciones.
o Revisión de Código: Se realizó una revisión exhaustiva del código para
identificar posibles vulnerabilidades, errores de lógica y oportunidades de
mejora.
3. Resultados de la Evaluación:
o Funcionalidad: El sistema cumplió con todos los requisitos funcionales
establecidos, ofreciendo una amplia gama de funciones para la gestión de
pedidos, inventario y facturación.
o Confiabilidad: Se identificaron algunos fallos menores durante las pruebas,
pero en general, el sistema demostró ser confiable y estable en su
funcionamiento.
o Usabilidad: Los usuarios expresaron una alta satisfacción con la usabilidad
del sistema, destacando su interfaz intuitiva y fácil de usar.
o Eficiencia: El sistema demostró un buen rendimiento en términos de
velocidad y eficiencia, con tiempos de respuesta rápidos y un consumo de
recursos aceptable.
o Mantenibilidad: Se identificaron áreas de mejora en la estructura del código
y la documentación, pero en general, el sistema es mantenible y escalable.
o Portabilidad: El sistema se desplegó con éxito en diferentes entornos de
ejecución, demostrando una buena portabilidad.
Página 84 de 101
4. Acciones Correctivas:
o Se han implementado correcciones para abordar los fallos identificados
durante las pruebas.
o Se está trabajando en mejoras adicionales para optimizar la eficiencia y la
usabilidad del sistema.
o Se ha establecido un proceso de revisión continua del código para mantener
la calidad y la confiabilidad del sistema a lo largo del tiempo.
Página 85 de 101
Tabla 15.2.1 Despliegue de opciones
Página 86 de 101
Tabla 15.2.2 Menú- Comida
Página 87 de 101
Tabla 15.2.3 Proceso de terminar orden
Página 88 de 101
Tabla15.2.4 Ticket de preparación de alimentos/bebidas
Área 2. Cronometro
Página 89 de 101
Tabla 15.2.5 Estadísticas
Página 90 de 101
Tabla 15.2.6 Resumen de ventas
Página 91 de 101
Tabla15.2.8 Información del mesero
Página 92 de 101
Tabla 15.2.9 Factura
Área 4. Información de la mesa, mesero, numero de factura, serie y fecha e Información del cliente
(nombre, cedula, teléfono)
Página 93 de 101
15.3 Diagrama para representar la jerarquía
Página 94 de 101
Figura 15.3.6 Estadísticas
Página 95 de 101
15.4 Diagrama para representar el esquema de navegación
Página 96 de 101
Figura 15.4.5 Ticket de Preparación de Alimentos/Bebidas
Página 97 de 101
Figura 15.4.9 Información del Mesero
Página 98 de 101
15.6 Aspectos de seguridad informática a considerar en proyectos de software
Página 99 de 101
Acciones frente a fallas de Procedimientos de
software mantenimiento y correctivos
ágiles
Continuidad del sistema en Continuidad frente a catástrofe Respaldos automatizados de
operación con pérdida de integridad sistema completo;
lógica y/o física del sistema procedimiento de restauración
(programas y datos) automatizado de sistema;
disponer de log histórico en
sistemas transaccionales;
reprocesos batch en sistemas
transaccionales
Tabla 15.6.1Tabla de Aspectos de Seguridad Informática en el Proyecto del Sistema de Restaurante
El sistema de restaurante abarca diversas áreas que deben ser aseguradas para garantizar su correcto
funcionamiento y continuidad:
2. Hardware del Sistema de Restaurante: Proteger los equipos físicos del restaurante
mediante seguros y medidas preventivas, y asegurar la correcta operatividad del hardware
verificando las configuraciones y compatibilidades necesarias.