0% encontró este documento útil (0 votos)
33 vistas102 páginas

Proyecto Final

Proyecto final de sistemas computación que trata de un lenguaje de programación

Cargado por

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

Proyecto Final

Proyecto final de sistemas computación que trata de un lenguaje de programación

Cargado por

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

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO SUPERIOR


DE ALVARADO - Unidad A. Medellín

TECNOLÓGICO NACIONAL DE MÉXICO


INSTITUTO TECNOLÓGICO SUPERIOR
DE ALVARADO - Unidad A. Medellín

INGENIERÍA EN
SISTEMAS COMPUTACIONALES

Materia:

Ingeniería de Software

Semestre - Grupo - Sistema:

10° – Único – Escolarizado.

Producto Académico:

Proyecto de software

Presenta(n):

Baizabal Hernandez Fatima del Pilar

Sulvaran Peña Sergio Aldair

Docente:

ISC. Dionisio Pérez Pérez

Página 53 de 101

Medellín de Bravo, Ver. Ago. – Dic. 2023


Resumen
El presente documento describe el desarrollo de una aplicación de software para la gestión integral
de un restaurante. La aplicación ofrece una solución completa para optimizar los procesos operativos
y mejorar la experiencia tanto del personal como de los clientes. A través de funcionalidades como la
administración de ingredientes, la creación de menús, la gestión de pedidos y la generación de
facturas, se busca facilitar la operación diaria del restaurante y mejorar la eficiencia en la prestación
de servicios.

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

2. DEFINICIÓN DEL PROYECTO ....................................................................................... 10


2.1 Objetivos del proyecto .................................................................................................................... 10
2.1.1 General ....................................................................................................................................... 10
2.1.2 Especifico .................................................................................................................................... 10
2.2 Ambiente de ingeniera de software ................................................................................................ 10
2.3 Definiciones, siglas y abreviaciones ................................................................................................ 11

3. ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE .............................................. 12


3.1 Alcances .......................................................................................................................................... 12
3.2 Objetivo del software ...................................................................................................................... 12
3.2.1 Objetivos Específicos...................................................................................................................... 13
3.3 Descripción global del producto ..................................................................................................... 14
3.3.1 Interfaz de usuario ...................................................................................................................... 14
3.3.2 Interfaz de hardware .................................................................................................................. 20
3.3.3 Interfaz de software .................................................................................................................... 20
3.4 Requerimientos específicos ............................................................................................................ 21
3.4.1 Requerimientos funcionales del sistema .................................................................................... 21
3.4.2 Interfaces externas de entrada ................................................................................................... 23
3.4.3 Interfaces de salida ..................................................................................................................... 23
3.4.4 Atributos del producto................................................................................................................ 23

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

7. RESUMEN ESFUERZO REQUERIDO ............................................................................. 56

8. CONCLUSIONES ......................................................................................................... 57

9. BIOGRAFÍA ................................................................................................................ 59

10. ANEXO: PLANIFICACIÓN INICIAL DEL PROYECTO ..................................................... 60


10.1 Estimación inicial de tamaño .......................................................................................................... 60
10.2 Contabilización final del tamaño del software ................................................................................ 60

11. ANEXO: RESULTADOS DE ITERACIONES EN EL DESARROLLO .................................... 61

12. ANEXO: MANUAL DE USUARIO ............................................................................... 63

13. ANEXO: ESPECIFICACIÓN DE LAS PRUEBAS ............................................................. 63


13.1 Pruebas de unidad .......................................................................................................................... 63
13.2 Nombre unidad ............................................................................................................................... 63
13.3 Sistema ............................................................................................................................................ 71

Página 3 de 101
13.4 Aceptación ...................................................................................................................................... 73

14. ANEXO: DICCIONARIO DE DATOS DEL MODELO DE DATOS ...................................... 75

15. EJEMPLO (INCLUIR TODOS LOS DIAGRAMAS HASTA EL DE COMPONENTES) ............ 79


15.1 ISO/IEC 9126: Tecnología de información – Evaluación del producto de software ......................... 83
15.2 Esquema especificación de interfaz ................................................................................................ 85
15.3 Diagrama para representar la jerarquía .......................................................................................... 94
15.4 Diagrama para representar el esquema de navegación .................................................................. 96
15.5 Árbol de descomposición funcional ................................................................................................ 98
15.6 Aspectos de seguridad informática a considerar en proyectos de software ................................... 99

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

La gestión eficiente de un restaurante requiere una organización meticulosa y la capacidad de manejar


múltiples aspectos simultáneamente, desde la administración de ingredientes hasta la generación de
facturas. En este contexto, la tecnología juega un papel crucial al ofrecer soluciones integrales que
optimizan los procesos operativos y mejoran la experiencia tanto del personal como de los clientes.

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.

El desarrollo de esta aplicación se llevará a cabo utilizando principios de la programación orientada


a objetos en Java, siguiendo una metodología ágil para asegurar una entrega continua y la adaptación
a las necesidades cambiantes del proyecto.

Página 9 de 101
2. Definición del proyecto

2.1 Objetivos del proyecto

2.1.1 General

• Diseñar e implementar una solución para la gestión integral de un restaurante, facilitando la


administración de ingredientes, creación de menús, gestión de pedidos y generación de
facturas, entre otras funciones.

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.

2.2 Ambiente de ingeniera de software

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.

Herramientas de Apoyo al Desarrollo de Software:

• IDE (Apache NeatBeans): Utilizado para escribir, depurar y probar el código de la


aplicación.

• Git: Para el control de versiones, permitiendo la gestión eficiente del código fuente y la
colaboración entre los desarrolladores.

• JUnit: Para realizar pruebas unitarias y asegurar la calidad del código.

• Notepad++ / Visual Studio Code: Para la edición de archivos ".txt", utilizados para
almacenar datos persistentes de la aplicación.

2.3 Definiciones, siglas y abreviaciones

• IDE: Integrated Development Environment - Entorno de desarrollo integrado que facilita la


programación.
• UML: Unified Modeling Language - Lenguaje de modelado unificado utilizado para
especificar, visualizar y documentar sistemas de software.
• Git: Sistema de control de versiones distribuido utilizado para el seguimiento de cambios en
el código fuente.
• JUnit: Framework para la creación y ejecución de pruebas unitarias en Java.
• Scrum: Marco de trabajo ágil para la gestión de proyectos que permite entregas
incrementales.
• Mesero: Empleado del restaurante encargado de atender a los clientes y tomar pedidos.
• Archivo ".txt": Formato de archivo de texto utilizado para almacenar datos de manera simple
y accesible.
• Estadísticas de ventas: Datos recopilados que muestran el rendimiento de las ventas del
restaurante en diferentes periodos.
• Factura: Documento que detalla la transacción de venta, incluyendo los productos o servicios
adquiridos y su costo.

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:

