swt23w23/src/main/asciidoc/models/design/order.puml

64 lines
1.5 KiB
Plaintext
Raw Normal View History

2023-11-02 06:33:27 +01:00
@startuml
'maybe for mathis kral since he did videoshop:order-limit'
'maybe for eren since he did videoshop:clickable-cart-item'
'maybe for erik since he did videoshop:cart-remove'
skinparam linetype ortho
skinparam groupInheritance 2
package Spring {
interface Model
}
package Salespoint {
interface OrderManager <<"T > Order">>
2023-11-02 06:33:27 +01:00
class Cart
class Cash
class Order
class Quantity
class UserAccount
enum OrderStatus
}
package catering.catalog {
class Consumable
class Rentable
2023-11-02 19:27:27 +01:00
class MultiProduct {
+ getPrice()
}
class Employee {
+ getMaxHours()
+ getSalaryPerHour()
}
note "this could work" as myNote
2023-11-03 11:13:08 +01:00
MultiProduct -up-|> Salespoint.Product
MultiProduct "1" o-- "*" Employee
MultiProduct "1" o-- "*" Consumable
MultiProduct "1" o-- "*" Rentable
2023-11-02 19:27:27 +01:00
myNote .- Employee
2023-11-02 06:33:27 +01:00
}
package catering.order {
class OrderController {
+ OrderController()
+ initializeCart() : Cart
+ addProduct(product : Product, amount : int, cart: Cart)
+ buy(cart : Cart, userAccount : UserAccount) : String
+ orders(model : Model) : String
}
2023-11-02 19:27:27 +01:00
OrderController --> OrderManager : "-orderManager"
OrderController ..> Model
OrderController ..> UserAccount
OrderController ..> Order
OrderController ..> OrderStatus
OrderController ..> Cash
OrderController ..> Quantity
OrderController ..> Cart
2023-11-03 11:13:08 +01:00
OrderController ...> catering.catalog.MultiProduct
2023-11-02 06:33:27 +01:00
}
@enduml