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
2024-01-15 15:12:52 -03:00

140 lines
4.5 KiB
Org Mode

#+title: Proyecto Final OOP
#+author: Federico Polidoro & Ignacio Diana
#+options: date:nil
#+LATEX_HEADER: \usepackage{svg}
* 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:
#+begin_src plantuml :file ProductoIngreso.svg
@startuml
class Producto {
+ Nombre: string
+ Precio: double
+ Habilitado: bool
}
@enduml
#+end_src
#+ATTR_LATEX: :width 8cm
#+RESULTS:
[[file:ProductoIngreso.svg]]
Además de en caso de ser percedero se requerirá una fecha de caducacidad:
#+begin_src plantuml :file ProductoPercedero.svg
@startuml
class ProductoPercedero {
+ FechaConsumoPreferente: DateTime
+ FechaVencimiento: DateTime
}
class Producto {}
Producto <|-- ProductoPercedero
@enduml
#+end_src
#+ATTR_LATEX: :width 8cm
#+RESULTS:
[[file:ProductoPercedero.svg]]
Mientras que uno *no* percedero necesita fecha de Elaboracion también:
#+begin_src plantuml :file ProductoNoPercedero.svg
@startuml
class ProductoNoPercedero {
+ FechaElaboracion: DateTime
}
class Producto {}
Producto <|-- ProductoNoPercedero
@enduml
#+end_src
#+ATTR_LATEX: :width 8cm
#+RESULTS:
[[file: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:
#+begin_src plantuml :file ProveedorCarga.svg
class Proveedor {
+ id: int
+ Nombre: string
+ RazónSocial: string
}
#+end_src
#+ATTR_LATEX: :width 5cm
#+RESULTS:
[[file: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.
#+begin_src plantuml :file Presupuesto.svg
class Presupuesto {
+ id: int
+ Proveedor: Proveedor
+ Monto: int
+ Cantidad: int
}
#+end_src
#+ATTR_LATEX: :width 5cm
#+RESULTS:
[[file: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:
#+begin_src plantuml :file ClienteRegistro.svg
class Cliente {
+ Cuit: int
+ Nombre: string
+ Apellido: string
+ Direccion: string
+ Correo: string
}
#+end_src
#+ATTR_LATEX: :width 5cm
#+RESULTS:
[[file: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.