• Administración Integral: El software permite la gestión completa de las operaciones de un


restaurante, incluyendo la administración de ingredientes, la creación de menús, la gestión de
pedidos y la generación de facturas.
• Interfaz Intuitiva: La interfaz de usuario está diseñada para ser intuitiva y fácil de usar, lo que
facilita su adopción por parte del personal del restaurante.
• Seguridad: El sistema cuenta con un sistema de inicio de sesión seguro y gestión de perfiles
de usuario, asegurando que solo el personal autorizado tenga acceso a las diferentes
funcionalidades del sistema.
• Flexibilidad: La aplicación es altamente personalizable, permitiendo a los usuarios adaptarla
a las necesidades específicas de su restaurante, como la configuración de menús, precios y
perfiles de usuario.
• Automatización de Procesos: El software automatiza muchos de los procesos operativos del
restaurante, como la generación de facturas y el seguimiento de estadísticas de ventas, lo que
ayuda a mejorar la eficiencia y reducir errores humanos.
• Persistencia de Datos: Todos los datos relevantes, como los ingredientes, menús, pedidos y
facturas, se almacenan de manera persistente en archivos ".txt", asegurando la disponibilidad
y la integridad de la información.
• Soporte Continuo: Se proporcionará soporte continuo para el producto, incluyendo
actualizaciones de software y mantenimiento, garantizando su funcionamiento óptimo a lo
largo del tiempo.

3.2 Objetivo del software

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.

3.3 Descripción global del producto

3.3.1 Interfaz de usuario


La interfaz de usuario del sistema de restaurante tiene como propósito principal facilitar la gestión
eficiente de las diferentes operaciones relacionadas con la administración de pedidos, el control de
inventario, la generación de facturas y la visualización de estadísticas. Su función es proporcionar a
los usuarios una plataforma intuitiva y fácil de usar que les permita realizar estas tareas de manera
efectiva.

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.

Además, la interfaz está ambientada visualmente en un entorno de restaurante, con imágenes y


elementos gráficos que evocan la atmósfera de una cocina y un comedor. Esto ayuda a crear una
experiencia inmersiva para los usuarios, que se sienten como si estuvieran interactuando con un
sistema diseñado específicamente para la gestión de un restaurante.

Página 14 de 101
Ilustración 3-1 Inicio del sistema

Ilustración 3-2 Registro del usuario (Administrador)

Página 15 de 101
Ilustración 3-3 Menú del sistema

Ilustración 3-4 Menú del restaurante

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

Ilustración 3-8 Tomamos en cuenta al generar factura a que mesa se va a generar

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

Ilustración 3-10 Mensaje de que el pago se efectuó correctamente

Página 19 de 101
Ilustración 3-11 Vista del panel de Ventas

3.3.2 Interfaz de hardware


Para el proyecto del sistema de restaurante, no se requiere ninguna interfaz de hardware específica.
El software opera únicamente en el entorno de una aplicación de escritorio y no interactúa con
dispositivos hardware externos, como impresoras, escáneres o dispositivos de punto de venta. Por lo
tanto, no hay necesidad de configurar conexiones, puertos o interrupciones para manejar dispositivos
hardware externos.

3.3.3 Interfaz de software


El sistema de restaurante interactúa con varios productos de software para su funcionamiento. A
continuación, se detallan los productos de software relevantes, junto con su nombre, abreviación,
número de especificación o versión, y fuente:

1. Sistema Operativo:

o Nombre: Windows

o Abreviación: Win

o Versión: 11

o Fuente: Microsoft Corporation

2. Plataforma de Desarrollo:

Página 20 de 101
o Nombre: Java Development Kit (JDK)

o Abreviación: JDK

o Versión: 11

o Fuente: Oracle Corporation

3. Entorno de Desarrollo Integrado (IDE):

o Nombre: NeatBeans

o Abreviación: NB

o Versión: 21

o Fuente: Apache Software Foundation

4. Base de Datos:

o Nombre: Archivos de texto (.txt)

o Abreviación: N/A

o Versión: N/A

o Fuente: Sistema de archivos del sistema operativo

3.4 Requerimientos específicos

3.4.1 Requerimientos funcionales del sistema

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

3.4.2 Interfaces externas de entrada

Detalle de datos contenidos


Identificador Nombre del ítem
en ítem
DE_01 Registrar pedido Datos del pedido realizado por
el cliente
DE_02 Gestionar inventario Detalle de los cambios en el
inventario de productos
DE_03 Generar facturar Información necesaria para
generar la factura
DE_04 Resumen de ventas Datos resumidos sobre las
ventas realizadas
Tabla 3.2 Interfaces de Entrada del Sistema

3.4.3 Interfaces de salida

Detalle de datos Medio de salida


Identificador Nombre del ítem
contenidos en ítem
IS_01 Informe de ventas Detalle de las ventas Archivo PDF,
realizadas Impresora, Pantalla
IS_02 Resumen de ventas Datos resumidos sobre Archivo PDF,
las ventas realizadas Impresora, Pantalla
Tabla 3.3 Interfaces de Salida del Sistema

3.4.4 Atributos del producto

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:

• Tiempo de ejecución/respuesta: El sistema debe garantizar un tiempo de carga inferior a X


segundos considerando una conexión de red de velocidad estándar de XYZ Mbyte/s y 10
usuarios conectados. Se pueden indicar consideraciones respecto al número de transacciones
y tareas, usuarios o cantidad de datos soportados en un periodo de tiempo, en condiciones
normales o en un pico de demanda.

Funcionalidad:

• Seguridad: El sistema debe mantener un control de acceso a la funcionalidad a través de un


sistema de login con contraseña, establecido según los perfiles definidos para los usuarios del
sistema.

4. Análisis

Diagrama UML/BPMN

A continuación, presento los diagramas UML/BPMN que describen estos procesos:

UML:

Página 24 de 101
Figura 4.1 Uml del sistema creado desde Apache NeatBeans 21

Página 25 de 101
BPMN:

Figura 4.2 BPMN del manejo del proceso principal

4.1 Diagrama de flujo de datos

Figura 4.3 flujo de datos completo del sistema

4.2 Casos de uso

4.2.1 Actores

2.4 Actores

1. Cliente

Página 26 de 101
o Rol o Funciones: Realiza pedidos de alimentos y bebidas.

