@startuml 'skinparam linetype ortho skinparam linetype polyline :Unauthentifizierter Nutzer\n[Person]\n: as UN :Kunde\n[Person]: as Kunde :Boss\n[Person]: as Boss package Web_Application\n[Container] { usecase UC1 as "**Cateringservice** [Component: Spring Service] Start-up und Konfiguration für den Cateringservice" usecase UC2 as "**Katalog** [Component: Spring Service, Controller und JPA Entity] Katalogmanagement für den Cateringservice" usecase UC3 as "**Bestellung** [Component: Spring Controller] Platzierung von Bestellungen" usecase UC4 as "**Inventar** [Component: Spring Servcie, Controller und JPA Entity] Inventarmanagement für den Cateringservice" usecase UC5 as "**Kunde** [Component: Spring Servcie, Controller und JPA Entity] Kundenmanagement für den Cateringservice" } database DB as "**Database** [Container: H2] Datenbank für den Cateringservice" UN ----> UC1 : "**Login**\n[HTTPS]" UN ----> UC5 : "**Registrierung**\n[HTTPS]" UN ----> UC2 : "**Angebote durchstöbern**\n[HTTPS]" Kunde ----> UC2 : "**Angebote durchstöbern**\n[HTTPS]" Kunde ----> UC3 : "**Event buchen**\n[HTTPS]" Kunde ---- UC5 : "**Konto löschen, Daten einsehen**\n[HTTPS]" Boss ----> UC3 : "**Bestellungen nachschlagen**\n[HTTPS]" Boss ----> UC4 : "**Inventar/Mitarbeiter verwalten**\n[HTTPS]" Boss ----> UC2 : "**Angebot verändern**\n[HTTPS]" UC2 ----> DB : "**Katalogdaten lesen und schreiben**\n[JPA]" UC3 ----> DB : "**Bestelldaten lesen und schreiben**\n[JPA]" UC4 ----> DB : "**Innventardaten lesen und schreiben**\n[JPA]" UC5 ----> DB : "**Kundendaten lesen und schreiben**\n[JPA]" @enduml