This repository has been archived on 2024-08-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Final_OOP/final.org
fede 81f151ad44 arreglos hechos durante la clase consulta de laureano
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
2024-01-17 15:57:44 -03:00

4.7 KiB

Proyecto Final OOP

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

ProductoIngreso.svg

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

ProductoPercedero.svg

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

ProductoNoPercedero.svg

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
+ activo: bool
}

Presupuesto.svg 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

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 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