10Space for diagram notesUMLClass88047013070Item
--
-id: String
-name: String
-unitPrice: BigDecimalUMLClass880340130100LineItem
--
itemId: String
itemName: String
quantity: int
unitPrice: BigDecimal
Relation94025040110lt=<<<<<-
m2=*10;10;10;90UMLClass860140180120Bill
--
id: int
total: BigDecimal
tax: BigDecimal
cashByCustomer: BigDecimal
balance: BigDecimal
--
addLineItem(lineItem: LineItem)UMLClass900010060Cashier
--
name: String
id: StringRelation9405030110lt=<-10;10;10;90UMLClass2702010060TextUI
--
--
-printBill()
+start()UMLClass48020250140<<interface>>
PointOfSale
--
--
createNewBill(): Bill
addLineItem(itemId: String, quantity: int)
cashByCustomer(amount: String)
searchItems(q: String): ListsavBill()
saveBill()
finishBillSession()Relation3603014030lt=<-120;10;10;10UMLClass490420240120<<interface>>
BillManager
--
--
createNewBill():Bill
addLineItem(itemId: String, quantity: int)
cashByCustomer(amount: String)
saveBill()
finishBillSession()Relation60032030120lt=<-10;100;10;10UMLClass89064010030TaxCalculatorUMLClass0370370100<<interface>>
ItemManager
--
--
createItem(id: String, name: String, unitPrice: BigDecimal): Item
findById(id: String): Item
searchItems(q: String): ListRelation180250320140lt=<-10;120;10;10;300;10UMLClass480210250120PointOfSaleImpl
--
--
createNewBill(): Bill
addLineItem(itemId: String, quantity: int)
cashByCustomer(amount: String)
searchItems(q: String): List
saveBill()
finishBillSession()Relation6001503080lt=<<.10;10;10;60UMLClass490600240120BillManagerImpl
--
- currentBill:Bill
--
createNewBill():Bill
addLineItem(itemId: String, quantity: int)
cashByCustomer(amount: String)
saveBill()
finishBillSession()Relation6005303090lt=<<.10;10;10;70UMLClass050037080ItemManagerImpl
--
--
createItem(id: String, name: String, unitPrice: BigDecimal)
findById(id: String): Item
searchItems(q: String): ListRelation1804603060lt=<<.10;10;10;40Relation36438019060lt=<-10;10;170;10;170;40