Files
Final_Das/final.org
2024-01-15 15:12:52 -03:00

4.5 KiB

Proyecto Final OOP

Sistema de Gestion de Stock y Proveedores 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

ProductoIngreso.svg

Además de en caso de ser percedero se requerirá una fecha de caducacidad:

@startuml
class ProductoPercedero {
+ FechaConsumoPreferente: DateTime
+ FechaVencimiento: DateTime
}

class Producto {}
Producto <|-- ProductoPercedero
@enduml

ProductoPercedero.svg

Mientras que uno no percedero necesita fecha de Elaboracion también:

@startuml
class ProductoNoPercedero {
+ FechaElaboracion: DateTime
}

class Producto {}
Producto <|-- ProductoNoPercedero
@enduml

ProductoNoPercedero.svg

NOTA: no es necesario cargar los presupuestos que nos hacen los proveedores por renovar el stock de un producto pero es recomendado para que sea más facil calcular los gastos de esa operacion.

Registro de proveedores

Los proveedores se pueden cargar en el sistema, y cada proveedor nos da un presupuesto para renovar el stock de un producto.

Para cargar un Proveedor en el sistema se necesita:

class Proveedor {
+ id: int
+ Nombre: string
+ RazónSocial: string
}

ProveedorCarga.svg

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
}

Presupuesto.svg No permitimos que sean modificados una vez cargados.

Registro de Clientes

Para poder Registrar una Compra por parte de un cliente vamos a necesitar que el cliente en cuestión se registre en el sistema:

class Cliente {
+ Cuit: int
+ Nombre: string
+ Apellido: string
+ Direccion: string
+ Correo: string
}

ClienteRegistro.svg

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 nos llegue que se efectuó 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.