o Nivel de Conocimientos Técnicos Requeridos: Bajo. Solo necesita entender la


interfaz de usuario para realizar pedidos.

o Nivel de Privilegio en el Sistema y Funcionalidades de Acceso: Acceso limitado.


Tiene acceso a la selección de productos y especificación de cantidades.

2. Mesero

o Rol o Funciones: Recibe y registra los pedidos de los clientes, y entrega los pedidos
una vez preparados.

o Nivel de Conocimientos Técnicos Requeridos: Moderado. Debe comprender el


funcionamiento básico del sistema de pedidos.

o Nivel de Privilegio en el Sistema y Funcionalidades de Acceso: Moderado. Tiene


acceso a funciones relacionadas con la recepción y entrega de pedidos.

3. Cocina

o Rol o Funciones: Prepara los pedidos recibidos del mesero.

o Nivel de Conocimientos Técnicos Requeridos: Moderado. Debe saber cómo


preparar los platos del menú.

o Nivel de Privilegio en el Sistema y Funcionalidades de Acceso: No aplica. No tiene


acceso directo al sistema.

4. Administrador

o Rol o Funciones: Administra el inventario de productos del restaurante y consulta


datos de ventas.

o Nivel de Conocimientos Técnicos Requeridos: Alto. Debe tener un conocimiento


profundo del sistema de gestión de inventario.

o Nivel de Privilegio en el Sistema y Funcionalidades de Acceso: Alto. Tiene acceso


completo a todas las funciones administrativas del sistema.

Página 27 de 101
4.2.2 Casos de uso y descripción

Figura 4.4 Casos de uso de todo el sistema en conjunto

4.2.3 Especificación de los casos de uso

Caso de uso Realizar Pedido


Descripción Proceso de tomar pedidos de los clientes y
enviarlos a la cocina.

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

Caso de uso Gestionar Inventario


Descripción Proceso de administrar el inventario de
productos del restaurante.
Pre-Condiciones El administrador debe haber iniciado sesión en
el sistema.
Flujo de Eventos Básicos ▪ El administrador agrega nuevos
productos al inventario.
▪ El administrador edita la información
de productos existentes.
▪ El administrador elimina productos
obsoletos del inventario.
▪ El sistema actualiza constantemente los
registros de inventario.
Flujo de Eventos Alternativo No se han identificado flujos alternativos para
este caso de uso.

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

Caso de uso Generar Factura


Descripción Proceso de generar facturas para los pedidos
realizados por los clientes.
Pre-Condiciones El pedido debe haber sido completado y
registrado en el sistema.
Flujo de Eventos Básicos ▪ El mesero recopila los detalles del
pedido realizado por el cliente.
▪ El sistema calcula el total a pagar,
incluyendo impuestos y propinas.
▪ El sistema genera una factura detallada
con todos los elementos del pedido y la
presenta al cliente.
Flujo de Eventos Alternativo No se han identificado flujos alternativos para
este caso de uso.
Post-Condiciones Se genera y entrega la factura al cliente.
Tabla 4.4.3 Caso de uso – Generar factura

Caso de uso Resumen de Ventas


Descripción Proceso de obtener un resumen de las ventas
realizadas en un período específico.
Pre-Condiciones El administrador debe haber iniciado sesión en
el sistema.
Flujo de Eventos Básicos ▪ El administrador consulta los datos de
ventas, como totales y productos
vendidos.
▪ El sistema genera un informe resumido
de las ventas realizadas en un período
específico.
Flujo de Eventos Alternativo No se han identificado flujos alternativos para
este caso de uso.

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

Caso de uso Análisis de Ventas


Descripción Proceso de identificar los platos más vendidos
en un período específico y determinar al mesero
del día basado en las ventas realizadas.
Pre-Condiciones Debe haber datos de ventas registrados en el
sistema.
Flujo de Eventos Básicos ▪ El sistema analiza los datos de ventas
para identificar los platos más vendidos.
▪ El sistema determina al mesero del día
basado en las ventas realizadas.
Flujo de Eventos Alternativo No se han identificado flujos alternativos para
este caso de uso.
Post-Condiciones Se obtiene un análisis de las ventas y se
determina al mesero destacado del día.
Tabla 4.4.5 Caso de uso – Análisis de venta

4.3 Modelamiento de datos

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

5.1 Diseño de físico de la base de datos

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 cliente puede realizar múltiples pedidos.

• Un pedido puede contener varios detalles de pedido relacionados con diferentes productos.

• Un pedido se convierte en una factura una vez completado.

Página 35 de 101
Figura 5.3.1 Modelo E-R

5.2 Diseño de arquitectura funcional

Componentes Principales:

1. Interfaz de Usuario (UI):

o Desarrollada utilizando Java Swing o JavaFX para proporcionar una interfaz gráfica
intuitiva para los usuarios.

o Permite a los clientes realizar pedidos y al personal administrativo gestionar el


inventario, generar facturas y ver resúmenes de ventas.

2. Lógica de Negocio (BL):

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.

3. Persistencia de Datos (Data Persistence):

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.

3. El componente de lógica de negocio valida los datos y realiza operaciones de lectura o


escritura en archivos de texto según sea necesario.

4. El componente de lógica de negocio devuelve los resultados apropiados a la interfaz de


usuario para su visualización al usuario.

Ventajas y Consideraciones:

• Simplicidad: Este enfoque elimina la necesidad de un servidor de base de datos y simplifica


la configuración y el despliegue del sistema.

• Portabilidad: Al utilizar archivos de texto, el sistema es altamente portable y puede


ejecutarse en cualquier máquina con una máquina virtual de Java (JVM) instalada.

• 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

5.3 Diseño interfaz y navegación

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.

Ilustración 5.3-2 Iniciar sesión

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.

Ilustración 5.3-3 Menú de opciones

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.

Ilustración 5.3-5 Muestra del ticket de la toma de orden

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.

Ilustración 5.3-6 Muestra de la opción de estadísticas

Una clara muestra es cuando seleccionamos el resumen de ventas podemos escoger de que mesa
queremos observar.

Ilustración 5.3-7 Resumen de ventas por mesa

Página 42 de 101
De igual manera para el registro de un nuevo mesero se puede crear dentro del despligue de opciones.

Ilustración 5.3-8 Asignación de mesa

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

5.4 Especificación de módulos

Módulos de programa creados para esta aplicación:

Módulo 1: Manejo de Pedidos

• Nombre del Módulo: PedidoHandler

• Objetivo: Gestionar la creación, modificación y consulta de pedidos en el sistema.

• Parámetros de entrada:

o ID_Cliente (Tipo de dato: int)

