INGENIERÍA DE SISTEMAS E INFORMÁTICA
PROYECTO FINAL
“Sistema Básico de Punto de Venta para Tienda de Tecnología”
CURSO
Programación Orientada a Objetos
Integrantes
Piero Angel Farias Mansilla U23241010
Bryan Joel Diaz Ancajima U19102511
Juan Angel Eduardo Curo Oncoy U22228807
Edwin Javier Espinoza Corzo U19311953
Nicoll Elian Curi Raymundo U21304206
Docente
Mba Walter Del Carpio Quimper
2025
Programación Orientada a Objetos
INDICE
CAPITULO 1
1. Aspectos Generales
1.1Definición del problema
1.1.1Descripción del problema
1.2Definición de objetivos
1.2.1Objetivo General
1.2.2Objetivo Específico
1.3Alcances y Limitaciones
1.3.1Alcances
1.3.2Limitaciones
1.4Justificación
CAPITULO 2
2. Marco Teórico
2.1. Antecedentes
2.2. Fundamento Teórico
CAPITULO 3
3. Desarrollo de la Solución
3.1 Sistema de Proceso
3.2 Requerimientos Funcionales
3.3 Requerimientos no Funcionales
3.4 Matriz de actividades y requerimientos
3.5 Requerimientos Funcionales - Casos de Uso – Bosquejos
3.6 Diagramas de clases
CAPITULO 4
4. Codificación
4.1 Diagrama de Entidad y Relación (DER)
4.2 Creación de Base de datos
4.3 Insertar datos en las tablas
4.4 Evidencia del software del MVC y Dao
4.5 Vistas
CAPITULO 5
5.1 Conclusiones
5.2 Bibliografía
CAPITULO 1
Programación Orientada a Objetos
ASPECTOS GENERALES
En este capítulo, explicaremos el estado actual de la gestión de ventas y
boletas en una tienda de productos tecnológicos. También presentaremos el
problema que busca resolver nuestro Sistema Básico de Punto de Venta.
1.1 DEFINICIÓN DEL PROBLEMA
Las tiendas de productos tecnológicos, especialmente aquellas de menor
tamaño que comercializan artículos como pantallas, mouses, teclados y
componentes, a menudo enfrentan desafíos en la organización y el acceso a
la información de sus ventas y boletas. A medida que el volumen de
transacciones crece, la necesidad de un proceso de venta eficiente y una
gestión clara de los comprobantes se vuelve crucial para mantener la
satisfacción del cliente y la rentabilidad.
1.1.1 DESCRIPCIÓN DEL PROBLEMA
Actualmente, muchas de estas tiendas operan con procesos de registro de
ventas manuales o semi-automatizados, lo que lleva a varias ineficiencias:
• Registro de boletas lento y propenso a errores: El llenado manual de
boletas o el uso de hojas de cálculo básicas puede generar demoras en
la atención al cliente y errores al registrar los productos, precios o datos
del comprador.
• Dificultad para acceder a información histórica de ventas: Sin un sistema
centralizado, consultar ventas anteriores, identificar productos más
vendidos o generar reportes de ingresos se convierte en una tarea
tediosa y que consume mucho tiempo.
• Problemas de organización de comprobantes: Las boletas físicas
pueden perderse o deteriorarse, y la búsqueda de una boleta específica
para una devolución, cambio o consulta post-venta es complicada y
prolongada.
• Falta de control de inventario básico: Aunque este proyecto se enfoca en
las ventas y boletas, la ausencia de un sistema integrado dificulta tener
Programación Orientada a Objetos
una visión rápida de las existencias disponibles, lo que puede llevar a
ventas de productos sin stock.
Estas deficiencias afectan directamente la experiencia del cliente, que espera
rapidez y precisión al momento de comprar productos tecnológicos, y la
eficiencia operativa de la tienda. Es evidente la necesidad de una herramienta
que sistematice el proceso de ventas y la organización de las boletas,
permitiendo un registro ágil y un acceso rápido a la información relevante.
1.2. DEFINICIÓN DE LOS OBJETIVOS
1.2.1. OBJETIVO GENERAL
Construir una aplicación para agilizar el proceso de ventas de la Tienda de
productos tecnológicos ante la gran demandan de clientes.
1.2.2. OBJETIVOS ESPECÍFICOS
• Registrar de forma ágil las transacciones de venta de productos
tecnológicos (como mouses, teclados, pantallas, etc.).
• Generar boletas de venta simples que incluyan los datos esenciales de la
transacción (productos, cantidades, precios y total).
• Almacenar y permitir la consulta de las boletas generadas para facilitar la
gestión de información histórica.
• Proporcionar una interfaz de usuario intuitiva y fácil de usar para el
personal de la tienda.
1.3. ALCANCES Y LIMITACIONES
1.3.1. Alcances
Este proyecto de Sistema Básico de Punto de Venta abarcará las siguientes
funcionalidades:
• Gestión de Ventas: Registro de nuevas ventas, seleccionando productos
y cantidades.
Programación Orientada a Objetos
• Generación de Boletas: Creación de comprobantes de venta simples con
los detalles de la transacción.
• Consulta de Boletas: Visualización y búsqueda de boletas registradas
anteriormente.
• Gestión Básica de Productos: Registro de productos con su nombre y
precio unitario para su selección en las ventas (no se incluye gestión de
inventario compleja).
• Almacenamiento de Datos: Persistencia de la información de ventas,
boletas y productos en una base de datos SQL Server.
• Interfaz Gráfica de Usuario (GUI): Desarrollo de la aplicación con Java
Swing.
1.3.2. Limitaciones
● Tiempo para desarrollar el proyecto.
● Requiere soporte técnico periódicamente para verificar cualquier fallo en
el sistema.
● Requiere tener conexión a internet para poder usar la aplicación.
1.4 JUSTIFICACIÓN
La Tienda de Productos Tecnológicos Eureka enfrenta desafíos en la gestión
de sus ventas y la organización de boletas. El actual proceso, que en muchos
casos es manual o semi-automatizado, genera ineficiencias como el aumento
en los tiempos de espera de los clientes y la dificultad para acceder
rápidamente a la información de transacciones pasadas. Esta situación impacta
directamente la satisfacción del cliente y la eficiencia operativa del negocio.
CAPÍTULO 2
MARCO TEÓRICO
2.1 ANTECEDENTES
Programación Orientada a Objetos
El modelo de ventas tradicional ha cambiado. El mundo cambia, y cada vez
cambia de una forma más rápida, la manera como nos comunicamos es
completamente diferente, miremos como las marcas nos vendían sus
productos hace unos años y como lo hacen ahora. Hoy en día existen muchos
software que ayudan a agilizar el proceso de ventas en los establecimiento de
abarrotes y otros negocios, como lo son el CRM que es una herramienta
encargada de brindar una experiencia única y crear una buena relación con los
clientes, otro seria Sirena, la cual es un software que ofrece un sistema de
comunicación integrado para atender inmediatamente a los clientes, está
integrado con la aplicación más usada en todo el mundo que es WhatsApp.
Sirena cuenta a su vez con una plataforma totalmente diseñada para atender
leads entrantes de los distintos canales de venta y poder gestionarlos en un
solo lugar con un equipo del tamaño que tú prefieres.
2.2. FUNDAMENTO TEÓRICO
En el presente proyecto consiste en ofrecer un sistema automatizado para
mejorar la atención de los clientes, este agilizará las colas pidiendo datos de
fácil acceso para una rápida sistematización.
El software es un aplicativo que trabajara con Java, usará una base de datos,
la cual nos brindara el código de los productos y otros datos adicionales que
ayuden a la rápida gestión.
2.2.2. Tecnología de la Información
Las TIC dentro de una organización son un elemento clave para hacer que el
trabajo sea más productivo: agilizando las comunicaciones, sustentando el
trabajo en equipo y realizando análisis financieros. Además, son una excelente
herramienta de gestión empresarial, que ayuda positivamente para el desarrollo
y viabilidad de las empresas. Añadido a ello, son una parte de las tecnologías
emergentes que hacen referencia a la utilización de medios informáticos para
almacenar, procesar y difundir todo tipo de información dentro de la
organización. El buen uso de las TIC permite a las empresas producir más
Programación Orientada a Objetos
cantidad, más rápido, de mejor calidad, y en menos tiempo y le ayudan a la
competitividad.
2.2.3. Sistema de Información
Un sistema de información son elementos que interactúan entre sí con un fin
común; que permite que la información esté disponible para satisfacer las
necesidades en una organización, este sistema no siempre requiere contar con
recurso computacional aunque la disposición del mismo facilita el manejo e
interpretación de la información por los usuarios.
Los elementos que interactúan entre sí son: el equipo computacional, el
recurso humano, los datos o información fuente, programas ejecutados por las
computadoras, las telecomunicaciones y los procedimientos de políticas y
reglas de operación.
CAPITULO 3
DESARROLLO DE LA SOLUCION
El siguiente software se basara en requerimientos el cual es una condición o
capacidad que debe de ajustarse al sistema (RUP).
3.1 SISTEMA DEL PROCESO DE VENTAS DE LA TIENDA VIDA
INFORMATICO
El proceso de ventas de la
El Problema de Tienda Eureka
Tanto a los empleados como a
Que afecta los clientes.
Incomodidad en los clientes,
El impacto pérdida de tiempo para los
clientes, falta de eficiencia en el
registro de productos.
Programación Orientada a Objetos
Mejorar eficientemente el
Una solución seria proceso de ventas para evitar
molestias, pérdidas y tiempo a
los clientes como a los
empleados.
Stakeholder Necesidad Características
Clientes No tener que El sistema debe
esperar para el permitir imprimir una
recibo de la boleta. boleta.
Cajero No tener que El sistema debe
demorar en registrar permitir registrar
la compra. productos
3.2 REQUERIMIENTOS FUNCIONALES
RF.1 El sistema deberá permitir iniciar sesión.
RF.2 El sistema deberá permitir modificar los datos de la empresa.
RF.3 El sistema deberá permitir registrar al proveedor.
RF.4 El sistema deberá permitir mostrar el historial de ventas .
RF.5 El sistema deberá permitir la búsqueda de productos.
Programación Orientada a Objetos
RF.6 El sistema deberá permitir consultar el precio de productos.
RF.7 El sistema deberá permitir consultar la cantidad de productos.
RF.8 El sistema deberá permitir registrar uno o más productos.
RF.9 El sistema deberá permitir eliminar un producto.
RF.10 El sistema deberá permitir registrar al cliente y usuario.
RF.11 El sistema deberá permitir cancelar la compra.
RF.12 El sistema deberá permitir imprimir la boleta de pago.
3.3 REQUERIMIENTOS NO FUNCIONALES
RNF.1 El sistema debe funcionar en las siguientes plataformas:
Windows 10 y/o Windows 7.
RNF.2 El tiempo de respuesta no debe superar 2s.
RNF.3 La base de datos diseñada debe soportar una cantidad
generosa de datos.
RNF.4 El sistema debe estar disponible 24*7.
RNF.5 El sistema deberá tener una interfaz amigable con el usuario.
RNF.6 El sistema debe asegurar la privacidad de los datos
personales del usuario.
RNF.7 Solo deberá permitir acceso a usuarios autorizados.
RNF.8 El sistema debe ser capaz de soportar varias sesiones a la
vez.
RNF.9 El sistema será realizado en Java
El sistema debe proporcionar mensajes de error que sean
RNF.10
informativos y orientados al usuario final.
Programación Orientada a Objetos
3.4 MATRIZ DE ACTIVIDADES Y REQUERIMIENTOS
Proceso de Actividad de Responsable Requerimiento Caso de Actor
Negocio Negocio de Negocio Uso
Ingresar al Cajero RF1.El sistema Iniciar Cajero
sistema deberá permitir sesión.
iniciar sesión.
Modificación Cajero RF2. El sistema Modificar Cajero
datos de la deberá permitir los datos
empresa modificar los de la
datos de la empresa.
empresa.
Venta de
Se solicita Cajero RF3. El sistema Registrar Cajero
Productos
RUC deberá permitir Proveed
registrar al or.
proveedor.
Historial de Cajero RF4. El sistema Historial Cajero
ventas deberá permitir de
mostrar el ventas
historial de
ventas.
Programación Orientada a Objetos
Solicita Cajero RF5.El sistema Consulta Cajero
búsqueda del deberá permitir la Producto
producto búsqueda de .
productos.
Solicita la Cajero RF6. El sistema Consulta Cajero
consulta de permitirá r precio.
precio del consultar el
producto precio de
productos.
Solicita la Cajero RF7. El sistema Consulta Cajero
consulta de la permitirá r
cantidad del consultar la cantidad.
producto cantidad de
productos.
Registra el Cajero RF8. El sistema Registrar Cajero
producto deberá permitir producto
registrar uno o s
más productos.
Eliminar Cajero RF9. El sistema Eliminar Cajero
producto deberá permitir producto
eliminar un
producto.
Se solicita DNI Cajero RF10. El sistema Registrar Cajero
deberá permitir Cliente.
registrar al
cliente.
Cancelación Cajero RF11. El sistema Cancelar Cajero
de la compra deberá permitir compra
cancelar la
compra.
Programación Orientada a Objetos
Entregar Cajero RF12.El sistema Imprimir Cajero
boleta de pago deberá permitir boleta de
imprimir la boleta pago
de pago.
3.5 REQUERIMIENTOS FUNCIONALES – DIGRAMA DE CASOS DE USO -
BOSQUEJO
RF1. El sistema deberá permitir iniciar sesión.
CASO DE USO: Iniciar Sesión
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando cajero debe iniciar sesión para acceder al
sistema.
2. El sistema solicita el USERNAME y CONTRASEÑA.
3. El cajero llena todos los datos del sistema.
4. El cajero accede al sistema.
5. Finaliza el caso de uso.
Flujo Alternativo
En el paso 3 si la contraseña no es la correcta se abre una nueva pestaña.
Programación Orientada a Objetos
RF2. El sistema deberá permitir mostrar el historial de ventas.
CASO DE USO: Historial de ventas
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cajero desea ver el historial de ventas.
2. El sistema solicita el correo electrónico y contraseña.
3. El cajero verifica el historial de ventas.
4. El cajero exporta un historial de ventas que necesite.
5. Finaliza el caso de uso.
Flujo Alternativo
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
RF3. El sistema deberá permitir la búsqueda de productos.
CASO DE USO: Buscar Producto.
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cajero consigue el código del producto.
2. El sistema muestra una línea de texto donde digitar el producto.
3. El cajero digita el código del producto.
4. El sistema muestra el nombre del producto.
5. Se finaliza el caso de uso.
Flujo Alternativo
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
RF4. El sistema deberá consultar el precio de productos.
CASO DE USO: Buscar precio del producto
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cajero ingresa al sistema con su
usuario
2. El sistema muestra en donde poner el código del producto a buscar.
3. El sistema muestra el precio del producto.
4. Se finaliza el caso de uso.
Flujo alternativo
Programación Orientada a Objetos
RF5. El sistema deberá permitir consultar la cantidad de productos.
Programación Orientada a Objetos
CASO DE USO: Consultar Cantidad de productos
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cajero inicia el sistema.
2. El usuario digita el código del producto a buscar.
3. El sistema muestra los resultados del producto y cantidad.
4. Se finaliza caso de uso.
Flujo Alternativo
En el paso 3 de no haber stock, el sistema indicará cantidad 0.
Programación Orientada a Objetos
RF6. El sistema deberá permitir registrar uno o más productos.
CASO DE USO: Registrar producto.
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cajero consigue el código del producto.
2. El sistema muestra una línea de texto donde puede colocar el código del
producto.
3. El cajero digita el código del producto.
4. El sistema muestra el nombre del producto.
5. El cajero digita el nombre del producto y la cantidad.
6. El cajero escoge el proveedor.
6. El cajero inserta el producto, se repite para cada producto apretando el botón
de insertar (se repite por si quiere agregar más productos)
7. Finaliza el caso de Uso.
Flujo Alternativo
Programación Orientada a Objetos
Programación Orientada a Objetos
RF6. El sistema deberá permitir eliminar productos.
Programación Orientada a Objetos
CASO DE USO: Eliminar producto
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cajero inicia al sistema.
2. El cajero elimina el producto digitado por error o a solicitud del usuario.
3. El sistema muestra una ventana de confirmación.
4. Se finaliza caso de uso.
Flujo Alternativo
Programación Orientada a Objetos
RF7. El sistema deberá permitir registrar al cliente.
CASO DE USO: Registrar al cliente
ACTOR: Cajero
Flujo básico
1. El caso comienza cuando el cajero le pide los datos personales al
cliente en el botón registro.
2. El cliente brinda su DNI, nombre, teléfono y dirección.
3. El cliente confirma sus datos al cajero.
4. El cajero registra al cliente.
5. El sistema arroja una ventana indicando que el cliente ha sido
registrado.
6. Finaliza el caso de uso
Flujo alternativo
Si en caso algún dato haya sido mal escrito puede eliminar el registro y
volver a entrar al sistema.
Programación Orientada a Objetos
RF6. El sistema deberá permitir cancelar la compra.
CASO DE USO: Cancelar compra
Programación Orientada a Objetos
Actor: Cajero
Flujo Básico
1. El caso comienza cuando el cajero termina de insertar todos los datos de la
compra.
2. El cliente solicita cancelar la compra por alguna inconformidad.
3. El cajero elimina la compra en el sistema.
4. Finaliza el caso de uso.
Flujo Alternativo
Programación Orientada a Objetos
Programación Orientada a Objetos
RF7. El sistema deberá permitir imprimir la boleta de pago
CASO DE USO: Imprimir Boleta de Pago.
Actor: Cajero
Flujo Básico
1. El caso de uso comienza cuando el cliente solicita su Boleta de Pago.
2. El cajero revisa que el sistema funcione.
3. El sistema muestra el usuario administrador/cajero que debe estar autenticado.
7. El cajero selecciona el botón de imprimir.
8. El cajero procede a entregar la Boleta de Pago al cliente.
8. Se finaliza el caso de uso.
Flujo Alternativo
Programación Orientada a Objetos
Programación Orientada a Objetos
3.6 DIAGRAMA DE CLASES
- UML
Programación Orientada a Objetos
- Diagrama de Negocios
Programación Orientada a Objetos
CAPITULO 4
CODIFICACION
4.1 DIAGRAMA DE ENTIDAD Y RELACION (DER)
Programación Orientada a Objetos
4.2 CREACION DE BASE DE DATOS
4.3 INSERTAR DATOS EN LAS TABLAS
Tabla Clientes
Programación Orientada a Objetos
Tabla Productos
Tabla Usuarios
Programación Orientada a Objetos
Tabla Boleta de Venta
4.4 EVIDENCIA DEL SOFTWARE DEL MCV Y DAO
MCV
Controlador
Programación Orientada a Objetos
Conexión a la base de datos
MODELO DE LAS CLASES
Cliente
Programación Orientada a Objetos
Detalle Boleta
Programación Orientada a Objetos
Producto
Venta
Programación Orientada a Objetos
DAO
Cliente Dao
Login Dao
Programación Orientada a Objetos
Producto Dao
Usuario Dao
Programación Orientada a Objetos
Venta Dao
Sistema Venta
4.5 VISTAS
Programación Orientada a Objetos
Login
Sistema
Programación Orientada a Objetos
5.1 CONCLUSIONES
• El objetivo general de diseñar e implementar un sistema de punto de venta que
permita registrar ventas y organizar boletas de manera eficiente para una tienda de
productos tecnológicos se ha logrado satisfactoriamente. Esto se evidencia en el
cumplimiento de los objetivos específicos planteados.
• A través de la definición del problema, se identificaron las necesidades y deficiencias
en la gestión manual de ventas y boletas en una tienda de productos tecnológicos, lo
cual justificó la creación de este sistema automatizado.
• La utilización de una Base de Datos (SQL Server) demostró ser fundamental para el
almacenamiento y registro adecuado de las ventas y los productos, permitiendo una
gestión organizada y un acceso rápido a la información.
• El desarrollo riguroso de los diagramas de clases y el Diagrama de Entidad-Relación
(DER) fue crucial. Estos diseños facilitaron la implementación del sistema en Java
Swing y NetBeans, guiando la estructuración de la lógica de negocio y la base de
datos.
• Se logró implementar el procesamiento de las transacciones de venta dentro del
sistema, lo que permite registrar eficazmente cada compra, generar su boleta
correspondiente y mantener un historial organizado de las operaciones de venta.
5.2 BIBLIOGRAFIA
NetBeans. Software NetBeans [en línea]. Lima: 2022 [Fecha de consulta: 12 de Junio de 2025]
Disponible en https://netbeans.apache.org/
DelftStack. Conectar una base de datos en Java [en línea]. Lima: 2020 [Fecha de consulta: 4 de
Julio de 2025] Disponible en https://www.delftstack.com/es/howto/java/connect-mysql-database-in-
java/
Tutoriales Java. Patrones de Diseño en Java [en línea]. Lima: 2025 [Fecha de consulta: 6 de Junio
de 2025] Disponible en https://www.ecodeup.com/patrones-de-diseno-en-java-mvc-dao-y-dto/
Código de Colores. Paleta de Colores [en línea]. Lima: 2022 [Fecha de consulta: 16 de Junio de
2025] Disponible en https://htmlcolorcodes.com/es/
Lucichart. Diseño de diagramas [en línea]. Lima: 2025 [Fecha de consulta: 12 de Junio de 2025]
Disponible en https://www.lucidchart.com/pages/es
Programación Orientada a Objetos