mirror of
https://github.com/st-tu-dresden-praktikum/swt23w23
synced 2024-07-19 21:04:36 +02:00
Add proposals for packaging
This commit is contained in:
parent
e49cd6c3c5
commit
1f9d756fa9
57
src/main/asciidoc/models/design/catalog.puml
Normal file
57
src/main/asciidoc/models/design/catalog.puml
Normal file
|
@ -0,0 +1,57 @@
|
|||
@startuml
|
||||
skinparam linetype ortho
|
||||
skinparam groupInheritance 2
|
||||
|
||||
package Spring {
|
||||
interface Model
|
||||
class Sort
|
||||
}
|
||||
|
||||
package Salespoint {
|
||||
interface Catalog << T > Product >>
|
||||
interface DataInitializer
|
||||
interface Inventory << T > InventoryItem >>
|
||||
class Product
|
||||
' + has price,name and categories : Iterable'
|
||||
class Quantity
|
||||
}
|
||||
|
||||
package catering.catalog {
|
||||
interface CateringCatalog {
|
||||
+ DEFAULT_SORT : Sort
|
||||
+ findByType(type, sort : Sort) : Iterable
|
||||
+ findByEventType(type) : Iterable
|
||||
}
|
||||
class CatalogController {
|
||||
+ CatalogController()
|
||||
+ eventcateringCatalog(model : Model) : String
|
||||
+ partyserviceCatalog(model : Model) : String
|
||||
+ mobilebreakfast(model : Model) : String
|
||||
+ rentacookCatalog(model : Model) : String
|
||||
}
|
||||
class Consumable {
|
||||
wholesalePrice
|
||||
retailPrice
|
||||
promotionPrice [0..1]
|
||||
}
|
||||
class Rentable {
|
||||
pricePerHour
|
||||
}
|
||||
}
|
||||
|
||||
CateringCatalog --o "-catalog" CatalogController
|
||||
'- for listing entries to customers'
|
||||
|
||||
Inventory "- inventory" <-- CatalogController
|
||||
'- for checking availabilty'
|
||||
|
||||
Model "use" <.. CatalogController
|
||||
'- for generating html for a view'
|
||||
|
||||
|
||||
Catalog <.. "<bind> <T->Product" CateringCatalog
|
||||
|
||||
Product <|-- Consumable
|
||||
Product <|-- Rentable
|
||||
|
||||
@enduml
|
BIN
src/main/asciidoc/models/design/catalog.svg
(Stored with Git LFS)
Normal file
BIN
src/main/asciidoc/models/design/catalog.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
46
src/main/asciidoc/models/design/inventory.puml
Normal file
46
src/main/asciidoc/models/design/inventory.puml
Normal file
|
@ -0,0 +1,46 @@
|
|||
@startuml
|
||||
'maybe for sbruder since he did videoshop:inventory-increment'
|
||||
'maybe TR0N-ZEN since he did videoshop:keyword-search'
|
||||
skinparam linetype ortho
|
||||
skinparam groupInheritance 2
|
||||
|
||||
package Spring {
|
||||
interface Model
|
||||
'havent used Assert yet as in example'
|
||||
}
|
||||
|
||||
package Salespoint {
|
||||
interface DataInitializer
|
||||
class Quantity
|
||||
interface UniqueInventory << T > UniqueInventoryItem >>
|
||||
class UniqueInventoryItem
|
||||
}
|
||||
|
||||
package catering.catalog {
|
||||
interface CateringCatalog
|
||||
}
|
||||
|
||||
package catering.inventory {
|
||||
class InventoryController {
|
||||
+ InventoryController(inventory : UniqueInventory)
|
||||
+ stock(model : Model) : String
|
||||
}
|
||||
class InventoryInitializer {
|
||||
+ InventoryInitializer(inventory : UniqueInventory, catalog : CateringCatalog)
|
||||
+ initialize() : void
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
CateringCatalog "1 -cateringCatalog" <-- InventoryInitializer
|
||||
DataInitializer <|.. InventoryInitializer
|
||||
Quantity <.. InventoryInitializer
|
||||
UniqueInventoryItem <.. InventoryInitializer
|
||||
UniqueInventory "1 -inventory" <-- InventoryInitializer
|
||||
|
||||
Model <.. InventoryController
|
||||
UniqueInventory "1 -inventory" <-- InventoryController
|
||||
|
||||
|
||||
@enduml
|
BIN
src/main/asciidoc/models/design/inventory.svg
(Stored with Git LFS)
Normal file
BIN
src/main/asciidoc/models/design/inventory.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
36
src/main/asciidoc/models/design/order.puml
Normal file
36
src/main/asciidoc/models/design/order.puml
Normal file
|
@ -0,0 +1,36 @@
|
|||
@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 {
|
||||
class Cart
|
||||
class Cash
|
||||
class Order
|
||||
class Product
|
||||
class Quantity
|
||||
class UserAccount
|
||||
enum OrderStatus
|
||||
}
|
||||
|
||||
package catering.catalog {
|
||||
class Product
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
@enduml
|
BIN
src/main/asciidoc/models/design/order.svg
(Stored with Git LFS)
Normal file
BIN
src/main/asciidoc/models/design/order.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
40
src/main/asciidoc/models/design/user.puml
Normal file
40
src/main/asciidoc/models/design/user.puml
Normal file
|
@ -0,0 +1,40 @@
|
|||
@startuml
|
||||
'maybe for sneidc since he did videoshop:cahnge-password'
|
||||
skinparam linetype ortho
|
||||
skinparam groupInheritance 2
|
||||
|
||||
package Salespoint {
|
||||
Class PersistentUserAccountManager
|
||||
Interface UserAccountRepository
|
||||
Class UserAccount
|
||||
Class Role
|
||||
PersistentUserAccountManager "1" <-- UserAccountRepository
|
||||
UserAccountRepository o-- UserAccount
|
||||
UserAccount - "0...*" Role
|
||||
}
|
||||
|
||||
package catering.users {
|
||||
'what is on the left will be higher up'
|
||||
UserAccount <|-- AdministratorAccount
|
||||
UserAccount <|-- CustomerAccount
|
||||
class AdministratorAccount {
|
||||
|
||||
}
|
||||
class CustomerAccount {
|
||||
- address
|
||||
- email
|
||||
}
|
||||
|
||||
Class UserController {
|
||||
+ UserController()
|
||||
+ register(form : Form, model : Model) : String
|
||||
+ customers(model : Model) : String
|
||||
}
|
||||
|
||||
UserController --> "1" PersistentUserAccountManager
|
||||
|
||||
}
|
||||
|
||||
'do employees need an account?'
|
||||
|
||||
@enduml
|
BIN
src/main/asciidoc/models/design/user.svg
(Stored with Git LFS)
Normal file
BIN
src/main/asciidoc/models/design/user.svg
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in a new issue