o Fecha_Pedido (Tipo de dato: Date)

o Lista_Productos (Tipo de dato: List<Producto>)

• Parámetros de salida:

o ID_Pedido (Tipo de dato: int)

Módulo 2: Manejo de Inventario

• Nombre del Módulo: InventarioHandler

• Objetivo: Gestionar la actualización y consulta del inventario de productos.

• Parámetros de entrada:

o ID_Producto (Tipo de dato: int)

o Cantidad (Tipo de dato: int)

• Parámetros de salida:

o Estado_Actualizacion (Tipo de dato: boolean)

Módulo 3: Generación de Facturas

• Nombre del Módulo: FacturaGenerator

• Objetivo: Generar facturas detalladas para los pedidos completados.

• Parámetros de entrada:

Página 44 de 101
o ID_Pedido (Tipo de dato: int)

o Fecha_Emision (Tipo de dato: Date)

• Parámetros de salida:

o ID_Factura (Tipo de dato: int)

Módulo 4: Gestión de Clientes

• Nombre del Módulo: ClienteManager

• Objetivo: Gestionar la información de los clientes.

• Parámetros de entrada:

o Nombre (Tipo de dato: String)

o Dirección (Tipo de dato: String)

o Teléfono (Tipo de dato: String)

o Correo_Electrónico (Tipo de dato: String)

• Parámetros de salida:

o ID_Cliente (Tipo de dato: int)

2.5 Módulos de programa utilizados desde librerías externas:

Módulo 5: Manejo de Eventos de Teclado

• Nombre del Módulo: KeyEventManager

• Objetivo: Manejar los eventos de teclado dentro de la aplicación.

• Parámetros de entrada:

o Evento_Teclado (Tipo de dato: KeyEvent)

• Parámetros de salida:

o Ninguno

Módulo 6: Selector de Archivos

• Nombre del Módulo: FileSelector

Página 45 de 101
• Objetivo: Permitir al usuario seleccionar archivos desde el sistema de archivos.

• Parámetros de entrada:

o Directorio_Inicial (Tipo de dato: File)

• Parámetros de salida:

o Archivo_Seleccionado (Tipo de dato: File)

Módulo 7: Modelo de Tabla

• Nombre del Módulo: TableModelManager

• Objetivo: Proveer un modelo de tabla para componentes de interfaz gráfica.

• Parámetros de entrada:

o Datos_Tabla (Tipo de dato: Object[][])

o Nombres_Columnas (Tipo de dato: String[])

• Parámetros de salida:

o Modelo_Tabla (Tipo de dato: DefaultTableModel)

Módulo 8: Manejo de Iconos

• Nombre del Módulo: IconManager

• Objetivo: Manejar y mostrar iconos dentro de la aplicación.

• Parámetros de entrada:

o URL_Icono (Tipo de dato: URL)

• Parámetros de salida:

o Icono (Tipo de dato: ImageIcon)

Página 46 de 101
Especificación de módulo de programa creados para esta aplicación

Módulo 1: Manejo de Pedidos

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.

N° Módulo: 1 Nombre Módulo: PedidoHandler


Parámetros de entrada Parámetros de Salida
Nombre: ID_Cliente Tipo de dato: int
Nombre: Fecha_Pedido Tipo de dato: Date
Nombre: Lista_Productos Tipo de dato: List<Producto>
Parámetros de Salida
Nombre: ID_Pedido Tipo de dato: int
Tabla 5.1 Manejo de Pedidos

Módulo 2: Manejo de Inventario

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.

N° Módulo: 2 Nombre Módulo: InventarioHandler


Parámetros de entrada Parámetros de Salida
Nombre: ID_Producto Tipo de dato: int
Nombre: Cantidad Tipo de dato: int
Parámetros de Salida
Tabla 5.2 Manejo de Inventario

Módulo 3: Generación de Facturas

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.

N° Módulo: 3 Nombre Módulo: FacturaGenerator


Parámetros de entrada Párametros de salida
Nombre: ID_Pedido Tipo de dato. Int
Nombre: Fecha_Emision Tipo de dato:Date
Parámetros de Salida

Página 47 de 101
Nombre:ID_Factura Tipo de dato:int
Tabla 5.3 Generación de Facturas

Módulo 4: Gestión de clientes

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.

N° Módulo:4 Nombre Módulo: ClienteManager


Parámetros de entrada Parámetros de Salida
Nombre: Nombre Tipo de dato: String
Nombre: Dirección Tipo de dato: String
Nombre: Teléfono Tipo de dato: String
Nombre: Correo_Electrónico Tipo de dato: String
Parámetros de Salida
Nombre: ID_Cliente Tipo de dato: int
Tabla 5.4 Gestión de Clientes

Especificación de Módulos de Programa Utilizados desde Librerías Externas:

Módulo 5: Manejo de Eventos de Teclado

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.

N° Módulo: 5 Nombre Módulo: KeyEventManager


Parámetros de entrada Parámetros de Salida
Nombre: Evento_Teclado Tipo de dato: KeyEvent
Parámetros de Salida
Tabla 5.5 Manejo de Eventos de Teclado

Módulo 6: Selector de archivos

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.

N° Módulo: 6 Nombre Módulo: FileSelector


Parámetros de entrada Parámetros de Salida
Nombre: Directorio_Inicial Tipo de dato: File

Página 48 de 101
Parámetros de Salida
Nombre: Archivo_Seleccionado Tipo de dato: File
Tabla 5.6 Selector de Archivos

Módulo 7: Modelo de tabla

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.

N° Módulo: 7 Nombre Módulo: TableModelManager


Parámetros de entrada Parámetros de Salida
Nombre: Datos_Tabla Tipo de dato: Object

Nombre: Nombres_Columnas Tipo de dato: String

Parámetros de Salida
Nombre: Modelo_Tabla Tipo de dato: DefaultTableModel
Tabla 5.7 Modelo de Tabla

Modulo 8: Manejo de íconos

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.

N° Módulo: 8 Nombre Módulo: IconManager


Parámetros de entrada Parámetros de Salida
Nombre: URL_Icono Tipo de dato: URL
Parámetros de Salida
Nombre: Icono Tipo de dato: ImageIcon
Tabla 5.8 Manejo de Iconos

Página 49 de 101
6. Pruebas

6.1 Elementos de prueba

N° Módulo Descripción del Elemento de Prueba


