公交站台管理系统类图
公共汽车站是一个所有公共汽车都可以在一个州内和其他州内运输的地方。在本文中,我们将了解典型印度公交车站的公交车站管理及其类图。
课程:
- BusStandManagement – 此类包含有关巴士站的详细信息。
- 员工——这个类为我们提供了在公交车站工作的所有员工的详细信息,包括零售商、支持人员等。这个类是司机、售票员和维护人员的父类,因为他们都是员工。
- Driver – Driver 是员工的子类。它提供了公交车站所有公交车司机的详细信息。
- Conductor – Conductor 是员工的子类。这为我们提供了巴士售票员的详细信息。
- 维护人员- 维护人员是员工的子类。它提供了所有维护人员的详细信息。
- 停车- 大多数巴士站旁边都会有一个停车位。这个类为我们提供了停车场的详细信息,有关车辆的信息和车辆的所有者。
- BusParking – 公共汽车停车是停车的子类。这是过去停放公共汽车的地方。在印度,前往特定地点的巴士会在巴士站分配一些区域,因此这些巴士需要停在那里。
- VehicleParking – VehicleParking 是停车的子类。它包含公共汽车站中其他车辆的详细信息,例如两轮车、汽车和汽车。
- TravelAgency – 这些是销售长途巴士车票的机构。它有两个子类 GovernmentAgency 和 PrivateAgency。
- GovernmentAgency – 它是 TravelAgency 的子类。它包含政府机构负责人和可用于长途旅行的政府巴士的详细信息。
- PrivateAgency – 它是 TravelAgency 的子类。它包含可用于预订长途车票的非政府巴士和旅行服务的详细信息。
- 公共汽车——这个课程为我们提供了公共汽车站的公共汽车的详细信息,它可以帮助我们获得该公共汽车的车票并获取有关座位的信息。
- 乘客- 该类提供有关巴士站乘客的信息。
- 机票- 这包含有关为旅行预订的机票的信息。它将包含乘客详细信息和公共汽车以及旅行时间。
- 商店- 此类包含将出现在公交车站内的所有商店的详细信息。
属性:
- BusStandManagement – BusStandName, City, Area
- 员工– EmployeeId、EmployeeName、EmployeeDesignation、EmployeeSalary
- 驱动程序– BusId
- 导体– BusId
- 维修人员- 部门
- 停车– NoOfFreeBusSlots NoOfFreeOtherSlots,,
- BusParking – SlotId、PlaceName、ArrivalTime、DepartureTime
- VehicleParking – ParkingId、OwnerName、VehicleType、VehicleNumber、StartTime、EndTime
- TravelAgency – AgencyName, TotalBuss
- 政府机构– InchargeId
- PrivateAgency – InchargeId, InchargeContact
- 巴士– BusId、BusType、DriverId、ConductorId、TotalSeats、SeatsFilled、Source、Destination、TicketPrice、SlotId
- 乘客——PassengerId、PassengerName、PassengerAge、PassengerGender、Source、Destination、BusId
- Ticket – TicketId、BusId、PassengerId、票价
- 商店– ShopId、ShopName、OwnerId
方法:
1. BusStandManagement:
- IsOpen() - 此方法说明公交车站是否正常运行。
2. 员工:
- EmployeeDetails() – 此方法获取员工详细信息。
3. 停车:
- ParkVehicle() - 此方法用于停放车辆。
- Pay() - 支付方式是支付停车费。
4.旅行社
- GetAvailableBuses() - 此方法显示可用于旅行的巴士。
- BookTicket() - 此方法为我们预订门票。
5. 巴士
- BusDetails() – 此方法提供有关特定总线的信息。
- GetTicket() – 这个方法帮助我们预订特定巴士的车票。
6. 乘客
- PassengerDetails() - 此方法用于获取特定乘客的详细信息。
7. 门票
- TicketDetails() – 可以使用此方法查看特定乘客的票务详细信息。
- isPaid() - 此方法显示乘客是否购买并支付了机票。
8. 商店
- ShopDetails() - 它显示公交车站的商店以及那里可用的物品。
- Buy() - 此方法用于购买这些商店中的物品。
关系:
1.继承:
继承是从一个类到另一个类获取所需属性的做法。获得属性的类称为子类。允许获取其属性的类称为父类。它简称为父子关系。 IE。 “Is-a”关系
Here,
1. Driver, Conductor, MaintenanceStaff is the child class of Employee.
- Driver is a Employee
- Conductor is a Employee
- MaintenanceStaff is a Employee
It correctly satisfies “is-a” relationship
2. GovernmentAgency and PrivateAgency is the child class of TravelAgency
- GovernmentAgency is a TravelAgency
- PrivateAgency is a TravelAgency
It correctly satisfies “is-a” relationship
3. BusParking and VehicleParking is the child class of Parking
- BusParking is a Parking
- VehicleParking is a Parking
It correctly satisfies “is-a” relationship
2.聚合:
在聚合中,A 类和 B 类相互依赖,这表明 A 有 B 的实例,B 有 B 的实例,但它们在物理上并不包含在彼此内部。简单来说,B 类可以没有 A 类而存在。它遵循“有”的关系。
Here,
- BusStandManagement and Shop – Shop can exist without Bus Stand.
- BusStandManagement and Parking – Parking can exist without Bus Stand.
- BusStandManagement and TravelAgency – TravelAgency can exist without Bus stand.
- Ticket and Passenger – Passenger can exist without ticket.
- Bus and Passenger – Passenger can exist without Bus.
follows Aggregation relation.
3. 组成:
在组合中,A 类和 B 类相互依赖,这表明 A 类在 A 类内部有 B 类的实例。换句话说,B 类物理包含在 A 类内部。所以 B 类不能没有 A 类而存在。它遵循“有”的关系。
Here,
- Bus and Ticket – Ticket cannot exist without Bus
follow Composition relation.
4. 协会:
在协会中,一个班级不以任何方式致力于另一个班级,但两个班级相互使用并在各自的空间中发挥函数。它遵循“使用”关系。
Here,
- Employee and Passenger – Employee uses Passenger, Passenger uses Employee.
follow Association relation.
5.单向关联:
在单向关联中,两个类在某些方面是相关的,但只有一个类使用了另一个类,而另一个类没有从这种关系中受益。 A类可以调用B类,B类不能调用A类。
Here,
- Passenger and shops – Passenger uses shops
follow unidirectional Association.
符号:
类图: