Está en la página 1de 22

UNIVERSIDAD AUTÓNOMA DEL CARMEN

DES CIENCIAS DE LA INFORMACIÓN


DESARROLLO DE APLICACIONES CON .NET

Narrativa
Sistema de Control para
Tienda de abarrotes

2 de diciembre de 2015
Sistema de Control para Tienda de abarrotes (“Narrativa”).

Descripción del Problema.

La tienda de abarrotes “La Luz” es una pequeña empresa local que


actualmente ha venido incrementando sus ventas por lo que ha optado por
manejar su inventario utilizando libros electrónicos en Excel, sin embargo,
últimamente ha estado presentando inconsistencias en los datos de su mercancía
ya que a pesar de llevar este pequeño control el registro de sus ventas lo realiza
en una libreta en la cual a veces olvidan escribir los datos de las ventas
realizadas. Es por ello que desean llevar un control más automatizado de sus
productos a la venta y en inventario, para ello la empresa ha solicitado el servicio
de un grupo de ingenieros en sistemas que les diseñe un software que les facilite
cumplir ciertas necesidades, entre ellas, dar de alta y baja a sus productos,
permitir el inicio de sesión a los usuarios administrativos y cajeros, manejar un
control de los productos mediante códigos de tal manera que al realizar una venta
con solo registrarla en el sistema este sea descontado de su inventario y se
muestren los detalles de dichas ventas.

El gerente nos ha proporcionado la siguiente información acerca de sus productos


y empleados.

Productos

Estos son caracterizados por estar registrados mediante:

o Nombre
o cantidad en gramos o litros
o cantidad en existencia
o fecha de adquisición
o precio de compra
o precio de venta
o tipo

Para cada producto el gerente de la tienda lleva un control en el cual añadía


productos al inventario, eliminaba algún producto o en su defecto modificaba la
cantidad disponible. Además, cada que los cajeros realizaban una venta estos se
encargaban de descontar de la cantidad total del inventario.

Usuarios.

Actualmente el gerente tiene una pequeña relación donde tiene el registro de sus
empleados en contacto con la información de ventas y los datos que maneja son
los siguientes:

o nombre
o apellidos
o teléfono
o domicilio
o fecha de nacimiento

Cada empleado registrado en la tabla tiene la capacidad de manipular los datos de


los registros, sin embargo, no todos tienen los mismos privilegios ya que solo el
administrador tenía permiso de añadir nuevos productos o incrementar la cantidad
de los mismos.
Requerimientos del Cliente.

La empresa desea el desarrollo de un sistema que les permita controlar:

o La información productos.
o La visualización de la información de todos los productos y por tipo.
o Los datos de cada producto, para cada categoría, como son: código del
producto (dicha clave puede ser generada automáticamente por el sistema),
nombre, cantidad en existencia, stock máximo y mínimo, marca, descripción
del producto, cantidad del producto (gramos o litros), fecha de adquisición,
cantidad vendida, tipo, precio de compra y de venta.
o Los datos de cada usuario del sistema, entre los cuales se encuentran: id o
nombre de usuario, contraseña, nombre, puesto y la categoría del usuario.
o Los roles que cada usuario tendrá en el sistema, mediante un inicio de
sesión. Esto con el fin de que solo los administradores puedan modificar la
información y en su caso los cajeros solo registrar ventas que descontaran
productos del inventario.
o Los datos de las ventas realizadas con sub total, IVA y el total de la venta.
o Detalle de las ventas realizadas mediante una tabla con productos vendidos
de la venta seleccionada.
o Detalle de pedidos realizados con fecha, descripción, total y la clave del
administrador que hizo el pedido.
o Descontar los productos vendidos del inventario automáticamente.
Procesos.

Añadir información de los productos. El administrador es encargado de añadir


los productos al sistema para evitar que cualquier cajero acceda a esta parte del
sistema, primeramente, el administrador deberá identificarse mediante un inicio de
sesión. Posteriormente, en la pantalla principal el administrador podrá añadir un
nuevo producto o en su defecto modificar uno mediante las ventanas de registros
para los productos. En dichas ventanas de registro el usuario puede agregar,
modificar o eliminar productos y estas a su vez abrirán otras ventanas con
características propias para cada operación. Cuando el administrador añade un
nuevo producto especifica los datos correspondientes para cada producto:
nombre, cantidad en existencia, stock máximo y mínimo, marca, descripción del
producto, cantidad del producto (gramos o litros), fecha de adquisición, precio de
compra y de venta; además especifica una tipo de producto.

Modificar información de los productos. Cuando el administrador desea


aumentar la cantidad de productos en inventario, especifica la categoría del
producto al acceder al área de productos y una vez localizado dicho producto
mediante su código de producto modifica la cantidad del producto en la ventana de
editar productos, y en algunos casos los precios de venta y de compra.