1 Interfaz de Usuario (UI): Este módulo se encarga de proporcionar una interfaz
gráfica intuitiva para que los usuarios interactúen con el sistema de restaurante.
2 Lógica de Negocio (BL): Este módulo contiene la lógica de negocio del sistema de
restaurante, gestionando operaciones como la gestión de pedidos, control de
inventario y generación de facturas.
3 Persistencia de Datos (Data Persistence): Este módulo se encarga de la persistencia
de los datos del sistema de restaurante, almacenando y recuperando la información
necesaria en archivos de texto.
4 Registro de Cliente: Este módulo se encarga de gestionar el registro de nuevos
clientes en el sistema de restaurante.
5 Gestión de Pedidos: Este módulo permite a los usuarios realizar y gestionar pedidos
de alimentos y bebidas.
6 Generación de Facturas: Este módulo se encarga de generar facturas para los pedidos
realizados por los clientes.
7 Registro de Meseros: Este módulo permite el registro y gestión de meseros en el
sistema de restaurante.
8 Estadísticas de Ventas: Este módulo proporciona funciones para visualizar
estadísticas de ventas.

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.

Pantalla de Funcional Validar que se Caja negra Pruebas de [Link] El ticket de la


muestra del idad muestre visualización productos y orden debe
ticket de orden correctamente del ticket con generar el mostrarse
8 el ticket de la diferentes ticket. correctamente
orden con los combinaciones [Link] que con todos los
productos de productos. se muestre productos
seleccionados. correctamente. seleccionados.
Tabla 6.1 Especificación de Pruebas

Página 54 de 101
6.3 Responsables de las pruebas

Las pruebas serán ejecutadas por los siguientes responsables:

Nivel de Prueba Responsable


Unidad Sergio Aldair Sulvaran Peña
Integración Fátima del Pilar Baizabal Hernandez
Sistema Sergio Aldair Sulvaran Peña
Aceptación Fátima del Pilar Baizabal Hernandez
Tabla 6.2 Responsables de las pruebas

6.4 Calendario de pruebas

Fecha de Inicio Fecha de Fin Actividad de Prueba


29/04/2024 05/05/2024 Pruebas de unidad
06/05/2024 12/05/2024 Pruebas de integración
13/05/2024 19/05/2024 Pruebas de sistema
20/05/2024 26/05/2024 Pruebas de aceptación
Tabla 6.3 Calendario de asignación de pruebas

6.5 Conclusiones de prueba

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.

7. Resumen esfuerzo requerido


Actividades/fases N° horas
Desarrollo de clases de java
[Link] 1
[Link] 1
[Link] 1
[Link] 1
[Link] 1
[Link] 1
[Link] 1
Desarrollo de frames de java
[Link] 8
[Link] 1
[Link] 1
Total 17
Tabla 7.1 Tiempo estimado del desarrollo del proyecto

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.

Respecto a las herramientas, lenguajes y metodologías utilizadas, se pudo comprobar su adecuación


y eficacia en el desarrollo del proyecto. La elección de Java como lenguaje de programación y el uso
de las bibliotecas adecuadas permitieron desarrollar un sistema robusto y funcional.

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.

Conclusiones Académicas desde la Perspectiva de la Programación (Sergio Aldair Sulvaran Peña):

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.

Conclusiones Personales desde la Perspectiva de la Programación (Sergio Aldair Sulvaran Peña):

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):

A nivel personal, la experiencia de entender el funcionamiento del sistema fue reveladora y


enriquecedora. Al explorar cómo cada componente interactúa y contribuye al funcionamiento global
del sistema, se adquirió una apreciación más profunda de la complejidad y la interconexión de los
sistemas de software. Se desarrolló una mayor habilidad para identificar y resolver problemas de
manera sistemática, así como para optimizar el rendimiento y la eficiencia del sistema. Esta
experiencia no solo fortaleció las habilidades técnicas, sino que también impulsó la confianza en la
capacidad para diseñar y desarrollar sistemas de software sólidos y funcionales en el futuro.

Página 58 de 101
9. Biografía

Cuervo, V. (2015, 2 junio). Crear un frame con AWT. Línea de Código.

[Link]

Guardar un [Link] con FileChooser. (s. f.). Stack Overflow En Español.

[Link]

filechooser

Java: Swing: JFrame. (s. f.). [Link]

[Link]

NetBeans, A. (s. f.). Welcome to Apache NetBeans.

[Link]

¿Qué es JRE (Java Runtime Environment)? | IBM. (s. f.). [Link]

es/topics/jre

Página 59 de 101
10. Anexo: Planificación inicial del proyecto

10.1 Estimación inicial de tamaño

10.2 Contabilización final del tamaño del software

El tamaño del software se determinó mediante la contabilización de las líneas de código


implementadas en el proyecto. Se excluyeron las líneas en blanco y los comentarios, considerando
únicamente las líneas que contienen código funcional.

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:

Desarrollo de clases de Java: 224 líneas

Desarrollo de frames de Java: 3219 líneas

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.

11. Anexo: Resultados de iteraciones en el desarrollo


En este anexo se presentan los resultados obtenidos de cada iteración o incremento realizado durante
el desarrollo del proyecto. Se detalla el contenido o funcionalidad de cada iteración, así como los
comentarios, correcciones u observaciones proporcionados por los usuarios o el equipo de desarrollo.

Iteración 1:

• Contenido/Funcionalidad: Desarrollo de la interfaz de usuario y la lógica de negocio para la


gestión de pedidos.

• 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:

• Contenido/Funcionalidad: Implementación del sistema de gestión de inventario y generación


de facturas.

• Resultados: Se agregó la funcionalidad para administrar el inventario de productos y generar


facturas automáticamente. Se recibieron comentarios positivos sobre la facilidad de uso de
estas nuevas características.

Iteración 3:

• Contenido/Funcionalidad: Mejoras en la interfaz de usuario y optimización del rendimiento


del sistema.

• Resultados: Se realizaron ajustes en la interfaz de usuario para mejorar la experiencia del


usuario. Se optimizó el rendimiento del sistema para reducir los tiempos de carga y mejorar
la respuesta del sistema.

Iteración 4:

• Contenido/Funcionalidad: Implementación de características adicionales solicitadas por los


usuarios.

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]

13. Anexo: Especificación de las pruebas

13.1 Pruebas de unidad

El siguiente ítem se repite para cada módulo independiente de los que tenemos analizados.

13.2 Nombre unidad

Nombre del módulo: PedidoHandler

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Base de datos con productos y clientes existentes.


• Productos con stock disponible.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Creación de ID_Mesero ID_Pedido ID_Pedido Éxito
un nuevo Fecha_Pedi válido válido
1 pedido do,
Lista_Prod
uctos
Creación de ID_Pedido, Confirmaci Confirmaci Éxito
un nuevo Nuevos ón de ón de
2 pedido Datos de modificaci modificaci
Pedido ón exitosa ón exitosa

