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

53 lines
1.6 KiB
Plaintext

@startuml
'skinparam linetype ortho
skinparam linetype polyline
:unauthenticated user\n[person]\n: as UN
:customer\n[person]: as Kunde
:administrator\n[person]: as Boss
package "web application\n[container]" as Package {
usecase UC1 as "**Cateringservice**
[Component: Spring service]
start-up and configuration of the catering-service"
usecase UC2 as "**Catalog**
[Component: Spring service, controller and JPA entity]
catalog management of the catering-service"
usecase UC3 as "**Order**
[Component: Spring controller]
order placement"
usecase UC4 as "**Inventory**
[Component: Spring service, controller and JPA entity]
inventory management of the catering-service"
usecase UC5 as "**Customer**
[Component: Spring service, controller and JPA entity]
customer management of the catering-service"
}
database DB as "**Database**
[Container: H2]
database of the catering-service"
UN ----> UC1 : "**login**\n[HTTP]"
UN ----> UC5 : "**registration**\n[HTTP]"
UN ----> UC2 : "**view catalog**\n[HTTP]"
Kunde ----> UC2 : "**view catalog**\n[HTTP]"
Kunde ----> UC3 : "**plan a catering event**\n[HTTP]"
Kunde ---- UC5 : "**delete account, change personal data**\n[HTTP]"
Boss ----> UC3 : "**view orders**\n[HTTP]"
Boss ----> UC4 : "**manage inventory/staff**\n[HTTP]"
Boss ----> UC2 : "**modify catalog**\n[HTTP]"
UC2 ----> DB : "**read and write catalog data**\n[JPA]"
UC3 ----> DB : "**read and write order data**\n[JPA]"
UC4 ----> DB : "**read and write inventory data**\n[JPA]"
UC5 ----> DB : "**rean and write customer data**\n[JPA]"
@enduml