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