Página 63 de 101
Creación de ID_Pedido Detalles del Detalles del Éxito
un nuevo pedido pedido
3 pedido solicitado solicitado

Tabla 13.1 PedidoHandler

Nombre del módulo: InventarioHandler

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Base de datos con productos y Meseros existentes.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Actualizaci ID_Product Confirmaci Confirmaci Éxito
ón del o, Cantidad ón de ón de
1 inventario actualizaci actualizaci
ón exitosa ón exitosa

Consulta de ID_Product Estado del Estado del Éxito


inventario o inventario inventario
2 para el para el
producto producto
solicitado solicitado
Tabla 13.2 InventarioHandler

Página 64 de 101
Nombre del módulo: FacturaGenerator

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Base de datos con pedidos completados.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Generación ID_Pedido, ID_Factura ID_Factura Éxito
de factura Fecha_Emi válido válido
1 sion

Consulta de ID_Pedido Detalles de Detalles de Éxito


factura la factura la factura
2 correspondi correspondi
ente al ente al
pedido pedido
Tabla 13.3 FacturaGenerator

Página 65 de 101
Nombre del módulo: ClienteManager

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Base de datos sin meseros con datos duplicados.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Creación de Nombre, ID_Mesero ID_Mesero Éxito
un nuevo Dirección, válido válido
1 mesero Teléfono,
Correo_Ele
ctrónico
Modificaci ID_Mesero Confirmaci Confirmaci Éxito
ón de Nuevos ón de ón de
2 mesero Datos de modificaci modificaci
Mesero ón exitosa ón exitosa

Consulta de ID_Mesero Detalles del Detalles del


mesero mesero mesero
3 solicitado solicitado

Tabla 13.4 ClienteManager

Página 66 de 101
Nombre del módulo: KeyEventManager

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Sistema operativo con soporte para eventos de teclado.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Manejo de Evento_tec Registro y Registro y Éxito
eventos de lado respuesta respuesta
1 teclado adecuada al adecuada al
evento evento

Tabla 13.5 KeyEventManager

Página 67 de 101
Nombre del módulo: FileSelector

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Sistema operativo con soporte para seleccionar archivos.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Selección Directorio_ Archivo Archivo Éxito
de archivos Inicial seleccionad seleccionad
1 o o

Tabla 13.6 FileSelector

Página 68 de 101
Nombre del módulo: TableModelManager

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Sistema operativo con soporte para interfaces gráficas.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Modelo de Datos_Tabl Modelo de Modelo de Éxito
tabla a, tabla tabla
1
Nombres_c creado creado
olumnas
Tabla 13.7 TableModelManager

Página 69 de 101
Nombre del módulo: IconManager

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Pre condiciones:

• Sistema operativo con soporte para manejo de imágenes.

Id o caso Caracterís Datos de Salida Salida Éxito/frac Observaci


de prueba tica a entrada esperada obtenida aso ones
probar
Manejo de URL_Icon Icono Icono Éxito
íconos o mostrado mostrado
1
correctame correctame
nte nte
Tabla 13.8 IconManager

Página 70 de 101
13.3 Sistema

Configuración HW, SW, SO, comunicaciones:

Configuración HW, SW, SO:

• HW: PC con 8GB de RAM, procesador Intel i3 o superior.


• SW: Java JDK 11, IDE de desarrollo (Apache NeatBeans)
• SO: Windows 10 / macOS 10.15 / Ubuntu 20.04.

Descripció Entrada Salida Salida Evaluaci Éxito/Frac Criticid


n esperada obtenida ón aso ad en
requerimie caso de
nto fracaso
funcional
Manejo de ID_Mesero Eventos Pedido Cumple Éxito
Pedidos Fecha_Pedido, registrados creado,
completo Lista_Productos y modificado
respondido ,
s consultado
correctame correctame
nte nte
Manejo de ID_Producto, Inventario Inventario Cumple Éxito
Inventario Cantidad actualizado actualizado
completo y y
consultado consultado
correctame correctame
nte nte
Generación ID_Pedido, Factura Factura Cumple Éxito
de Facturas Fecha_Emision generada y generada y
completo consultada consultada
correctame correctame
nte nte
Gestión de Nombre, Mesero Cliente Cumple Éxito
Clientes Dirección, creado, creado,
completo modificado modificado

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

Descripción Entrada Salida Salida Evaluaci Éxito/fraca Criticid


requerimie esperada obtenida ón so ad en
nto caso de
funcional fracaso
Manejo de D_Mesero Pedido Pedido Cumple Éxito
Pedidos Fecha_Pedid creado, creado,
completo o, modificado, modificado,
Lista_Produc consultado consultado
tos correctame correctame
nte nte
Manejo de ID_Producto, Inventario Inventario Cumple Éxito
Inventario Cantidad actualizado actualizado
completo y y
consultado consultado
correctame correctame
nte nte
Generación ID_Pedido, Factura Factura Cumple Éxito
de Facturas Fecha_Emisi generada y generada y
completo on consultada consultada
correctame correctame
nte nte
Gestión de Nombre, Cliente Cliente Cumple Fracaso Alta
Clientes Dirección, creado, creado,
completo Teléfono, modificado, modificado,
Correo consultado consultado
correctame correctame
nte nte
Tabla 13.10 (realizada junto al usuario)

Página 73 de 101
Prueba Beta

Descripción Entrada Salida Salida Evaluaci Éxito/fraca Criticid


requerimie esperada obtenida ón so ad en
nto caso de
funcional fracaso
Manejo de D_Mesero Pedido Pedido Cumple Fracaso Alta
Pedidos Fecha_Pedid creado, creado,
completo o, modificado, modificado,
Lista_Produc consultado consultado
tos correctame correctame
nte nte
Manejo de ID_Producto, Inventario Inventario Cumple Éxito
Inventario Cantidad actualizado actualizado
completo y y
consultado consultado
correctame correctame
nte nte
Generación ID_Pedido, Factura Factura Cumple Éxito
de Facturas Fecha_Emisi generada y generada y
completo on consultada consultada
correctame correctame
nte nte
Gestión de Nombre, Cliente Cliente Cumple Fracaso Alta
Clientes Dirección, creado, creado,
completo Teléfono, modificado, modificado,
Correo consultado consultado
correctame correctame
nte nte
Tabla 13.11(realizada por el usuario sin asistencia del desarrollador)

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.

Campo Tipo de dato Descripción


