5.2 KiB
Proyecto Final OOP
- Sistema de Gestion de Stock para una Distribuidora Mayorista
Sistema de Gestion de Stock para una Distribuidora Mayorista
El target de nuestro sistema es una distribuidora. Este empresa basa sus operaciones en la compra de productos para luego ser revendidos a Minoristas. Solo Buscamos controlar el stock en un solo almacen productos.
Algunas de las funciones principales del sistema consisten en:
- Registrar Ordenes de compra para los proveedores, almacenar los presupuestos que nos dan los proveedores en base a la Orden de Compra y comprobar con el remito que el producto recibido sea la misma orden que emitimos nosotros.
- Gestionar el stock de mercaderia mercante, es decir, Registrar las compras hechas para deducir de nuestro stock remanente ( Ventas ) Y aumentar el stock mediante lo que el remito (ya asegurados de que este represente lo mismo que pedimos en la Orden de compra).
- Registro de Productos en venta, sus respectivos proveedores.
- Almacenar las ventas realizadas a clientes.
A continuacion se expandirá sobre las funcionalidades del sistema
Registro de productos en venta
La dada de alta de un producto se dividirá sobre si un producto es percedero o no requerirá de que se ingresen con los siguientes datos para registrar un producto:
@startuml
class Producto {
+ Nombre: string
+ Precio: double
+ Habilitado: bool
}
@enduml
Además de en caso de ser percedero se requerirá la cantidad de meses los cuales es recomendable que se consuma el producto y la cantidad de meses hasta que el producto llegue a su fecha de vencimiento
@startuml
class ProductoPercedero {
+ MesesHastaConsumoPreferente: int
+ MesesHastaVencimiento: int
}
class Producto {}
Producto <|-- ProductoPercedero
@enduml
Mientras que uno no percedero necesita tener especificado cual es el tipo de envase que utiliza
@startuml
class ProductoNoPercedero {
+ TipoDeEnvase
}
class Producto {}
Producto <|-- ProductoNoPercedero
@enduml
Registro de Proveedores
Registro de Presupuestos
Los presupuestos son dados por los proveedores sobre uno de los productos en venta que tenemos, para poder registrar uno este debe de estar asociado a un proveedor, mostrar el monto propuesto y la cantidad de productos ofresidos.
class Presupuesto {
+ id: int
+ Proveedor: Proveedor
+ Monto: int
+ Cantidad: int
+ activo: bool
}
No permitimos que sean modificados una vez cargados. sino que el presupuesto debe ser deshabilitado y en su lugar se debe de registrar otro más para mantener la integridad de los presupuestos cargados
Registro de Clientes
Modificar de Clientes
Esta opcion existe en caso de que se necesite cambiar los datos de Nombre, Apellido, Direccion o Correo. No es posible cambiar el Cuit.
Modificar y Baja lógica de Proveedores
Desde el sistema se podrá dar una baja lógica de un proveedor, o cambiar los datos de uno en caso de que el proveedor sea adquirido por otra empresa o cambie de nombre.
En caso de que el proveedor deje de estar en el mercado tambien es posible de darle una baja lógica en el sistema.
Baja lógica de Presupuestos
Es necesario que los presupuestos puedan ser dados de baja para que los nuevos presupuestos puedan reemplazar a los viejos.
Modificar y Baja lógica de Productos
Tanto el Nombre, Precio y sus posibles proveedores podrán ser modificados.
La Baja de un producto se hace por medio de una baja lógica.
Control de Stock (Ventas)
Cuando una Factura sea ingresada al sistema se deducirá del stock la misma cantidad de productos como los detallados en el documento de la venta.
Control de Stock (Compra)
Se podrá crear una orden de compra con los productos que estamos interesados en comprar a los proveedores. Estos nos enviarán Presupuestos de los cuales nosotros elejiremos a quien comprar.
Una vez que la mercaderia llega a nosotros se debe de comprobar que los productos del remito coinsiden con los de la orden de compra registrada. En caso de ser así los lotes de productos son registrados y contabilizados dentro de nuestro stock.