集成学院管理系统 [学分系统] --第一部分-- 类库 & 数据库






3.90/5 (21投票s)
本项目旨在帮助学生轻松完成注册。它还简化了学生和员工的注册流程,并解决了学分系统面临的常见问题。
引言
本项目旨在帮助学生轻松完成注册。它还简化了学生和员工的注册流程,并解决了学分系统面临的常见问题。注册流程随时随地可用,因此电子注册更加轻松便捷,这将使学院摆脱混乱拥挤的局面。学生会发现通过网站注册更加轻松便捷。员工的生产力将更高,他们将能够自由地、从任何地方完成这些工作。终于解决了上课时间和地点之间的冲突。本项目将组织考试,确定考试地点和时间。它还将为学生提供成绩。
项目分析与设计
用例模型
点击这里查看用例图。
用户角色: 用户是首次访问网站进行注册和创建账户的人。用户角色可以执行以下操作:
- 创建账户。
- 登录。
- 找回密码。
- 帮助。
学生角色: 学生是系统的核心,因为大部分流程都是为他设计的。学生可以执行以下操作:
- 在规定时间内注册。
- 退课。
- 在规定时间内添加/删除课程。
- 成绩。
- 课程表查询。
- 已选和未选课程报告。
- 修改账户/退出。
- 帮助。
教师角色可以执行以下操作:
- 课程表查询。
- 成绩录入。
- 报告。
- 修改账户/退出。
学院院长角色:可以从网站受益。他可以跟踪网站上的整个注册过程。凭借强大的权限,他可以从数据库中插入、更新和删除数据。他可以添加、删除教师、办公室经理。他可以执行以下操作:
- 添加/删除/更新教师。
- 添加/删除/更新办公室经理。
- 授予/拒绝权限。
- 报告。
办公室经理角色:(或学生事务部经理)可以通过网站完成多项任务。他在指导注册过程中起着重要作用。他管理并组织整个注册流程。他可以执行以下操作:
- 创建/添加/更改课程表。
- 允许迟到注册。
- 添加员工。
- 授予员工权限。
- 报告。
- 修改账户/退出。
员工角色:将大大受益于该网站。他们将摆脱紧张和枯燥的手动注册。他们的精力将节省出来用于其他重要工作,从而使他们在所有工作中做到最好并取得良好成果。他可以执行以下操作:
- 添加新学生。
- 编辑学生主页新闻。
- 报告。
- 修改账户/退出。
类图
点击此处查看类图。
Person 类
它被表示为一个基类,被其他子类继承,例如 Student
、Doctor
、Employee
等类。Person
类有许多属性和方法来帮助它完成任务。例如,它包含 name
、password
、username
和 email
等属性,这些属性是任何与网站打交道的人的主要数据。它包含 loginfun
、forgetpassword
、modifyaccount
、Createaccount
等函数(方法),这些函数被认为是与系统打交道的任何角色的主要函数。
Student 类
Student
类用于指出学生在系统中的角色。该类具有 studentlevel
、Late
、Department
、crrentTerm
等许多属性,用于识别特定学生。它还包含一些方法,如 GenerateSerial
、RegstNow
和 AddRemoveWithdrow
,它们简化了学生的操作,例如获得序列号、注册过程和退课等。
StudentResult 类
此类用于显示学生的成绩。有许多属性,如 EndTermResul
、MidTermResult
、StudentSerial
和 StudentName
,分别显示第二学期成绩、第一学期成绩、学生姓名和序列号。还有一个 StudentResult
方法,用于返回学生成绩。
LateStudent 类
此类用于处理迟到注册的学生。此类有两个属性:name
和 serial
,用于返回迟到注册的学生的姓名和序列号。
Doctor 类
Doctor
类用于处理教师使用系统。它有许多属性和方法来实现这一点。Doctor
类属性的示例包括 GetDepartment
、GetDescription
、GetLecTable
和 GetScientificDegree
,分别用于显示教师的系别、某个教师的描述、教师的课程表和教师的学位。Doctor
类方法的示例包括 GetSerial
和 MarkRegistration
,分别使教师能够获得其序列号并进行注册。
CollegeManager 类
此类用于处理学院院长在系统中的角色。它包含许多方法。这些方法的示例包括:AddDoctor
、AddReg_Office_Manager
、ModefiyDoctorInfo
和 ModefiyReg_Office_ManagerInfo
。这些方法使院长能够分别添加新医生、添加新的办公室经理、修改医生和办公室经理的信息。
Reg_Office_Manager 类
此类用于处理系统中文办公室经理的角色。它包含 Getcurrenttable
属性,该属性使办公室经理能够创建和修改课程表。此类还包含多个方法,如 AddEmployee
、EmployeePermission
、GenerateSerial
、LateRegistration
、LateStudents
等。这些方法使他能够添加员工、授予员工权限、获取其序列号、允许迟到注册并指定其条件和规则,以及分别获取迟到注册的学生的姓名。
Employee 类
此类用于处理员工在系统中的角色。它具有 myrole
属性,该属性指明了员工的角色。它还具有多个方法,如 AddStudent
、GenerateSerial
和 ModefiyStudentInfo
,分别用于添加新学生、获取序列号和修改学生数据。
EmployeeRole 类
此类用于指明员工在系统中的角色。它包含一些属性,如 Department
、DepartmentName
、Description
和 RoleName
。这些属性使员工能够分别获取系别序列号、系别名称、角色描述和角色名称。
Subject 类
此类用于指明特定学生所修读的课程。它显示与特定课程相关的学分、该课程的先修要求等。此类包含许多属性和方法。属性示例:GetCreatedHoure
、GetDescription
、GetLecturHoure
、GetLabHoure
和 GetPrereguisite
。这些属性分别返回课程学分、课程描述、课程上课时间、课程实验时间以及课程先修要求。方法示例:HavePrerequisite
、SetTrust
和 ThisSubjectInPrerequisite
。这些方法解释了课程是否有先修要求,是否受信任(即从数据库中选择),以及它是否被认为是其他课程的先修要求。
SubjectLecture 类
SubjectLecture
类用于显示课程讲座信息,如其地点、教师姓名、日期和主题。有一些属性和方法可以服务于上述任务。SubLocation
、DoctorName
和 date
是类属性的示例。它们分别显示课程地点、该课程教师姓名和讲座日期。SubjectLecture
构造函数用于显示课程信息,如讲座时间、地点、课程名称以及在之前属性中讨论的信息。
MyTimeLec 类
此类用于处理特定讲座的日期和时间。它使用 MyDayOfWeek
、Start
和 End
等属性。这些属性分别显示讲座的星期、开始时间和结束时间。该类还使用 MyTimeLec
构造函数,该构造函数返回之前的属性。
Location 类
此类用于向系统提供有关特定地点的信息。有一些属性可以执行这些任务,例如 Description
、MaxCapacity
、Name
和 Type
。这些属性分别显示地点描述、可用容量、地点名称和类型(房间、长椅等)。IsFreeLecNow
方法是一个布尔方法,用于显示在指定时间某个地点是否可用。
Table 类
此类对于其他类的性能至关重要。它有许多方法和属性来处理数据库的添加和删除过程。它有 DoctorPlan
、StudentPlan
、LocationPlan
和 TimePlan
等属性,用于识别教师的某个课程教学计划、学生选课计划、某个地点的日程安排(将在该地点进行一组课程)以及某个时间段的安排(该时间段将保留给某些课程)。它还有几个方法,例如 Clear
、GetCredetHour
和 RetrieveSubjectLect
方法。Clear
方法清除表的内容。GetCredetHour
方法返回某个课程的学分。RetrieveSubjectLect
方法返回某个课程的讲座。
QuareTable 类
此类的几乎所有角色都会使用。它继承自 Table
类,并帮助每个角色从数据库执行其查询。它有一个执行该查询的构造函数。它帮助 Student
、Reg_Office_Manager
和 Doctor
类执行其任务。
Group 类
此类用于处理系统中的课程组。它包含多个方法和属性,用于从组中提取、添加和删除课程。属性示例:GetName
属性返回组名,GetSerial
属性返回组序列号。方法示例:AddSubjectSerial
方法将课程序列号添加到其组中,GetSubjectSerial
方法从组中返回课程序列号,RemoveSerialFromGroup
方法从组中删除课程序列号。
========== 生成:1 成功,0 失败,0 跳过 ==========