ID_Pedido INT Identificador único del pedido
ID_Cliente INT Identificador del cliente que
realiza el pedido
Fecha_Pedido DATE Fecha en que se realizó el
pedido
Estado_Pedido VARCHAR(50) Estado actual del pedido (e.g.,
pendiente, completado)
Total_Pedido DECIMAL(10,2) Total del importe del pedido
Tabla 14.1Pedidos

Campo Tipo de dato Descripción


ID_Pedido INT Identificador del pedido
ID_Producto INT Identificador del producto
Cantidad INT Cantidad del producto en el
pedido
Precio_Unitario DECIMAL(10,2) Precio unitario del producto
Tabla 14.2 Productos_Pedido

Campo Tipo de dato Descripción


ID_Producto INT Identificador único del
producto
Nombre VARCHAR(100) Nombre del producto
Descripción TEXT Descripción detallada del
producto
Cantidad INT Cantidad disponible en
inventario
Precio DECIMAL(10,2) Precio del producto
Tabla 14.3 Inventario

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

Campo Tipo de dato Descripción


ID_Cliente INT Identificador único del cliente
Nombre VARCHAR(100) Nombre completo del cliente
Dirección VARCHAR(200) Dirección del cliente
Teléfono VARCHAR(20) Número de teléfono del cliente
Correo_Electrónico VARCHAR(100) Correo electrónico del cliente
Tabla 14.5 Clientes

Campo Tipo de dato Descripción


ID_Evento INT Identificador único del evento
Evento_Teclado VARCHAR(50) Descripción del evento de
teclado
Fecha_Evento DATE Fecha en que ocurrió el evento
Tabla 14.6 Evento_Teclado

Campo Tipo de dato Descripción


ID_Archivo INT Identificador único del archivo
Nombre_Archivo VARCHAR(255) Nombre del archivo
seleccionado
Ruta_Archivo VARCHAR(500) Ruta completa del archivo
seleccionado
Fecha_Seleccion DATE Fecha en que se seleccionó el
archivo
Tabla 14.7 Archivos_Seleccionados

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

Campo Tipo de dato Descripción


ID_Icono INT Identificador único del icono
URL_Icono VARCHAR(255) URL del icono
Descripción TEXT Descripción del icono
Tabla 14.9 Iconos

Descripciones Detalladas de los Campos

• Pedidos

o ID_Pedido: Un identificador único y autoincremental para cada pedido.

o ID_Cliente: El identificador del cliente que realiza el pedido, que se refiere a la tabla
de Clientes.

o Fecha_Pedido: La fecha en que se creó el pedido.

o Estado_Pedido: El estado actual del pedido, como 'pendiente', 'en proceso',


'completado'.

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

o ID_Pedido: Referencia al identificador del pedido al que pertenece el producto.

o ID_Producto: Referencia al identificador del producto de la tabla Inventario.

o Cantidad: La cantidad de ese producto en el pedido.

Página 77 de 101
o Precio_Unitario: El precio por unidad del producto en el momento del pedido.

• Inventario

o ID_Producto: Un identificador único y autoincremental para cada producto.

o Nombre: El nombre del producto.

o Descripción: Una descripción detallada del producto.

o Cantidad: La cantidad disponible del producto en el inventario.

o Precio: El precio del producto.

• Facturas

o ID_Factura: Un identificador único y autoincremental para cada factura.

o ID_Pedido: Referencia al identificador del pedido al que se refiere la factura.

o Fecha_Emision: La fecha en que se emitió la factura.

o Total_Factura: El importe total de la factura, que debería coincidir con el total del
pedido.

• Clientes

o ID_Cliente: Un identificador único y autoincremental para cada cliente.

o Nombre: El nombre completo del cliente.

o Dirección: La dirección del cliente.

o Teléfono: El número de teléfono del cliente.

o Correo_Electrónico: El correo electrónico del cliente.

• Eventos_Teclado

o ID_Evento: Un identificador único para cada evento de teclado.

Página 78 de 101
o Evento_Teclado: La descripción del evento de teclado (e.g., tecla presionada).

o Fecha_Evento: La fecha en que ocurrió el evento de teclado.

• Archivos_Seleccionados

o ID_Archivo: Un identificador único para cada archivo seleccionado.

o Nombre_Archivo: El nombre del archivo seleccionado por el usuario.

o Ruta_Archivo: La ruta completa del archivo seleccionado en el sistema de archivos.

o Fecha_Seleccion: La fecha en que se seleccionó el archivo.

• Modelos_Tabla

o ID_Modelo: Un identificador único para cada modelo de tabla.

o Nombre_Columna: El nombre de la columna en la tabla.

o Datos_Columna: Los datos almacenados en la columna correspondiente del modelo


de tabla.

• Iconos

o ID_Icono: Un identificador único para cada icono.

o URL_Icono: La URL del icono que se utiliza en la aplicación.

o Descripción: Una descripción del icono y su propósito dentro de la aplicación.

15. Ejemplo (Incluir todos los diagramas hasta el de componentes)

Figura 15.1 Diagrama de Componentes

Página 79 de 101
Figura 15.2 Diagrama de actividades – Manejo de pedidos

Figura 15.3 Diagrama de actividades – Gestión de inventario

Página 80 de 101
Figura 15.4 Diagrama de Secuencia – Generar Factura

Figura 15.5 Diagrama de Secuencia - Manejar un Pedido

Página 81 de 101
Figura 15.6 Diagrama de Secuaencia - Gestión de Clientes

Figura 15.7 Diagrama de Estados - Estados de un Pedido

Página 82 de 101
Figura 15.8 Diagrama de Estados - Producto en el Inventario

15.1 ISO/IEC 9126: Tecnología de información – Evaluación del producto de software

El estándar ISO/IEC 9126 proporciona un marco reconocido internacionalmente para evaluar


la calidad del software. En este apartado, se presenta la evaluación del producto de software
desarrollado para el Sistema de Gestión de Pedidos del RESTAURANTE PITAKS en
función de los criterios establecidos por este estándar.

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.

En conclusión, la evaluación del producto de software según el estándar ISO/IEC 9126


demuestra que el Sistema de Gestión de Pedidos del RESTAURANTE PITAKS cumple
con los criterios de calidad establecidos, con áreas de mejora identificadas para garantizar su
evolución y mejora continua.

15.2 Esquema especificación de interfaz

Tabla 15.2.1 Inicio de sesión

Área 1. Menú de ingresar al inicio de sesión

Área 2. Boton Ingresar

Área 3. Imagen alusiva al restaurante

Página 85 de 101
Tabla 15.2.1 Despliegue de opciones

Área 1. Botón de salir

