酒店管理系统类图
类图是一种UML图,它显示了各种对象之间的属性和关系。
班级 :
该系统中使用的类是,
- 酒店管理:这个类描述了整个酒店,并说明酒店是打开还是关闭。
- 员工:它包含员工的详细信息。有两种员工,服务员和厨师。这个员工类是两个子类的父类——Server 和 Chef
- 服务器:它包含服务器的详细信息、分配给它们的表、当前服务的订单等。
- Chef :它包含处理特定订单的厨师的详细信息。
- 客户:它包含客户的详细信息。
- 表:它包含表的详细信息,如表号和分配给该表的服务器。
- 菜单:菜单包含餐厅的所有食物、供应情况、奖品等。
- 订单:订单描述了与特定表和客户关联的订单。
- 账单:使用订单和菜单计算账单。
- 付款:本课程用于付款。付款可以通过现金或卡两种方式完成。所以支付是父类,现金和卡是子类。
- 现金:可以现金支付
- 卡:可以通过卡或在线支付
属性 :
- 酒店管理– HotelName, NumberOfEmployees
- 员工– EmployeeId、EmployeeName、EmployeeSalary
- 服务器——ServerId、OrderId
- 厨师– Chef_Id、OrderId
- 客户– CustomerId、CustomerName、Bill_Id、OrderId、PaymentId
- 表– TableNumber、OccupiedStatus、ServerId、CustomerId
- 菜单– ItemId、ItemName、金额
- 订单– OrderId、ItemId、ItemName、数量、CustomerId、ServerId
- 账单– Bill_Id、OrderId、TotalBill
- 付款– PaymentId、Bill_Id
方法 :
1. 酒店管理:
- open() - 这用于指示酒店是否正常运行。
2. 员工:
- employee details() - 此方法包含员工的详细信息。
3. 客户:
- customer_details() – 这描述了客户的详细信息。
- ordered_items() - 此方法包含客户订购的商品。
- payment_status() - 这表示客户是否付款。
4. 表:
- table_details() - 此方法包含桌子的详细信息以及客户和座位数。
- availability_status() - 此方法说明表是否被占用。
5. 菜单:
- items() - 此方法显示菜单项、它们的可用性和价格。
6. 订购:
- order_items() - 此方法对用户从菜单中选择的项目进行排序。
7. 账单:
- calculate_bill() - 此方法计算特定表的账单。
8. 付款:
- ispaid() - 显示支付是否成功。
关系:
继承:
继承是“一种关系” 。它有一个父类及其对应的子类。子类从父类继承所需的方法和属性。
Here, Employee is parent class Server and Chef are child classes because server is a employee and chef is a employee.
协会 :
在关联中,这两个类相互关联,但在物理上并不相互包含。它被称为“使用”关系。在关联关系中,考虑我们有两个类 A 和 B,其中 A 类调用 B 类,B 类也调用 A 类。
Here,
- Employee and customer
- Server and table
- Customer and payment
- Chef and order
follows association relationships.
作品 :
它也称为“具有”关系,其中类 A 具有类 B 的实例,类 B 组合在类 A 内部,没有类 A 不能独立存在。因此在组合中,一个类完全依赖于另一个类,并且在物理上被包含在里面。
Here,
- Menu and Order
- Order and Bill
- Bill and Payment
follows composition relation
Order cannot exist without Menu, Bill cannot exist without order and payment cannot exist without bill. So here order is contained inside the menu, bill is contained inside the order and payment is contained inside the bill.
聚合:
也称为“有”关系,其中A类有B类的一个实例,但B类不在A类内部组合,可以在没有A类的情况下独立存在。所以在聚合中,两个类相互依赖并使用彼此,但它们都不包含在彼此内部。
Here,
- Customer and Server
- Chef and Server
follows Aggregation relation
Server is associated with the customer but can exist without the customer as well, Likewise Chef is associated with the server but can exist without the server as well.
符号:
类图: