falta: - [ ] Poner en claro las relaciones que no estan bien especificadas (multiplicidad, y navegabilidad - [ ] Poner lote como clase intermedia al presupuesto y producto - [ ] CATEgorias - [ ] armar un tablero kanban con esto - [ ] mejorar la narrativa (probablemente saque las imagenes y ponga en texto) - [ ] añadir remitos ( y investigar que son ) - [ ] eliminar clase venta por ser parte de la factura
4.7 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 son Mayoristas que aún no tengan un sistema para:
- Gestionar el stock de mercaderia restante, (Ventas y Compras).
- Registro de Productos en venta, sus respectivos proveedores, Y los presupuestos que nos dan estos para reponer nuestro stock.
- Almacenar las ventas realizadas a clientes.
y esten en busqueda de Digitalizar o Automatizar dichas secciones de su negocio.
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 se efectue una venta, El sistema creará una factura con sus detalles y se deducirá tantos productos del registro en el stock, como los especificados en los detalles de la venta.
Control de Stock (Compra)
Se podrá seleccionar un producto y elejir cual de las diferentes ofertas (Presupuestos) dadas por los proveedores vamos a comprar para reponer nuestro stock.
Una vez confirmada la compra el stock de un producto se incrementará por la cantidad de productos comprados y se agregara el lote de la compra para una mejor organizacion de los productos en el programa