Eliminar información de los productos. Cuando la tienda ya no comercializa


ciertos productos estos son eliminados del inventario, por lo que para ello el o los
administradores seleccionan la categoría del producto en cuestión y una vez
localizado en los registros mediante la opción eliminar, se borra toda la
información del producto.
Añadir usuarios al sistema. De igual manera que en los productos, los usuarios
se visualización mediante una ventana de registro de usuarios, en esta el sistema
le permite al administrador añadir, eliminar, modificar los datos de un usuario.
Cuando un usuario es agregado al sistema se le solicita al administrador el id o
nombre de usuario, contraseña, nombre, apellido, domicilio, teléfono y la categoría
del usuario. Una vez ingresada la información anterior esta se puede guardar y los
usuarios pueden ingresar al sistema en cuestión.

Editar y eliminar usuarios. Mediante el registro de usuarios un administrador


puede editar o eliminar la información de un usuario. Para ello solo tiene que
localizarlo en el registro y seleccionar la opción editar o eliminar, si desea editarlo
solo podrá cambiar la contraseña de dicho usuario; si desea eliminarlo solo basta
con seleccionar dicha opción y confirmar que desea eliminar la información del
usuario en el cuadro de dialogo que le aparece.

Registrar una venta. Los usuarios del sistema categorizados como cajeros solo
pueden ingresar al área de ventas y tendrán disponibles las opciones para
ingresar nuevas ventas. En esta ventana solo podrán registrar una venta
especificando el código del producto vendido, el cajero puede agregar el código y
la cantidad del producto vendido mediante un cuadro de texto y cada que presione
enter esta información se va almacenando temporalmente y mostrando en pantalla
con el respectivo precio de los productos, una vez terminada la captura de los
productos el usuario ingresara el monto de dinero recibido y posteriormente hará
click en generar nota de venta una vez hecho esto automáticamente el sistema
calculara el cambio que el cajero deberá entregar al cliente. En dado caso que el
cajero desee eliminar algún producto de la nota solo bastará con ingresar el
código en el área para eliminar el producto de la lista o bien seleccionándolo de la
lista y no será contabilizado en la venta.
Una vez generado el ticket este se imprime y la información
correspondiente es almacenada en la base de datos, en los registros de ventas y
el inventario de productos descuenta la cantidad de productos vendida.

Registrar un pedido. El cliente ha solicitado en su nuevo sistema, llevar un


registro de los pedidos que los administradores realizan, al cliente le interesa que
se registre la fecha de dicho pedido y su descripción donde se detallara lo
solicitado por el administrador, también el costo y el identificador del administrador
que haya realizado dicha acción. Estos pedidos se podrán visualizar en una tabla
de pedidos para donde solo podrán ser eliminados.

Generar informes de ventas. El administrador podrá generar informes de ventas


en los cuales podrá ver las ventas realizadas y los productos vendidos y el cajero
que realizo la venta. Los registros de ventas no pueden ser editados, solo
eliminados. Una venta debe estar compuesta por un id o clave, fecha, total y el
cajero que la realizo, además debe tener asociados los productos que se hayan
vendido en ella.
Identificación de las Clases.

En el apartado anterior se detallaron los procesos que el usuario requiere que el


sistema le facilite, por ello, resaltamos en el texto algunas palabras que nos
permitirán identificar las clases con sus respectivas propiedades para el desarrollo
del sistema.

Lista de palabras clave para posibles Clases, Atributos y Métodos.

Clase Atributo Método


Administrador Nombre Añadir
Producto Clave Identificar
Venta Cantidad máxima Eliminar
Usuario Cantidad mínima Ingresar
Pedido Cantidad en existencia Agregar
Cantidad en
Guardar
gramos/litros
Precio de compra Generar
Precio de venta Imprimir
Tipo
Apellido
Teléfono
Domicilio
Id
Nombre de usuario
Categoría
Contraseña
Código del producto
Cantidad del producto
Cajero
Fecha
Total

En base a la identificación se generaron las siguientes clases principales


para la aplicación.
Clase Producto

La clase producto es la que contiene la información de todos los productos


registrados la clase producto quedo conformada de la siguiente manera según los
requerimientos del cliente.

Como atributos tenemos:

o Clave o id del producto


o Nombre
o Fecha de adquisición
o Precio de compra
o Precio de venta
o Cantidad máxima
o Cantidad mínima
o Cantidad en existencia
o Cantidad o unidad de medida
o Id o tipo del producto

En cuanto a métodos, la clase producto hace uso de métodos get y set mediante
propiedades que nos permiten mantener la privacidad de los datos manejados por
los objetos creados a partir de esta clase, sin embargo, existe una clase de control
que se encargara de manipular a estos objetos, esta clase y las correspondientes
a las demás clases de control se explicaran al final de la descripción de las clases
principales.

Clase Usuario

La clase usuario es la que almacenara datos personales y de inicio de sesión para


los usuarios esta clase se conforma de los siguientes atributos:

o Clave o id de usuario
o Nombre
o Apellidos
o Teléfono
o Domicilio
o Fecha de nacimiento
o Rol o categoría
o Nombre de usuario
o Contraseña

Esta clase nos permitirá crear objetos de tipo usuario para manipular los datos
entre la interfaz y la base de datos. Esto a través de una clase de control.

Clase Venta

Cuenta con los datos de las ventas realizadas esta clase tiene pocos atributos
mostrados a continuación:

o Id o clave de venta
o Total, de la venta
o Fecha
o Id de usuario

Clase pedido

La clase pedido es la que nos permitirá manipular los pedidos realizados por los
administradores cuenta con atributos como son:

o Clave o id de pedido
o Fecha
o Descripción
o Costo
o Clave o id del administrador

Las siguientes clases, son las que permiten controlar los objetos creados por las
clases principales estas clases cuentan con métodos para cada uno de los
objetos, sin embargo, tienen en común muchos de ellos con la variación de los
parámetros recibidos.

Clase control producto

Esta clase se encarga de realizar los movimientos en la tabla productos, cuando


un administrador ingresa al sistema esta clase facilitara las tareas con los
siguientes métodos:

o BuscarProductoN: permite hacer una búsqueda con ciertos detalles


para la ventana de venta.
o BuscarProductoN2: permite hacer búsquedas en la ventana de
productos.
o Editar producto: facilita la edición de los datos de un producto.
o Eliminar producto: borra toda la información del producto.
o Nuevo producto: permite agregar los datos de un producto deseado
o Disminuir venta: disminuye la cantidad de producto vendida en una
venta confirmada.
o MostrarP
o MostrarT
o MostrarTC
o MostrarTP
o MostrarUM

Los últimos métodos son los que permiten obtener datos para llenar los combos
boxes al momento de manipular los datos en las ventanas.
Clase control usuario

Permite manipular la información entre los métodos que tiene se encuentran:

o Nuevo usuario: permite insertar un usuario especificado a la base de


datos.
o Editar usuario: actualiza los datos del usuario dado.
o Eliminar usuario
o Mostrar usuarios: devuelve un listado de todos los usuarios con ciertos
campos.
o ObtenerRol
o ObtenerU

Los dos últimos métodos datos sobre los roles y nombres de usuario para
manipular datos en las ventanas sobre el área de usuarios.

Clase control venta

Facilita las operaciones con la tabla de ventas nos permite:

o Nuevo venta
o Eliminar venta
o MostrarProductosV: muestra los productos vendidos en cierta venta
o MostrarVentas: muestra las ventas realizadas con los datos
especificados en la consulta de sql.

Clase control pedido

Permite la manipulación de los pedidos mediante los siguientes métodos:


o Agregar pedido
o Eliminar pedido
o Mostrar pedidos
o BuscarPedido: usada más que nada para verificar si un pedido
seleccionado para eliminación o edición se encuentra registrado en la
base de datos.

Clase control PVendido

Permite la manipulación de los productos ingresados a una venta para


posteriormente guardarlos como parte de la venta y descontar la cantidad vendida
de la tabla de productos. Cuenta con el siguiente método.

o NuevoVendido: es el encargado de manipular los datos de los


productos ingresados a la lista de ventas, para que una vez ejecutado
el pago se almacene el id del producto y la cantidad vendida a la tabla
productos vendidos resultado de la relación entre las tablas producto y
ventas. Posteriormente se hace uso del método disminuir venta de la
clase de control producto.
Propuesta de solución

De acuerdo a las necesidades del cliente lo que grupo ellos requieren es el


desarrollo de una aplicación de escritorio que permita llevar un control de toda la
información relacionada con su inventario, ventas, pedidos y usuarios de dicha
aplicación en una base de datos. Dicho sistema también debe generar informes o
vistas, permitir edición de los datos, así como su eliminación.
Para ello proponemos la creación de una base de datos con las tablas
correspondientes para cada área, así como los catálogos que sean necesarios
para la manipulación de la información manejada por el cliente.
Después de la creación de la base de datos será necesario la construcción de
una interfaz que permita al cliente interactuar con la aplicación, para ello usaremos
el lenguaje de programación “visual basic”, mediante el cual se elaboraran las
siguientes interfaces:

1. Ventana Principal
Como se aprecia en la imagen la ventana principal consta de un apartado para
iniciar sesión, esto mediante el uso de paneles que posteriormente mostraran una
ventana con los botones para acceder a las diferentes áreas de la aplicación.

Cada uno de los iconos es un botón para el acceso a dichas áreas, cabe
mencionar que una vez que el usuario sesión la verificación de sus datos y su rol
permiten que ciertos botones estén activos para cada rol, la vista de arriba es la
vista de un administrador.
2. Ventana Listado de Productos.

En esta ventana se muestra un listado de todos los productos que a su vez puede
ser filtrado por categoría. Además, mediante el cuadro de búsqueda los productos
que vayan coincidiendo con la palabra ingresada serán mostrados en la tabla de
productos.

3. Ventana Agregar Productos

La ventana mostrada es la que permite ingresar nuevos productos a la base de


datos de la aplicación cuenta con campos de texto y listas desplegables para
información específica con respecto a los productos. Una vez que el usuario
termina de llenar los datos, debe hacer clic en el botón guardar, siempre y cuando
no se detecte un error en la información se guardaran los datos ingresados en la
base de datos.
4. Ventana Editar Producto

Esta ventana es similar a la ventana agregar producto, sin embargo, funciona de


manera diferente ya que previamente se cargan los datos del producto en cuestión
para su posterior edición, nótese que a diferencia de la ventana agregar producto,
en esta no se muestra el campo para la fecha ya que no se puede modificar según
requerimientos del cliente. De igual manera hay un botón que verifica y
posteriormente guarda la información de estar correctamente ingresada
5. Ventana Venta

Esta ventana es la que permite a todos los usuarios registrar nuevas ventas en
el sistema para ello cuenta con un área para ingresar los productos que vayan a
ser vendidos, los botones junto al cuadro de texto tienen funciones específicas
para hacer más fácil el trabajo del usuario. La idea es que al utilizar el botón
agregar, mediante la especificación previa del código de producto este sea
agregado a la lista mostrada en la parte central de la ventana. Otra cosa muy
importante es la búsqueda de productos en dado caso que el cajero o
administrador que esté realizando una venta no recuerde el código para ello el
cuadro de texto les permite realizar búsquedas instantáneas automáticamente al
escribir algo en él. Los productos se muestran en una pequeña tabla y la lista de
los productos solo se oculta momentáneamente; en la imagen de abajo se puede
apreciar una búsqueda con solo productos que contienen la letra a en su nombre
cabe mencionar que para agregar el producto forzosamente el usuario debe
ingresar su código y presionar el botón agregar de lo contrario el producto no se
agregara a la venta.
Por otro lado, el botón borrar elimina todos los datos del cuadro de texto en
dado caso que el usuario haya escrito un nombre largo, con esto facilita la rapidez
de la venta. El botón eliminar permite la eliminación de los productos en la lista de
la compra es importante mencionar que para eliminar el producto se debe
seleccionar la fila completa perteneciente al producto. Por último, el botón pagar
realiza la transacción correspondiente y ejecuta los métodos para guardar los
datos una vez que se ha ingresado el dinero recibido por el cliente.

6. Ventana Listado de Ventas

Muestra la lista de todas las ventas realizadas y permite agregar, eliminar y


mostrar el detalle de la venta mediante la barra de menú.

7. Ventana Productos Vendidos


Muestra un listado de los productos vendidos pertenecientes a una venta, esta
ventana se abre a partir de la ventana listado de ventas y no posee ningún meno o
botón para la realización de trabajos de edición.

8. Ventana Listado de Pedidos

Esta ventana nos muestra un informe de todos los pedidos realizados con sus
respectivos datos de igual manera que sus ventanas hermanas, tiene una barra de
menú que permite agregar o eliminar registros, sin embargo, no existe la edición
ya que no está contemplada por el usuario, de igual manera, la búsqueda no fue
implementada en esta interfaz ya que los pedidos no suelen ser demasiados.
9. Ventana Agregar Pedido

Esta ventana facilita el registro de nuevos pedidos, tiene campos específicos para
el tipo de datos a manejar y un botón de guardado que verifica y posteriormente
guardar la información.

10. Listado de usuarios

El listado de usuarios se visualiza en una ventana similar a las otras que muestran
listados, tienen los menús propios para los usuarios con iconos y además como
las demás ventanas cuenta con un botón actualizar visualizar las modificaciones
hechas tras una actualización, eliminación o ingreso de información. La ventana
de usuarios, no tiene área de búsqueda ya que los empleados en la tienda no son
demasiados por lo que el cliente no ha solicitado esta herramienta.
11. Ventanas para agregar y editar usuario
Ventana agregar usuario

Ventana editar usuario.

Ambas ventanas agregar y editar (mostradas anteriormente) usuario permiten


ingresar y modificar información sobre un usuario, son idénticas en cuanto a
campos, además de poseer el botón de guardado que verifica y guarda la
información correcta, de lo contrario especificara el campo donde encuentre el
error.

También podría gustarte