Área 2. Evento de ver estadísticas

Área 3. Acceder información de meseros

Área 4. Registrar datos

Área 5. Imagen alusiva a la cocina

Área 6. Ver menú

Área 7. Ingreso de pedidos

Página 86 de 101
Tabla 15.2.2 Menú- Comida

Área 1. Imagen con referencia al nombre del restaurante

Área 2. Botón para volver a las opciones

Área 3. Botón para terminar la orden

Área 4. Imagen del platillo

Área 5. Cantidad a escoger del platillo

Área 6. Texto alusivo al precio del platillo/bebida

Página 87 de 101
Tabla 15.2.3 Proceso de terminar orden

Área 1. Botón de salir

Área 2. Imagen alusiva a un chef

Área 3. Botón para mandar a cocinar

Área 4. Número de la mesa

Área 5. Número del mesero

Área 6. Texto alusivo al nombre del restaurante

Área 7. Tabla con el menú a cocinar/preparar

Página 88 de 101
Tabla15.2.4 Ticket de preparación de alimentos/bebidas

Área 1. Tabla de pedidos con (nombre, cantidad, mesa)

Área 2. Cronometro

Área 3. Botón para mandar a cocinar

Área 4. Botón para mandar a facturar

Área 5. Botón para generar un nuevo pedido

Página 89 de 101
Tabla 15.2.5 Estadísticas

Área 1. Botón Resumen de ventas

Área 2. Botón Numero de ventas realizadas

Área 3. Botón Plato más comido

Área 4. Botón Mesero del día

Área 5. Imagen alusiva a la estadística

Área 6. Imagen alusiva a la estadística

Área 7. Imagen alusiva a la estadística

Página 90 de 101
Tabla 15.2.6 Resumen de ventas

Área 1. Texto de resumen de ventas

Área 2. Escoger la mesa para visualizar la mesa

Área 3. Botón de ver venta

Tabla 15.2.7 Plato más vendido

Área 1. Texto de “Mejor plato”

Área 2. Imagen alusiva al plato

Página 91 de 101
Tabla15.2.8 Información del mesero

Área 1. Ingresar nombre del mesero

Área 2. Asignar identificador del mesero

Área 3. Asignar número del mesero

Área 4. Botón para generar al mesero

Área 5. Botón para regresar al menú

Área 6. Guardar la información agregada

Página 92 de 101
Tabla 15.2.9 Factura

Área 1. Botón para volver al menú

Área 2. Botón para simular el pago

Área 3. Tabla donde muestra (concepto, precio, unidad y subtotal)

Área 4. Información de la mesa, mesero, numero de factura, serie y fecha e Información del cliente
(nombre, cedula, teléfono)

Área 5. Imagen alusiva a un local

Área 6. Información del restaurante

Página 93 de 101
15.3 Diagrama para representar la jerarquía

Figura 15.3.1 Inicio de sesión

Figura 15.3.2 Despliegue de opciones

Figura 15.3.3 Menú- Comida

Figura 15.3.4 Proceso de terminar orden

Figura 15.3.5 Ticket de preparación de alimentos/bebidas

Página 94 de 101
Figura 15.3.6 Estadísticas

Figura 15.3.7 Resumen de ventas

Figura 15.3.8 Plato más vendido

Figura 15.3.9 Información del mesero

Figura 15.3.10 Factura

Página 95 de 101
15.4 Diagrama para representar el esquema de navegación

Figura 15.4.1 Inicio de Sesión

Figura 15.4.2 Despliegue de Opciones

Figura 15.4.3 Menú-Comida

Figura 15.4.4 Proceso de Terminar Orden

Página 96 de 101
Figura 15.4.5 Ticket de Preparación de Alimentos/Bebidas

Figura 15.4.6 Estadísticas

Figura 15.4.7 Resumen de Ventas

Figura 15.4.8 Plato más Vendido

Página 97 de 101
Figura 15.4.9 Información del Mesero

Figura 15.4.10 Factura

15.5 Árbol de descomposición funcional

Figura 15.5.1 Árbol de descomposición funcional

Página 98 de 101
15.6 Aspectos de seguridad informática a considerar en proyectos de software

Áreas de riesgo Aspectos a asegurar Medidas de seguridad


Proyecto Sustentabilidad económica Estudio de Factibilidad
Económica: VAN y TIR
Hardware Integridad física del HW Seguros; resguardos para evitar
destrucción, mantenimiento
preventivo
Operatividad del HW Verificar configuración y
compatibilidades de SW básico
Personas del equipo de Calidad de la gestión Seguir indicaciones de la
desarrollo informática propuesta CobiT
Calidad de la concepción del Formalizar problema-
sistema requerimientos empresa-
requerimientos TIC-
Restricciones
Calidad del diseño lógico Asegurar calidad de interfaces
apropiadas para usuario;
formalizar aprobación de E/S
por usuario
Calidad del diseño físico Documentar rigurosamente
aspectos técnicos del sistema;
procedimiento de creación del
ambiente de desarrollo;
apropiada arquitectura de HW,
módulos de SW y datos
Calidad de la construcción del Control de concordancia con el
sistema diseño
Calidad de la operación del Existencia de instrucciones de
sistema operación adecuadas
Producto de software Calidad: confiabilidad, Seguimiento para verificar la
legalidad, disponibilidad, calidad
efectividad, eficiencia,
flexibilidad y otros

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

Aplicación al Sistema de Restaurante

El sistema de restaurante abarca diversas áreas que deben ser aseguradas para garantizar su correcto
funcionamiento y continuidad:

1. Proyecto del Sistema de Restaurante: Evaluar la viabilidad económica del sistema


mediante estudios financieros que aseguren que la inversión en el desarrollo del sistema
generará un retorno positivo.

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.

3. Equipo de Desarrollo del Sistema de Restaurante: Asegurar la calidad de la gestión y del


desarrollo del sistema siguiendo buenas prácticas y documentando rigurosamente todos los
aspectos técnicos y de diseño, garantizando que las interfaces sean intuitivas y adecuadas
para los usuarios del restaurante.

4. Producto de Software del Restaurante: Verificar continuamente la calidad del software,


implementando procedimientos de mantenimiento ágiles para resolver rápidamente cualquier
fallo que pueda surgir.

5. Continuidad del Sistema en el Restaurante: Establecer medidas de respaldo y restauración


automatizadas para asegurar que el sistema pueda recuperarse rápidamente ante cualquier

Página 100 de 101


desastre, manteniendo registros históricos y realizando reprocesos necesarios para asegurar
la continuidad operativa del restaurante.

Página 101 de 101

También podría gustarte