学校管理系统类图
类图是描述任何系统的各个模块之间关系的方式。在这里,我们看到了学校管理系统中涉及的类和关系。
课程:
- SchoolManagement - 这个类包含学校的整体细节。
- 课堂- 该类包含课堂的详细信息。
- 学生——这个班级是两个孩子班级的基础班——小学生和高中学生。由于小学生是学生,高中生是学生。
- Primary Student – 该类是 Student 的子类,包含 Class 1 到 Class 10 之间标准的详细信息。
- 高中生– 该类是学生的子类,包含标准 11 类和 12 类的详细信息。
- 部门- 该类包含学校部门的详细信息。
- 实验室- 该课程包含任何学校的实验室详细信息及其必要信息。
- Employee——这个类是两个子类的基类——Teacher 和 SupportStaff。由于教师是员工,而 SupportStaff 是员工。
- 教师- 该类是 Employee 的子类,包含教师的详细信息。
- SupportStaff – 该类是 Employee 的子类,包含支持人员的详细信息,例如非教学人员、公交车司机等。
- NoticeBoard – 此类包含布告栏的详细信息及其信息。
- 巴士- 此类显示每个区域的巴士详细信息,以及特定巴士的司机详细信息和巴士访问的区域。
- 设备——这个类是两个子类的基类——实验室设备和类设备。由于实验室设备是设备,而类设备是设备。
- LabEquipments – 该类是 Equipment 的子类,它包含实验室所需的所有设备的详细信息,例如试管、显微镜、计算机等。
- ClassEquipments - 这个类是 Equipment 的子类,它包含任何教室所需的所有设备的详细信息,如风扇、长凳、灯。
- 礼堂——该课程包含学校礼堂的详细信息以及与其相关的详细信息,例如座位详细信息、活动详细信息等。
- 操场- 这个类包含任何学校操场的详细信息,它还显示操场是否被占用
属性 :
- SchoolManagement – SchoolName , Address , ContactNumber, MediumOfStudy
- 教室– ClassId、ClassName、TeacherId、StudentCount、EquipmentId
- 学生– StudentId、StudentName、ClassId、Section、BusId
- 部门– DepartmentId、DepartmentName、InchargeName、MemberList
- 实验室– LabId、InchargeId、LabName、EquipmentId
- 员工– EmployeeId、EmployeeName、Salary、DepartmentId
- 公告板 - 新闻列表, InchargeName
- 总线– BusId、DriverId、AreaList、BusNumber、容量。
- 设备– EquipmentId,成本
- LabEquipments – EquipmentName, EquipmentCount
- ClassEquipments – ClassId、BenchCount、FanCount、LightCount
- 礼堂– TotalSeats、SeatsOccupied、EventName、EventDate、EventTime
- Playground – 区域,ClassId
方法 :
1.学校管理:
- IsOpen() - 这个方法是检查学校是否开放。
- SchoolDetails() - 此方法显示学校的详细信息,如学校名称、地区、州等。
2. 教室:
- ClassDetails() - 此方法包含教室的详细信息。
3. 学生:
- StudentDetails() - 这包含学校中每个学生的详细信息以及他们的个人详细信息,他们属于哪个班级。
- PayFees() - 此方法显示每个学生的费用详情,并允许学生支付费用。
4. 部门:
- DepartmentDetails() - 这个类包含学校的各个部门,如英语、泰米尔语、艺术等。
5. 实验室:
- LabDetails() - 这显示了实验室的详细信息及其负责人名称。
- IsOccupied() – 这个方法告诉实验室是否被占用。
- PayFine() - 此方法显示了在实验室中破坏或损坏任何设备的特定学生的详细信息。
6. 员工:
- EmployeeDetails() - 此方法显示员工的详细信息以及他们的名称和工资详细信息。
- CheckIn() - 这显示特定员工是否已登记到学校。
- ReceiveSalary() - 这包含工资详细信息并显示他们是否收到工资。
7. 布告栏:
- Display() - 此方法用于显示来自公告板的所有新闻或任何事件详细信息或任何新信息。
- AddContent() - 这是向布告栏添加任何新内容。
8. 巴士:
- BusDetails() - 此方法包含总线的详细信息。
- ShowSeats() – 显示特定巴士的座位详情。
9. 设备:
- EquipmentDetails() - 这包含实验室设备的详细信息以及班级设备
- PurchaseEquipment() - 此方法用于购买设备并包含新购买设备的详细信息。
- Repair() - 此方法用于修复任何设备。
10. 礼堂:
- BookAuditorium() - 此方法是由学校内的任何部门预订礼堂,以进行任何活动或客座讲座。
- EventDetails() – 此方法显示特定日期的任何事件的详细信息。
- DisplaySeats() – 此方法显示礼堂中任何活动的可用座位。
11. 游乐场:
- IsOccupied() - 这个方法告诉操场是否被占用。
关系 :
继承:
继承是子类从父类或基类获取资源的概念。在继承中,允许共享其属性的类称为父类,而从其父类获取属性的类称为子类。继承大大减少了再次编码的需要并允许代码可重用。
Here,
- Student – PrimaryStudent, HigherSecondaryStudent
- Employee – Teacher, SupportStaff
- Equipments – LabEquipments, ClassEquipments
The above mentioned classes follow inheritance.
协会 :
关联是一种关系,其中两个类都使用彼此及其方法。在关联中,没有一个类是另一个类的所有者,因为两个类相互使用并且仍然保留在自己的空间中。
单向关联:
单向关联是一个特定类使用另一个类及其方法但不在该类内部组成的关联。
Here the below mentioned classes follow unidirectional association,
- Student and Classroom
- Student and Bus
- Student and Playground
- Student and NoticeBoard
- SchoolManagement and Auditorium
Student uses classroom, bus, playground and notice board and the school management uses auditorium.
聚合:
聚合是一种关系类型,其中一个类依赖于另一个类,但即使没有另一个类也可以存在。简而言之,依赖类在物理上并不包含在独立类中。
Here the below mentioned classes follow aggregation,
- SchoolManagement and Student
- SchoolManagement and Playground
- SchoolManagement and Bus
- Teacher and Student
Student, Playground and Bus can exist without School. Student can exist without teacher.
作品 :
组合是一种特定类拥有另一个类的关系。在组合中,依赖类不能没有独立类而存在,并且在物理上包含在独立类中。
Here the below-mentioned classes follow Composition,
- SchoolManagement and Department
- Lab and Equipments
Department cannot exist without School. Similarly equipments cannot exist without Lab.
符号:
类图: