摘 要
本课题的研究对象是高校教务管理系统,该系统实现了系统用户、系统用户、学生信息管理、教师信息管理、班级教室管理、排课课表管理、调课申请管理、考试安排管理、班级成绩管理、学生成绩管理、教学评价管理、教务信息等功能。本系统在设计上,考虑到系统内容以及系统的受众群体,在系统的美工方面采用了比较正规的设计,同时也提供了友好的页面以及简单的操作,系统采用PHP、Mysql,这样的组合不但利用上了在大学中所学到的知识,并且能够使系统真正的发布到互联网上,而不是一个单纯的演示系统。本系统经过测试,运行效果稳定,操作方便、快捷。在具体的应用过程中,有可能会出现一些问题,今后还会对本系统不断地进行完善、更新,使其功能更强大,应用更广泛。
关键词:PHP语言;高校教务管理系统;MySQL
Abstract
The research object of this topic is the university educational administration management system. This system realizes functions such as system user management, student information management, teacher information management, class and classroom management, course scheduling management, course adjustment application management, examination arrangement management, class score management, student score management, teaching evaluation management, and educational administration information management. In the design of this system, considering the content of the system and the target audience, a relatively formal design was adopted in the system's art and workmanship, while also providing friendly pages and simple operations. The system uses PHP and Mysql. This combination not only utilizes the knowledge learned in university but also enables the system to be truly released on the Internet rather than just a demonstration system. After testing, this system operates stably, is convenient and fast to operate. In the specific application process, some problems may arise. In the future, this system will be continuously improved and updated to make its functions more powerful and its application more extensive.
Key words: PHP language; University academic affairs management system MySQL
目 录
1 绪论
1.1 研究背景
随着信息技术的快速发展,教育行业也在逐步向数字化、智能化转型。高校教务管理作为学校管理的重要组成部分,涉及到课程安排、学籍管理、成绩管理、选课系统等多个方面,传统的手工管理方式已经无法满足现代高校对教务管理效率和准确性的需求。因此,构建一个高效、智能化的教务管理系统显得尤为重要。
近年来,随着PHP技术的不断成熟和普及,许多高校开始将其应用于教务管理系统的开发。PHP是一种广泛使用的开源脚本语言,具有简单易学、跨平台等优点,能够有效支持动态网站的开发。此外,PHP与MySQL等数据库的结合,能够方便地实现数据的存储、查询和管理,为教务管理系统的构建提供了良好的技术基础。
目前,国内外关于高校教务管理系统的研究主要集中在系统架构设计、功能模块开发、数据安全等方面。然而,针对PHP平台的教务管理系统的研究仍然较为有限。尽管部分高校已经实现了基于PHP的教务系统,但在系统的性能优化、功能集成和用户体验等方面仍存在改进空间。因此,研究并设计一款基于PHP的高校教务管理系统,能够提升教务管理的效率与准确性,具有重要的理论价值与实际意义。
本研究旨在通过分析现有高校教务管理系统的不足之处,结合PHP技术的优势,进行教务管理系统的设计与实现。具体而言,系统将涵盖教学资源管理、选课系统、成绩管理、数据统计分析等功能模块,旨在为高校管理人员、教师和学生提供一个高效、便捷的教务管理平台,以促进教学质量的提升和教育资源的优化配置。
通过该研究,期望能够为高校教务管理的数字化转型提供有力的支持,同时为相关领域的研究者提供参考。
1.2研究内容
高校教务管理系统的开发及实现,所需要的工作内容:
(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。
(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,高校教务管理系统的开发使用PHP框架,数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。
(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对高校教务管理系统的设计主要划分别为管理员和用户角色对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。
(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。
2 高校教务管理系统系统分析
2.1 可行性分析
可行性分析是系统分析的第一步,通过可行性分析我们可以得出系统是不是值得开发,如果系统的开发是不可信的,那么就没有必要再进行下面的操作,对于本高校教务管理系统,在可行性方面进行了技术、经济以及操作的分析。
2.1.1 技术可行性分析
高校教务管理系统设计与实现是一个基于Web的交易、管理平台,我们在实现这个系统所采用的技术方案是基于PHP语言,MYSQL数据库,在大学的学习中这两门课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到PHP和MYSQL,在技术上实现自己的自主开发是可行的。
2.1.2 经济可行性分析
开发高校教务管理系统并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上通过走访调查目前用户对高校教务管理系统的需求,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。
2.1.3 操作可行性分析
操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的高校教务管理系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成,因此在操作上也是可行的。
2.2 系统性能分析
系统的性能方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:
(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。
(2)储存性:因为是面向用户的交流系统,使用的用户会比较多,而且登录后要发布帖子进行交流以及对个人信息的用户,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MYSQL数据库,MYSQL的运行速度很快,执行命令的速度也非常快,而且体积小。
(3)可靠性:可靠性指的是用户在进行高校教务管理系统信息添加、查询以及管理的时候,能够按照用户的指示进行显示信息,如果用户点击查询学生信息信息,显示出来的是其他信息,那就违背用户的初衷。
(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。
(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。
(6)可拓展性:本高校教务管理系统的功能还有待完善,因此系统要有很好的拓展性,方便后期功能更新维护。
2.3 系统功能分析
高校教务管理系统中采用了PHP框架进行开发,在数据库上选择MYSQL,在功能上高校教务管理系统我划分为了学生用户、教师用户和管理员模块这三大部分。
学生用户模块:
- 用户注册登录:学生可以随时进入到系统中,对系统中的信息浏览,但是想要实现交流、信息的收藏评论等,就必须有这个系统的账号,如果没有账号的话,可以注册用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。
- 学生信息管理:包括学号、姓名、性别、年级、专业、联系方式等。个人信息维护:允许学生更新个人信息,如联系方式、住址等。
- 排课课表管理:学生可以查看自己所选课程的详细信息,包括授课教师、上课地点等。以周视图展示学生的课程安排,支持按周、按月查看。自动检测学生选课是否有时间冲突,并提供建议。
- 考试安排管理:查看各科目的考试时间、地点和考试形式(笔试、机试等)。学生可查看各科目考试成绩,方便了解学业情况。系统通过消息推送功能提醒学生即将到来的考试。
- 学生成绩管理:学生可以查看各个学期的成绩,包括课程名称、学分、绩点等。提供成绩单的下载功能,支持PDF格式。
- 教学评价管理:学生可以对课程和教师进行评价,提交匿名反馈。查看自己对各课程的评价记录和教师的反馈。
- 教务信息:查看学校、学院的通知公告,包括重要通知、活动安排等。提供最新的教务动态、政策变更等信息推送。
教师用户模块:
- 学生信息管理:添加、修改和删除学生信息;查询学生基本信息(姓名、学号、专业、年级等);学生基本信息的导入和导出功能。
- 教师信息管理:添加、修改和删除教师信息;查询教师的基本信息(姓名、工号、职称、所授课程等);教师信息的导入和导出功能。
- 班级教室管理:管理各个班级的信息(班级名称、年级、专业等);教室的使用情况管理,包括教室的安排和使用记录;教室使用状态的查询和统计。
- 排课课表管理:课程安排的添加、修改和删除;根据课程和教师信息生成对应的课表;支持课表的查询和导出功能。
- 调课申请管理:学生或教师可以提交调课申请;管理员审核调课申请的流程;记录和查询调课申请及其处理状态。
- 考试安排管理:设定和管理各科目的考试时间及地点;考试安排的修改和通知功能;考试记录的查询和统计。
- 班级成绩管理:录入和管理班级整体成绩;生成和导出班级成绩单;班级成绩的统计和分析功能。
- 学生成绩管理:管理和录入各个学生的成绩;支持成绩的查询和修改;
- 教学评价管理:收集学生对课程和教师的评价;统计和分析教学评价结果;发布教学评价的报告。
管理员管理模块:
- 登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。
- 系统用户:添加、修改、删除系统用户(管理员、教师、学生等)。权限管理:设置不同用户角色的访问权限和操作权限。用户登录日志:记录用户的登录时间、IP地址等信息,以便审计和查看。
- 学生信息管理:添加、编辑和删除学生基本信息(如姓名、学号、联系方式等)
- 学生查询:根据条件查询学生信息,支持多条件筛选。
- 教师信息管理:添加、编辑和删除教师信息(如姓名、工号、职称等)。教师资历记录和管理教师的教学经历、学历、研究方向等信息。支持根据条件查询教师信息。
- 班级教室管理:添加、编辑和删除班级信息,包括班级名称、班级人数等。教室管理:管理教室的信息(如教室编号、容量、设备等)。
- 排课课表管理:添加、修改和删除课程排课信息。课表生成:根据排课信息生成班级课表,支持导出功能。课表查询:按班级或教师查询课表信息。
- 调课申请管理:教师提交调课申请,管理员审核。审核管理:查看所有调课申请的状态,审核通过或拒绝申请。调课记录:记录调课的历史信息,方便查询。
- 考试安排管理:添加、编辑和删除考试安排信息。考试科目管理:定义每个课程的考试科目。考试安排查询:按班级或课程查询考试安排。
- 班级成绩管理:录入班级总体成绩,包括中期测验和期末考试。班级成绩统计:生成班级的成绩分析报告。班级成绩查询:按班级进行成绩统计和查询。
- 学生成绩管理:添加、编辑和删除学生的各科成绩。成绩查询:支持学生个人成绩查询。成绩分析:生成学生的成绩分析报告,显示各科目成绩的趋势。
- 教学评价管理:教师对课程的教学效果进行评价。学生反馈:学生对教师的教学质量进行反馈。评价统计:生成教学评价的统计报告。
2.4 系统用例分析
系统的用例展示的是系统功能与用户之间的关系,通过用例的方式能够直观的展示出来,本高校教务管理系统的完整UML用例图分别是图2-1、图2-2、图2-3。

图2-1 高校教务管理系统学生用户角色用例图

图2-2 高校教务管理系统教师用户角色用例图

3 高校教务管理系统总体设计
本章主要讨论的内容包括高校教务管理系统的功能模块设计、数据库系统设计。
3.1 系统功能模块设计
3.1.1整体功能模块设计
本高校教务管理系统是一个集信息查询、发布、管理为一体的平台,在功能上实现了学生用户、教师用户、管理员部分的功能,根据第三章的系统功能分析,得出本高校教务管理系统的功能模块图,如图3-1所示。

图3-1 高校教务管理系统功能模块图
3.1.2系统用户模块设计
本高校教务管理系统是一个通过系统自主查询、信息以及课表安排,必须有账号和密码,登录后方可查询,管理员则实现对用户的管控,如下图:

图3-2系统用户模块结构图
3.1.3学生信息模块设计
高校教务管理系统是一个教务系统的平台,用户可以看到学生信息,学生成绩等,具体的结构图如下:

图3-3学生信息模块结构图
3.2 数据库设计
3.2.1 数据库概念结构设计
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称,本高校教务管理系统中的主要的数据库E-R模型图如下图所示。

图3-4学生用户E-R关系图

图3-5 学生信息E-R关系图
3.2.2 总E-R图
E-R图有助于理清系统中的数据结构和关系,为后续的数据库表结构设计提供指导。在进行数据库设计之前,首先需要先绘制实体-关系(E-R)图。E-R图将帮助我们理清业务中的实体(Entity)及它们之间的关系(Relationship),从而为后续的数据库表设计提供基础。根据前文可以得出本springboot校园社团管理系统拥有多个实体,在此列举主要实体,各个实体之间联系总E-R图如下图所示。

图3-6总E-R图
3.2.3数据库逻辑结构设计
通过上一小节中高校教务管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表access_token (登陆访问时长)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
| 2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
| 3 | info | text | 65535 | 0 | Y | N | ||
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
表announcement_information (公告信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | announcement_information_id | int | 10 | 0 | N | Y | 公告信息ID | |
| 2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 4 | announcement_title | varchar | 64 | 0 | Y | N | 公告标题 | |
| 5 | view_class | varchar | 64 | 0 | Y | N | 查看班级 | |
| 6 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
| 7 | announcement_label | varchar | 64 | 0 | Y | N | 公告标签 | |
| 8 | announcement_content | longtext | 2147483647 | 0 | Y | N | 公告内容 | |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表auth (用户权限管理)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
| 2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
| 3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
| 4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
| 5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
| 6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
| 7 | parent | varchar | 64 | 0 | Y | N | 父级菜单 | |
| 8 | parent_sort | int | 10 | 0 | N | N | 0 | 父级菜单排序 |
| 9 | position | varchar | 32 | 0 | Y | N | 位置: | |
| 10 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 11 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 12 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 13 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 14 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 15 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
| 16 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
| 17 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
| 18 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
| 19 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
| 20 | option | text | 65535 | 0 | Y | N | 配置: | |
| 21 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表class_attendance (班级考勤)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | class_attendance_id | int | 10 | 0 | N | Y | 班级考勤ID | |
| 2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 4 | attendance_subject | varchar | 64 | 0 | Y | N | 考勤科目 | |
| 5 | class_size | double | 9 | 2 | Y | N | 0.00 | 班级人数 |
| 6 | number_of_reported_personnel | double | 9 | 2 | Y | N | 0.00 | 报到人数 |
| 7 | proportion_of_absenteeism | varchar | 64 | 0 | Y | N | 缺勤占比 | |
| 8 | attendance_time | datetime | 19 | 0 | Y | N | 考勤时间 | |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表class_classroom (班级教室)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | class_classroom_id | int | 10 | 0 | N | Y | 班级教室ID | |
| 2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 4 | teacher_id | double | 9 | 2 | Y | N | 0.00 | 教师工号 |
| 5 | class_classroom | varchar | 64 | 0 | Y | N | 班级教室 | |
| 6 | class_size | double | 9 | 2 | Y | N | 0.00 | 班级人数 |
| 7 | class_students | varchar | 64 | 0 | Y | N | 班级学生 | |
| 8 | class_notes | text | 65535 | 0 | Y | N | 班级备注 | |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表class_grades (班级成绩)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | class_grades_id | int | 10 | 0 | N | Y | 班级成绩ID | |
| 2 | academic_year_information | varchar | 64 | 0 | Y | N | 学年信息 | |
| 3 | exam_subjects | varchar | 64 | 0 | Y | N | 考试科目 | |
| 4 | exam_class | varchar | 64 | 0 | Y | N | 考试班级 | |
| 5 | total_number_of_candidates | double | 9 | 2 | Y | N | 0.00 | 考生总数 |
| 6 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 7 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 8 | teacher_id | double | 9 | 2 | Y | N | 0.00 | 教师工号 |
| 9 | class_total_score | double | 9 | 2 | Y | N | 0.00 | 班级总分 |
| 10 | average_score | varchar | 64 | 0 | Y | N | 平均分数 | |
| 11 | class_compliance_rate | varchar | 64 | 0 | Y | N | 班级达标率 | |
| 12 | test_paper_details | longtext | 2147483647 | 0 | Y | N | 试卷明细 | |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 15 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 16 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 17 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
表code_token
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | code_token_id | int | 10 | 0 | N | Y | ||
| 2 | token | varchar | 255 | 0 | Y | N | ||
| 3 | code | varchar | 255 | 0 | Y | N | 验证码 | |
| 4 | expire_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 失效时间 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表course_adjustment_application (调课申请)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | course_adjustment_application_id | int | 10 | 0 | N | Y | 调课申请ID | |
| 2 | course_schedule_number | varchar | 64 | 0 | Y | N | 课表编号 | |
| 3 | schedule_name | varchar | 64 | 0 | Y | N | 课表名称 | |
| 4 | classroom_scheduling | varchar | 64 | 0 | Y | N | 排课教室 | |
| 5 | scheduling_teacher | varchar | 64 | 0 | Y | N | 排课教师 | |
| 6 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 7 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 8 | teacher_id | double | 9 | 2 | Y | N | 0.00 | 教师工号 |
| 9 | application_time | date | 10 | 0 | Y | N | 申请时间 | |
| 10 | reason_for_application | text | 65535 | 0 | Y | N | 申请缘由 | |
| 11 | application_remarks | text | 65535 | 0 | Y | N | 申请备注 | |
| 12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 16 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 17 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 18 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
表exam_arrangement (考试安排)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | exam_arrangement_id | int | 10 | 0 | N | Y | 考试安排ID | |
| 2 | academic_year_information | varchar | 64 | 0 | Y | N | 学年信息 | |
| 3 | exam_subjects | varchar | 64 | 0 | Y | N | 考试科目 | |
| 4 | invigilator_teacher | varchar | 64 | 0 | Y | N | 监考教师 | |
| 5 | exam_class | varchar | 64 | 0 | Y | N | 考试班级 | |
| 6 | exam_students | varchar | 64 | 0 | Y | N | 考试学生 | |
| 7 | total_number_of_candidates | double | 9 | 2 | Y | N | 0.00 | 考生总数 |
| 8 | exam_time | datetime | 19 | 0 | Y | N | 考试时间 | |
| 9 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
| 10 | exam_instructions | text | 65535 | 0 | Y | N | 考试说明 | |
| 11 | class_grades_limit_times | int | 10 | 0 | N | N | 0 | 班级成绩限制次数 |
| 12 | student_grades_limit_times | int | 10 | 0 | N | N | 0 | 学生成绩限制次数 |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表hits (用户点击)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表homework_information (作业信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | homework_information_id | int | 10 | 0 | N | Y | 作业信息ID | |
| 2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
| 3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
| 4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
| 5 | homework_subject | varchar | 64 | 0 | Y | N | 作业科目 | |
| 6 | submission_time | datetime | 19 | 0 | Y | N | 提交时间 | |
| 7 | homework_details | longtext | 2147483647 | 0 | Y | N | 作业详情 | |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表leave_information (请假信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | leave_information_id | int | 10 | 0 | N | Y | 请假信息ID | |
| 2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
| 3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
| 4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
| 5 | leave_subject | varchar | 64 | 0 | Y | N | 请假科目 | |
| 6 | leave_time | datetime | 19 | 0 | Y | N | 请假时间 | |
| 7 | reason_for_leave | varchar | 64 | 0 | Y | N | 请假缘由 | |
| 8 | special_remarks | text | 65535 | 0 | Y | N | 特殊备注 | |
| 9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表schedule (日程管理)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | schedule_id | smallint | 5 | 0 | N | Y | 日程ID:[0,32767] | |
| 2 | content | varchar | 255 | 0 | Y | N | 日程内容 | |
| 3 | scheduled_time | datetime | 19 | 0 | Y | N | 计划时间 | |
| 4 | user_id | int | 10 | 0 | N | N | 用户id | |
| 5 | create_time | datetime | 19 | 0 | Y | N | 创建时间 | |
| 6 | update_time | datetime | 19 | 0 | Y | N | 更新时间 |
表schedule_of_classes (排课课表)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | schedule_of_classes_id | int | 10 | 0 | N | Y | 排课课表ID | |
| 2 | course_schedule_number | varchar | 64 | 0 | Y | N | 课表编号 | |
| 3 | schedule_name | varchar | 64 | 0 | Y | N | 课表名称 | |
| 4 | classroom_scheduling | varchar | 64 | 0 | Y | N | 排课教室 | |
| 5 | scheduling_teacher | varchar | 64 | 0 | Y | N | 排课教师 | |
| 6 | scheduling_time | date | 10 | 0 | Y | N | 排课时间 | |
| 7 | remarks_and_explanation | text | 65535 | 0 | Y | N | 备注说明 | |
| 8 | scheduling_number | int | 10 | 0 | N | N | 1 | 单日最多排次数 |
| 9 | scheduling_period | enum | 1 | 0 | N | N | 1 | 周期 |
| 10 | scheduling_date_options | text | 65535 | 0 | Y | N | 时间设置 | |
| 11 | timetable | text | 65535 | 0 | Y | N | 排期表 | |
| 12 | course_adjustment_application_limit_times | int | 10 | 0 | N | N | 0 | 申请调课限制次数 |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表score (评分)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | score_id | int | 10 | 0 | N | Y | 评分ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评分人: |
| 3 | nickname | varchar | 64 | 0 | Y | N | 昵称: | |
| 4 | score_num | double | 5 | 2 | N | N | 0.00 | 评分: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 8 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 9 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表student_grades (学生成绩)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | student_grades_id | int | 10 | 0 | N | Y | 学生成绩ID | |
| 2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
| 3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
| 4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
| 5 | academic_year_information | varchar | 64 | 0 | Y | N | 学年信息 | |
| 6 | exam_subjects | varchar | 64 | 0 | Y | N | 考试科目 | |
| 7 | exam_class | varchar | 64 | 0 | Y | N | 考试班级 | |
| 8 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 9 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 10 | teacher_id | double | 9 | 2 | Y | N | 0.00 | 教师工号 |
| 11 | exam_results | double | 9 | 2 | Y | N | 0.00 | 考试成绩 |
| 12 | performance_evaluation | varchar | 64 | 0 | Y | N | 成绩评价 | |
| 13 | test_paper_details | longtext | 2147483647 | 0 | Y | N | 试卷明细 | |
| 14 | teaching_evaluation_limit_times | int | 10 | 0 | N | N | 0 | 教学评价限制次数 |
| 15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 17 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 18 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 19 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
表student_information (学生信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | student_information_id | int | 10 | 0 | N | Y | 学生信息ID | |
| 2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
| 3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
| 4 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
| 5 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
| 6 | student_information | varchar | 64 | 0 | Y | N | 学籍信息 | |
| 7 | college_name | varchar | 64 | 0 | Y | N | 学院名称 | |
| 8 | class_information | varchar | 64 | 0 | Y | N | 班级信息 | |
| 9 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
| 10 | contact_information | varchar | 16 | 0 | Y | N | 联系方式 | |
| 11 | student_credits | double | 9 | 2 | Y | N | 0.00 | 学生学分 |
| 12 | credit_details | text | 65535 | 0 | Y | N | 学分明细 | |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表student_users (学生用户)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
| 2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
| 3 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
| 4 | student_id | double | 9 | 2 | N | N | 0.00 | 学生学号 |
| 5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表teacher_information (教师信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | teacher_information_id | int | 10 | 0 | N | Y | 教师信息ID | |
| 2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 4 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
| 5 | contact_number | varchar | 16 | 0 | Y | N | 联系电话 | |
| 6 | position_status | varchar | 64 | 0 | Y | N | 岗位状态 | |
| 7 | college_information | varchar | 64 | 0 | Y | N | 学院信息 | |
| 8 | class_information | varchar | 64 | 0 | Y | N | 班级信息 | |
| 9 | teaching_subjects | varchar | 64 | 0 | Y | N | 教学科目 | |
| 10 | work_experience | text | 65535 | 0 | Y | N | 工作经历 | |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表teacher_users (教师用户)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
| 2 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 3 | teacher_id | double | 9 | 2 | N | N | 0.00 | 教师工号 |
| 4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表teaching_evaluation (教学评价)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | teaching_evaluation_id | int | 10 | 0 | N | Y | 教学评价ID | |
| 2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
| 3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
| 4 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
| 5 | academic_year_information | varchar | 64 | 0 | Y | N | 学年信息 | |
| 6 | exam_subjects | varchar | 64 | 0 | Y | N | 考试科目 | |
| 7 | exam_class | varchar | 64 | 0 | Y | N | 考试班级 | |
| 8 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
| 9 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
| 10 | scientific_evaluation | varchar | 64 | 0 | Y | N | 科任评价 | |
| 11 | counselor_evaluation | varchar | 64 | 0 | Y | N | 辅导员评价 | |
| 12 | textbook_evaluation | varchar | 64 | 0 | Y | N | 教材评价 | |
| 13 | comprehensive_recommendations | text | 65535 | 0 | Y | N | 综合建议 | |
| 14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 16 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 17 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 18 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
表upload (文件上传)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
| 3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
| 4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
| 5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
| 6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
| 7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
| 8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
表user (用户账户:用于保存用户登录信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | int | 10 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
| 8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
| 9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
| 10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
| 3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
4 高校教务管理系统详细设计与实现
4.1管理员功能模块
4.1.1用户登录界面
高校教务管理系统中的前台上注册后的用户是可以通过自己的用户名和密码进行登录的,当会员输入完整的自己的用户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的用户名和密码在数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到高校教务管理系统的首页中;否则将会提示相应错误信息,登录界面如下图所示。
图4-1用户登录界面图
登录关键代码如下:
public function login()
{
if (Request::isPost()) {
$request = Request::param();
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->login($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function login($request=[],$table_name = ''){
$username = $request['username'];
$password = $request['password'];
$bol = $this->where(['username'=>$username])->find();
if ($bol){
$password = md5($password);
if ($request['password']==$bol['password']) {
//添加token信息
$access_token['create_time'] = date('Y-m-d H:i:s');
$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
// $access_token['info'] = $bol;
$access_token['token'] = md5(date('Y-m-d H:i:s'));
$bol_token = Db::name('AccessToken')->insert($access_token);
if ($bol_token){
$data['obj'] = $bol;
$data['obj']['token'] = $access_token['token'];
return ['result' => $data];
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
}
} else {
return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
}
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
}
}
4.1.2系统用户管理界面
系统用户:添加、修改、删除系统用户(管理员、教师、学生等)。权限管理:设置不同用户角色的访问权限和操作权限。用户登录日志:记录用户的登录时间、IP地址等信息,以便审计和查看。
界面如下图所示。
图4-2系统用户管理界面图
4.1.3学生信息管理界面
学生信息管理:添加、编辑和删除学生基本信息(如姓名、学号、联系方式等)。学生查询:根据条件查询学生信息,支持多条件筛选。
界面如下图所示。
图4-3学生信息管理界面图
4.1.4教师信息管理界面
教师信息管理:添加、编辑和删除教师信息(如姓名、工号、职称等)。教师资历管理:记录和管理教师的教学经历、学历、研究方向等信息。教师查询:支持根据条件查询教师信息。
班级教室管理:添加、编辑和删除班级信息,包括班级名称、班级人数等。教室管理:管理教室的信息(如教室编号、容量、设备等)。
界面如图所示。
图4-4教师信息管理界面图
4.1.5 排课课表管理界面
排课课表管理:添加、修改和删除课程排课信息。课表生成:根据排课信息生成班级课表,支持导出功能。课表查询:按班级或教师查询课表信息。
界面如下图所示。
图4-5 排课课表管理界面图
4.1.6考试安排管理界面
考试安排管理:添加、编辑和删除考试安排信息。考试科目管理:定义每个课程的考试科目。考试安排查询:按班级或课程查询考试安排。
界面如下图所示。
图4-6考试安排管理理界面图
4.2教师用户功能模块
4.2.1教师用户管理界面
教师信息管理:添加、修改和删除教师信息;查询教师的基本信息(姓名、工号、职称、所授课程等);教师信息的导入和导出功能。
界面如下图4-7所示。
图4-7教师用户管理界面图
4.2.2 排课课表管理界面
排课课表管理:
课程安排的添加、修改和删除;根据课程和教师信息生成对应的课表;支持课表的查询和导出功能。
界面如下图所示。
图4-8排课课表管理界面图
4.2.3 教务评价管理界面
教学评价管理:收集学生对课程和教师的评价;统计和分析教学评价结果;发布教学评价的报告。
界面如下图所示。
图4-9教务评价界面图
4.3学生用户功能模块
4.3.1学生信息管理界面
学生信息管理:包括学号、姓名、性别、年级、专业、联系方式等。个人信息维护:允许学生更新个人信息,如联系方式、住址等。
界面如下图所示。
图4-10学生信息管理管理界面图
4.3.2考试安排管理界面
考试安排管理:查看各科目的考试时间、地点和考试形式(笔试、机试等)。学生可查看各科目考试成绩,方便了解学业情况。系统通过消息推送功能提醒学生即将到来的考试。界面如下图所示。
图4-11考试安排管理界面图
4.3.3学生成绩管理界面
学生成绩管理:学生可以查看各个学期的成绩,包括课程名称、学分、绩点等。提供成绩单的下载功能,支持PDF格式。界面如下图所示。
图4-12学生成绩管理界面图
5系统测试
5.1 测试目的
系统测试的目的就是为了找错,从开发好的系统当中通过各种手段、方法进行找错,看看系统是不是存在乱码的现象,是不是用户功能混乱,通过各种纠错,保证系统能够正常的运行,在测试中我们通过采用的是黑盒测试和白盒测试两种测试方法,通过黑盒测试,我们可以了解系统各项功能是不是能够实现,界面是不是美观,操作是不是方便,通过白盒测试,我们可以了解到某一条的具体编程代码是不是运行路径正确,能不能达到预期,从错误中不断完善,想尽一切办法找到系统中存在的错误,然后找到出错的具体原因,然后对系统进行修改,达到我们所要实现的功能,进而提高了系统的各种性能(安全性、可靠性、稳定性等)。
系统测试不是程序开发完以后才开始的,他贯穿了开发的整个过程,在开发的过程中我们都会对实现的代码进行一点一点的测试,从而完成系统,再对系统进行整体测试,保证每个用户在使用的时候都能做到系统运行流程,满足信息增删改查等主要功能。
5.2 系统测试用例
表5.1 登录模块功能测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 登录模块测试 | 登录成功的情况 | 管理员可以通过浏览器进入到高校教务管理系统后台的登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。 | 成功登录到管理员管理的界面 | 正确 |
| 登录模块测试 | 登录失败的情况 | 管理员可以通过浏览器进入到高校教务管理系统的后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。 | 系统提示“用户名和密码不匹配” | 正确 |
学生信息添加功能测试:
表5.2 学生信息添加功能测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 学生信息添加模块测试 | 学生信息添加成功的情况 | 在“学生信息信息”点击 “新增”,输入学生信息相关信息,输入正确的信息后,点击“提交”按钮。 | 提示添加成功 | 正确 |
| 学生信息添加模块测试 | 学生信息添加失败的情况 | 在“资源管理”菜单中选择“学生信息”点击 “新增”,不输入新闻标题,其他信息正常填写后,点击“提交”按钮。 | 提示“添加失败,新闻标题不能为空” | 正确 |
查看考试安排信息功能模块测试:
表5.3 查看考试安排信息功能测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 查看考试安排信息功能测试 | 考试安排信息显示成功的情况 | 管理员点击“考试安排”进入考试安排列表,任性一条考试安排,查看详情 | 考试安排显示成功 | 正确 |
教务信息模块测试:
表5.4 教务信息测试表
| 测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
| 教务信息测试 | 查看成功的情况 | 用户在“教务信息”菜单中点击,点击“详情”根据提示输入帖子,点击“提交”。 | 查看成功 | 正确 |
5.3 系统测试结果
通过编写高校教务管理系统的测试用例,已经检测完毕登录、学生信息添加、考试安排信息查看、教务信息测试,通过这4大模块为高校教务管理系统的后期推广运营提供了强力的技术支撑。
结论
在开发本高校教务管理系统之前我胸有成竹,觉得很简单,但在实际的开发中我发现了自身的很多问题,许多编程思想和方法都还没有掌握牢靠,比如AJAX 、PHP等许多PHP 开发技术,通过开发这个高校教务管理系统我成长了很多,懂得了做什么事情都要脚踏实地,不能眼高手低,在本次高校教务管理系统的开发中我逐渐掌握逐渐熟悉的技术。
本次高校教务管理系统的开发中我还学会了很多,例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给公司团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。
在本次项目中我也暴露了诸多问题。对于PHP的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。
参考文献
[1]陈洪波.基于PHP开发技术的网站管理系统的设计[J].黑龙江科学,2024,15(20):150-152.
[2]武镇.基于PHP+MySQL的智能药箱系统分析与设计[J].现代计算机,2024,30(19):85-90.
[3]蔡好好.高校教务管理系统在考务、成绩管理中的应用[J].办公自动化,2024,29(18):71-74.
[4]杨庆虎.基于PHP+MySQL的通信录系统设计与实现[J].现代计算机,2024,30(17):117-120.
[5]罗曼,许辉.高校教务信息管理系统的应用与完善路径探索[J].信息与电脑(理论版),2024,36(15):78-80.
[6]宋沛栩.大数据视角下高校教务管理系统信息化建设研究[J].数字通信世界,2024,(07):40-42+123.
[7]傅浚哲,柴本成.基于PHP的学生考务管理系统设计与实现[J].电脑编程技巧与维护,2024,(06):73-75+82.DOI:10.16184/j.cnki.comprg.2024.06.013.
[8]张铭军.高校教务管理系统安全防范研究[J].信息与电脑(理论版),2024,36(11):121-123.
[9]宋天威.基于PHP+MySQL的变电站接地线管理系统设计研究[J].电脑知识与技术,2024,20(05):48-51+55.DOI:10.14004/j.cnki.ckt.2024.0189.
[10]杜江舟.高校教务管理系统信息化建设研究[J].科教文汇,2023,(21):13-15.DOI:10.16871/j.cnki.kjwh.2023.21.004.
[11]沈镱武,徐弼昉,仇琦.高校教务管理系统信息化研究[J].科技风,2023,(25):90-92.DOI:10.19392/j.cnki.1671-7341.202325030.
[12]徐飞.高校教务信息管理系统中关联规则挖掘算法改进研究和应用[J].信息记录材料,2023,24(08):44-46.DOI:10.16009/j.cnki.cn13-1295/tq.2023.08.009.
[13]李欢,熊雯婷.高校教务管理系统自动化运维初探[J].湖南大众传媒职业技术学院学报,2023,23(01):38-42.DOI:10.16261/j.cnki.cn43-1370/z.2023.01.009.
[14]唐瑞明,谭倩芳.高校教务管理系统设计[J].电子技术与软件工程,2023,(03):49-53.DOI:10.20109/j.cnki.etse.2023.03.013.
[15]熊靖.高校教务管理系统的研究与设计[M].知识产权出版社:202209.141.
[16]尹慧慧,杨梓桐,李琳琳,等.应用型本科高校学业考评制度在教务管理系统中的实现策略研究[J].哈尔滨学院学报,2022,43(07):125-128.
[17]罗晋煌.高校教务管理系统信息化建设的问题及解决方法[J].无锡职业技术学院学报,2022,21(04):55-58+76.DOI:10.13750/j.cnki.issn.1671-7880.2022.04.011.
[18]沈镱武.教务管理系统在高校的现状分析研究[J].电脑知识与技术,2022,18(14):125-126.DOI:10.14004/j.cnki.ckt.2022.0873.
[19]魏然.探讨高校教务管理系统信息化研究与应用[J].中国多媒体与网络教学学报(上旬刊),2021,(07):7-9.
[20]胡彬.高校教务管理系统信息化建设研究[J].教育信息化论坛,2021,(06):67-68.
致 谢
“时光荏苒,岁月如梭”,四年的大学生涯在这里即将结束,我也即将离开我的母校,踏入社会,在这离开之际,借此机会,我首选要感谢的就是我的老师们,在这四年的学习、生活中,他们给了我很多的帮助,在我消极的时候鼓励我,帮助我走出困境,学习遇到困难的时候,每位老师都孜孜不倦;其次我要感谢我的指导老师,在开发本高校教务管理系统的时候遇到了很多困难,比如前期调查不仔细,功能模块设计的有问题,导师通过细心的沟通、讲解,慢慢让我对系统有了更进一步的了解,在系统开发框架的选择上,导师给我推荐了PHP,让我在系统的设计上更加省力,在这期间我对这两个框架还不够熟悉,都是导师耐心的讲解、指导,无论多晚,导师有多忙,总是第一时间为我答疑解惑,可以说没有导师的帮助,我是没有办法完成这个高校教务管理系统的,在这里我还要感谢我的同学们,他们无论在学习还是在生活中都给予了我很大的帮助,我相信我们的友谊会天长地久。
最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!祝愿我的母校越来越辉煌,祝愿老师们桃李满天下,祝愿同学们前程似锦!
428

被折叠的 条评论
为什么被折叠?



