02/05/2025
FABIOLA
JIMENA LOPEZ
SANTOS, DIEGO
TREJO
TIENDA DE ABARROTES MARTINEZ,
CICLIALI
BAUTISTA
COLEGIO NACIONAL DEL ESTADO DE MEXICO SANCHEZ, LUIZ
CONALEP NAUCALPAN PLANTEL 1
FERNANDO
VELAZQUEZ
PROGRAMACION ORIENTADA A OBJETOS
BALLESTEROS.
SISTEMA PARA TIENDA DE ABARROTES
Requerimientos Funcionales
1. Registrar nuevos productos
El sistema permitirá ingresar productos nuevos al inventario,
incluyendo su nombre, precio, cantidad disponible y categoría.
2. Modificar información de productos
El sistema permitirá cambiar los datos de un producto ya
registrado, como su precio, cantidad o nombre.
3. Eliminar productos
El sistema podrá eliminar productos del inventario si ya no están
disponibles o fueron descontinuados.
4. Listar productos disponibles
El sistema mostrará todos los productos que están en el
inventario, con su información relevante.
5. Realizar ventas
El sistema permitirá procesar la compra de productos,
descontando la cantidad vendida del inventario.
6. Generar ticket de venta
Después de cada compra, el sistema imprimirá un ticket con los
productos comprados y el total a pagar.
7. Gestionar clientes frecuentes
El sistema permitirá registrar clientes y acumular puntos por cada
compra realizada.
8. Aplicar descuentos
Se podrán aplicar descuentos por porcentaje a ciertos productos
según promociones o rebajas.
9. Alertar por bajo inventario
El sistema notificará cuando un producto tenga una cantidad
inferior a un mínimo definido para reabastecimiento.
10. Registrar historial de ventas
Cada venta será registrada con fecha y hora, incluyendo los
productos vendidos y el total.
11. Consultar inventario por categoría
El sistema permitirá filtrar los productos del inventario según su
categoría para facilitar la búsqueda.
12. Actualizar stock de productos
El sistema permitirá actualizar manualmente el stock de productos
según nuevas entregas o devoluciones.
13. Ver el detalle de una venta
El sistema mostrará un resumen completo de las ventas,
incluyendo los productos vendidos y el total.
14. Emitir facturas
El sistema permitirá generar facturas legales para clientes,
incluyendo todos los datos necesarios.
15. Gestionar descuentos por producto
Se podrá establecer un descuento fijo o por porcentaje para cada
producto o grupo de productos.
16. Ver productos más vendidos
El sistema proporcionará una lista de los productos más vendidos,
ayudando a tomar decisiones sobre stock.
17. Permitir pagos en efectivo y con tarjeta
El sistema permitirá registrar pagos tanto en efectivo como con
tarjeta de crédito o débito.
18. Controlar la caja de la tienda
El sistema llevará un control de los movimientos de caja,
registrando entradas y salidas de dinero.
19. Generar reportes de ventas
El sistema permitirá generar reportes de ventas por día, semana o
mes.
20. Realizar devoluciones de productos
El sistema permitirá procesar devoluciones de productos,
devolviendo el dinero o haciendo un cambio por otro producto.
21. Verificar la validez de productos
El sistema podrá verificar si un producto está en inventario y si es
válido para la venta, por ejemplo, si no está caducado.
22. Asignar promociones especiales
El sistema podrá asignar promociones especiales a productos o
categorías, aplicando descuentos o regalando productos.
23. Permitir ventas con crédito
El sistema permitirá registrar ventas a crédito, con el seguimiento
de pagos y deudas.
24. Actualizar precios de productos
El sistema permitirá modificar los precios de los productos de
acuerdo a ajustes de mercado o estrategias comerciales.
25. Visualizar el rendimiento de productos
El sistema mostrará gráficas o reportes sobre el rendimiento de
cada producto (ventas vs stock).
26. Gestionar empleados
El sistema permitirá gestionar los datos de los empleados de la
tienda (nombre, cargo, salario, etc.).
27. Asignar permisos de usuario
El sistema permitirá asignar roles y permisos para que los
empleados tengan diferentes niveles de acceso al sistema.
28. Registrar pagos parciales
El sistema podrá registrar pagos parciales en las ventas a crédito,
actualizando la deuda pendiente.
29. Gestionar los precios por proveedor
El sistema permitirá asignar precios diferentes a los productos
dependiendo del proveedor.
30. Verificar inventario mínimo
El sistema alertará cuando un producto alcance su nivel mínimo de
inventario para que sea reabastecido.
Requerimientos No Funcionales
1. Interfaz amigable
El sistema debe contar con una interfaz clara y sencilla,
preferentemente en consola para facilidad de uso.
2. Persistencia de datos
Los datos de productos, ventas y clientes deben ser guardados en
archivos o bases de datos para no perderse al cerrar el programa.
3. Búsqueda eficiente
El sistema debe permitir búsquedas rápidas por nombre o
categoría de producto para facilitar el acceso a la información.
4. Rendimiento aceptable
El sistema debe cargar completamente y estar listo para usarse en
menos de 3 segundos desde su ejecución.
5. Estructura orientada a objetos
El desarrollo debe seguir los principios de programación orientada
a objetos para lograr un diseño modular y escalable.
6. Seguridad en el acceso
El sistema debe contar con un control de acceso por usuario y
contraseña para proteger la información sensible.
7. Escalabilidad
El sistema debe ser capaz de soportar un incremento en la
cantidad de productos, clientes y ventas sin una disminución en el
rendimiento.
8. Multiplataforma
El sistema debe ser compatible con diferentes sistemas
operativos, como Windows, Linux y MacOS, para mayor
accesibilidad.
9. Documentación completa
El sistema debe tener una documentación técnica completa que
explique su funcionamiento y estructura de código.
10. Facilidad de mantenimiento
El sistema debe estar diseñado de manera que sea fácil de
mantener y actualizar, añadiendo nuevas funcionalidades o
corrigiendo errores.
11. Respaldo automático de datos
El sistema debe realizar copias de seguridad automáticas de los
datos, como productos, ventas y clientes.
12. Accesibilidad
El sistema debe ser accesible para personas con discapacidades,
por ejemplo, proporcionando soporte para lectores de pantalla.
13. Disponibilidad
El sistema debe estar disponible y operativo durante el 99.9% del
tiempo.
14. Confiabilidad
El sistema debe ser confiable, con un bajo índice de errores y fallas
durante su uso.
15. Optimización de recursos
El sistema debe estar optimizado para utilizar de manera eficiente
los recursos del sistema (memoria, CPU).
16. Pruebas unitarias
El sistema debe tener pruebas unitarias que garanticen la calidad
y el buen funcionamiento del código.
17. Interoperabilidad
El sistema debe poder integrarse con otros sistemas existentes,
como sistemas de contabilidad o software de gestión de
inventarios.
18. Manejo de errores
El sistema debe manejar adecuadamente los errores, mostrando
mensajes claros y comprensibles para el usuario.
19. Recuperación ante fallos
El sistema debe ser capaz de recuperar datos y continuar su
operación en caso de fallos del sistema o apagones.
20. Tiempo de respuesta rápido
El sistema debe ofrecer tiempos de respuesta rápidos para
operaciones como la búsqueda de productos o el registro de
ventas.
21. Redundancia de datos
El sistema debe almacenar los datos en múltiples ubicaciones para
asegurar la disponibilidad y evitar pérdidas.
22. Soporte a múltiples usuarios
El sistema debe permitir que varios usuarios trabajen de forma
simultánea sin afectar el rendimiento.
23. Actualización sencilla
El sistema debe permitir actualizarse de manera sencilla, sin
interrumpir el servicio.
24. Interfaz intuitiva
La interfaz de usuario debe ser intuitiva y fácil de entender, para
que cualquier persona pueda usar el sistema sin una curva de
aprendizaje pronunciada.
25. Manejo eficiente de la base de datos
El sistema debe tener consultas rápidas y bien optimizadas para
evitar cuellos de botella en la base de datos.
26. Cumplimiento de normas fiscales
El sistema debe cumplir con las normativas fiscales locales para la
generación de facturas y el manejo de impuestos.
27. Recursos de soporte
El sistema debe contar con soporte técnico o ayuda en línea para
resolver problemas técnicos o de uso.
28. Versionamiento del código
El código debe ser versionado y guardado en un sistema de control
de versiones para facilitar su desarrollo y mantenimiento.
29. Compatibilidad con dispositivos de pago
El sistema debe ser compatible con dispositivos como terminales
de pago con tarjeta.
30. Auditoría de operaciones
El sistema debe llevar un registro detallado de todas las
operaciones realizadas, como ventas y cambios en el inventario.