arreglado el diagrama de clases sin repositorios

This commit is contained in:
2024-01-29 12:56:15 -03:00
parent d1d217168a
commit 128486b84c
3 changed files with 108 additions and 26 deletions

View File

@@ -193,6 +193,15 @@ Detalle --> Producto
#+RESULTS: #+RESULTS:
[[file:DiagramaConRepos.jpg]] [[file:DiagramaConRepos.jpg]]
* Diagrama de clases sin Repositorios * Diagrama de clases sin Repositorios
#+begin_src plantuml :file DiagramaSinRepos.jpg #+begin_src plantuml :file DiagramaSinRepos.jpg
@startuml @startuml
@@ -215,13 +224,11 @@ class Producto {
+ Nombre: string + Nombre: string
+ Precio: double + Precio: double
- Categorias: List<Categoria>? - Categorias: List<Categoria>?
- Lotes: List<Lote>?
+ Habilitado: bool + Habilitado: bool
+ MostrarLotesDeProductos(): ReadOnlyCollection<Lote> + MostrarCategoriasDeProductos(): ReadOnlyCollection<Categoria>
+ AñadirLotesStock(): bool + AñadirCategoriasStock(): bool
+ EliminarLotesStock(): bool + EliminarCategoriasStock(): bool
+ MostrarStockRemanente(): long
} }
class Categoria { class Categoria {
@@ -229,18 +236,16 @@ class Categoria {
+ Descripcion: String + Descripcion: String
} }
Categoria "0..*" <--o "1 ." Producto
class Presupuesto { class Presupuesto {
+ Id: int + Id: int
+ Fecha: DateTime
+ Proveedor: Proveedor + Proveedor: Proveedor
+ Monto: int
+ CantIdad: int
+ Habilitado: bool + Habilitado: bool
} - Detalles: List<DetallePresupuesto>
Presupuesto "1" --> "1..*" Lote + MostrarDetalles(): ReadOnlyCollection<DetallePresupuesto>
Proveedor "1" <-- "1 ." Presupuesto + AñadirDetalle(DetallePresupuesto): bool
}
class Proveedor { class Proveedor {
+ Id: int + Id: int
@@ -249,12 +254,10 @@ class Proveedor {
+ Habilitado: bool + Habilitado: bool
} }
class Detalle <where T: Producto>{ class DetalleVenta {
+ Id: int + IdFactura: int
+ CantIdad: int
+ PrecioUnitario: double + PrecioUnitario: double
+ Subtotal: double + Subtotal: double
+ Producto: T
} }
class Cliente { class Cliente {
@@ -265,28 +268,44 @@ class Cliente {
+ Correo: string + Correo: string
} }
class Detalle <where T: Producto>{
+ Id: int
+ Producto: T
+ Cantidad: int
}
class Factura { class Factura {
+ Total: double + Total: double
+ Fecha: DateTime + Fecha: DateTime
+ Cliente: Cliente + Cliente: Cliente
- Detalles: List<Detalle> - detalles: List<DetalleVenta>
+ MostrarDetalles(): ReadOnlyCollection<Detalle> + MostrarDetalles(): ReadOnlyCollection<DetalleVenta>
+ AñadirDetalle(Detalle): voId + AñadirDetalle(DetalleVenta): void
+ ModificarDetalle(Detalle): voId + ModificarDetalle(DetalleVenta): void
+ EliminarDetalle(Detalle): voId + EliminarDetalle(DetalleVenta): void
} }
Cliente "1" <-- "1" Factura class DetallePedido {
Factura "1 ." *-- "1..*" Detalle + IdPedido: int
}
Detalle "1 ." --> "1" Producto class PedidoDePresupuesto {
+ Id: int
+ Fecha: DateTime
- detallesPedidos: List<DetallePedido>
+ Proveedor: Proveedor
+ MostrarDetalles(): ReadOnlyCollection<DetallePedido>
+ AñadirDetalle(DetallePedido): void
+ EliminarDetalle(DetallePedido): void
}
Producto "1" --> "1" Lote
class Lote { class Lote {
+ Id: int + Id: int
+ Fecha: DateTime
+ Producto: Producto + Producto: Producto
+ CantIdadDeProductos: long + CantidadDeProductos: long
+ Habilitado: bool + Habilitado: bool
} }
@@ -296,10 +315,73 @@ Enlatado,
Cartón, Cartón,
} }
class DetallePresupuesto {
+ IdPresupuesto: int
+ CostoUnitario: double
+ Aceptado: bool
}
class OrdenDeCompra {
+ Id: int
- Productos: List<DetalleOrdenDeCompra>
+ Proveedor: Proveedor
+ MostrarDetalles(): ReadOnlyCollection<DetalleOrdenDeCompra>
+ AñadirDetalle(DetalleOrdenDeCompra): bool
+ ModificarDetalle(DetalleOrdenDeCompra): bool
+ EliminarDetalle(DetalleOrdenDeCompra): bool
}
class DetalleOrdenDeCompra {
+ IdOrdenDeCompra: int
}
class Remito {
+ Id: int
- LotesDeProductosEntregados: List<Lote>
+ Proveedor: Proveedor
+ MostrarLotes(): ReadOnlyCollection<Lote>
+ AñadirLote(Lote): bool
}
Detalle <|-- DetalleOrdenDeCompra
Detalle <|-- DetallePedido
Detalle <|-- DetalleVenta
Detalle <|-- DetallePresupuesto
Presupuesto "1" *--> "1..*" DetallePresupuesto
PedidoDePresupuesto "1" --> "1" Proveedor
PedidoDePresupuesto "1" *--> "1..*" DetallePedido
PedidoDePresupuesto "1" --> "1" Presupuesto
OrdenDeCompra "1" --> "1" Proveedor
OrdenDeCompra "1" *--> "1..*" DetalleOrdenDeCompra
Remito "1" --> "1" Proveedor
Remito "1" *--> "1..*" Lote
Producto "1" <-- "1..*" Lote
ProductoNoPercedero "1" --> "1" EnvaseTipo ProductoNoPercedero "1" --> "1" EnvaseTipo
Cliente "1" <-- "1" Factura
Factura "1 ." *--> "1..*" DetalleVenta
DetalleVenta "1 ." --> "1" Producto
Proveedor "1" <-- "1 ." Presupuesto
Categoria "0..*" <--o "1 ." Producto
@enduml @enduml
#+end_src #+end_src
#+RESULTS: #+RESULTS:
[[file:DiagramaSinRepos.jpg]] [[file:DiagramaSinRepos.jpg]]
#+begin_comment
Presupuesto "1" --> "1..*" Lote
#+end_comment

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 194 KiB

BIN
final.pdf

Binary file not shown.