摘 要
随着社会的发展和教育的进步,学校请销假管理成为了一个重要的课题。本研究的意义在于设计并实施一个智能化的请销假系统,以提高学校管理效率和减少工作负担。通过对某学校请销假系统的深入研究,利用Spring Boot、Java和MySQL等技术,结合文献综述和实证研究相结合的方法,探讨如何开发一个方便、高效的请销假管理系统。经过系统设计与实施,成功开发了一个具有多角色用户支持、自动化审批流程、假期数据统计功能以及年级和班级信息提供等特点的智能化请销假系统,为学校提供了一个更加智能化和便捷的请销假管理解决方案。
关键词:学校请销假系统;springboot;Java
目 录
1 系统设计目标
1.系统要实现的总体目标
该请销假系统的总体目标是为管理员、学生用户、教师用户和主任用户提供一个方便、高效的管理平台,以实现请假信息的提交、审批、统计和年级班级信息的提供。具体而言,学生用户可以通过系统提交请假申请,并随时查看请假状态和历史记录;教师用户可以对学生的请假申请进行审批,并提供反馈意见;主任用户可以对教师的审批结果进行最终确认,并进行统计分析;管理员用户则负责管理用户角色和权限,并能够导出统计报表。通过实现这些基本功能,该系统旨在提高请销假流程的效率,减少纸质文件和人工操作的需求,实现请假审批流程的自动化,方便学校进行假期管理和统计分析,并提供更加智能化和便捷的请销假管理解决方案。
该请销假系统具有以下优点:首先,它能够提高请销假流程的效率,减少了纸质文件和人工操作的需求,从而加快了处理速度。其次,系统实现了请假审批流程的自动化,通过设定规则和条件进行自动审批,提高了审批的效率和准确性。此外,系统还提供假期数据统计功能,方便学校进行假期管理和统计分析,为学校的决策提供参考依据。最后,系统提供年级和班级信息的管理和展示,方便学校进行班级请销假管理,提高了管理的精确性和便捷性。综上所述,该请销假系统通过提高效率、实现自动化审批、提供统计功能和班级管理,为学校提供了一个更加智能化和便捷的请销假管理解决方案。
运行环境: 该请销假系统的运行环境要求如下:
操作系统:支持Windows、Linux或Mac OS等常见操作系统。
开发语言:使用Java编程语言开发。
数据库:使用MySQL关系型数据库管理系统。
Web容器:使用Spring Boot框架搭建Web应用,并部署在Tomcat或其他支持Java的Web容器上。
- 毕业设计的步骤阶段
(1)确定研究主题和目标:选择某学校请销假系统作为研究对象,并明确系统的设计目标和功能要求。这一阶段需要对学校的请销假流程进行调研和分析,确定系统所需的基本功能和特点。
(2)文献综述:通过查阅相关文献,了解请销假系统的设计原则和最佳实践。这一阶段的目标是获取关于请销假系统设计和实施的理论基础,了解已有的研究成果和经验,为系统设计提供参考和指导。
(3)系统设计:基于Spring Boot、Java和MySQL等技术,设计系统的架构、数据库结构和用户界面等。在这一阶段,需要根据学校的具体需求和功能要求,进行系统的整体设计和模块划分,确定系统的技术框架和开发方案。
(4)系统实施:根据设计方案,进行系统开发和编码工作,实现系统的各项功能。这一阶段需要进行软件开发和编程工作,将系统设计转化为可运行的代码,并逐步完善系统的各个模块和功能。
(5)系统测试与优化:对系统进行功能测试、性能测试和用户体验测试,根据测试结果进行优化和改进。这一阶段的目标是确保系统的稳定性、安全性和可用性,通过不断的测试和调试,解决系统中可能存在的问题和缺陷。
(6)系统部署与应用:将系统部署到服务器上,并进行实际应用和用户反馈收集。在这一阶段,需要将系统部署到适当的服务器环境中,并让真实的用户使用系统,收集他们的反馈和意见,以便进一步改进和优化系统。
(7)撰写论文:整理研究过程和结果,撰写毕业设计论文,并进行评审和修改。这一阶段需要将整个研究过程进行总结和归纳,撰写出完整的毕业设计论文,包括引言、研究方法、实施过程、结果分析和结论等部分。
(8)最终答辩:进行毕业设计的最终答辩,展示研究成果并回答评委的提问。在答辩过程中,需要向评委展示系统的设计和实施过程,说明研究的创新点和贡献,并回答评委的提问和意见。
2 系统需求分析
2.1可行性研究
2.1.1技术可行性分析
某学校请销假系统存储所使用的是Mysql数据库以及开发中所使用的是IDEA、Tomcat这些开发工具的使用,能够给编写工作带来许多的便利。系统使用SpringBoot框架进行开发,使系统的可扩展性和维护性更佳,减少Java配置代码,简化编程代码,目前SpringBoot框架也是很多企业选择的框架之一。
在开发某学校请销假系统中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,这些环境在学校都进行了系统的学习,自己能够独立操作完成,不需要额外花费,而且系统的开发工具从网上都可以直接下载,因此在经济方面是可行的。
此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。
本部分介绍系统的需求模型(以面向对象方法论为例),内容包括但不限于系统可行性分析
2.2系统功能需求
某学校请销假系统提供了丰富的功能,以满足学生用户、教师用户、主任用户和管理员的不同需求。对于学生用户,系统提供请假信息、一级审批、二级审批、销假信息等功能,方便学生提交请假信息、查看请假审批状态。对于教师、主任用户,系统提供请假信息、一级审批、二级审批、销假信息、假期统计等功能,帮助教师、主任了解请假信息和审批状态。对于管理员,系统提供系统用户(管理员、学生用户、教师用户、主任用户)请假信息、一级审批、二级审批、销假信息、假期统计、年级信息、班级信息等。通过这些功能,某学校请销假系统提高了运营效率、优化了服务质量,具体如下。
(1)管理员用户功能:
首页:显示系统概览和重要通知,提供快速导航到其他功能模块。
系统用户:管理系统用户角色和权限,包括添加、编辑和删除用户,设置用户的角色和权限。
请假信息:查看和管理所有请假信息,包括审批状态、申请时间等,可以进行搜索、筛选和排序操作。
一级审批:对学生提交的请假申请进行一级审批,包括同意或拒绝,并提供反馈意见。
二级审批:对经过一级审批的请假申请进行二级审批,包括同意或拒绝,并提供反馈意见。
销假信息:查看和管理学生的销假信息,包括销假时间和销假原因。
假期统计:统计并展示假期数据,如请假次数、请假时长等,生成报表和图表以便于分析和决策。
年级信息:管理年级信息,包括添加、编辑和删除年级,设置年级的班级信息。
班级信息:管理班级信息,包括添加、编辑和删除班级,设置班级的学生和教师信息。
(2)学生用户功能:
首页:显示个人信息和重要通知,提供快速导航到其他功能模块。
请假信息:提交请假申请,包括填写请假事由、请假时间等,可以查看自己的请假状态和历史记录。
一级审批:查看一级审批结果和反馈意见,根据教师的审批结果进行相应操作。
二级审批:查看二级审批结果和反馈意见,根据主任的审批结果进行相应操作。
销假信息:提交销假申请,包括填写销假时间和销假原因,可以查看自己的销假状态和历史记录。
(3)教师用户功能:
请假信息:查看学生提交的请假申请,根据请假事由和时间进行审批操作。
一级审批:对学生的请假申请进行一级审批,包括同意或拒绝,并提供反馈意见。
二级审批:对经过一级审批的请假申请进行二级审批,包括同意或拒绝,并提供反馈意见。
销假信息:查看学生的销假信息,确认学生的销假时间和原因。
(4)主任用户功能:
请假信息:查看学生提交的请假申请,根据请假事由和时间进行审批操作。
一级审批:对学生的请假申请进行一级审批,包括同意或拒绝,并提供反馈意见。
二级审批:对经过一级审批的请假申请进行二级审批,包括同意或拒绝,并提供反馈意见。
销假信息:查看学生的销假信息,确认学生的销假时间和原因。
假期统计:统计并展示主任的假期数据,如请假次数、请假时长等,生成报表和图表以便于分析和决策。
通过为不同用户角色提供相应的功能模块和操作界面,系统能够满足管理员、学生、教师和主任在请销假管理中的具体需求,实现方便、高效的请销假流程。
(1)系统整体用例图
图2-1 系统用例图
表2-1 学生请假用例表
用例名称 | 请假 |
参与者 | 用户 |
前置条件 | 用户成功登录某学校请销假系统 |
基本事件流 | 1 系统要求用户选择章请假时间。 2 用户选择请假时间,系统得到该时间属可请假。 3 用户选择时间 。 4系统获得请假信息。 5 用户对请假信息进行填写。 5.1 用户选择开始时间。 5.2 用户选择结束时间,系统进入结束时间选择界面。 5.3 用户填写请假原因,系统保存请假原因信息。 5.4 用户提交请假,系统生成请假详情,显示请假列表。 |
异常事件流 | 1 用户不选择开始时间,不能提交请假信息。 2 用户不选择结束时间,不能提交请假信息。 3 用户不填写请假原因,不能为空,不能提交请假信息。 4 网络异常,界面显示网络未连接。 |
注释 | 无 |
2.3系统性能需求
某学校请销假系统的的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-2表格中:
表2.2 某学校请销假系统非功能需求表
安全性 | 主要指某学校请销假系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指某学校请销假系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响某学校请销假系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着某学校请销假系统的页面展示内容进行操作,就可以了。 |
可维护性 | 某学校请销假系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3 系统总体设计
系统在结构上的设计至关重要,要考虑周全,设计全面,一个完善的结构体系,能够满足用户在使用时的各种需求,这样会让提高程序的使用率,保证程序被长久的利用。在设计某学校请销假系统的结构时,也列入重点,采用模块化的方法来进行设计,即首先将大模块确定下来,再慢慢的将大模块进行补充完善,向下分支出小模块,一起共同组成的系统的结构体系,下图是该某学校请销假系统的结构设计图,直观明了的可以看出本项目程序的功能。
3.1 系统模块结构设计

(1)管理员管理模块:
- 系统用户:管理系统用户角色和权限,包括添加、编辑和删除用户信息。
- 请假信息:查看学生的请假申请记录,包括请假原因、时间等。
- 一级审批:对学生的请假申请进行一级审批,包括同意或拒绝,并提供审批意见。
- 二级审批:对学生的请假申请进行二级审批,包括同意或拒绝,并提供审批意见。
- 销假信息:查看学生的销假申请记录,包括销假原因、时间等。
- 假期统计:统计全校或各个年级的请假情况,包括请假人数、请假天数等。
- 年级信息:查看各个年级的基本信息,如年级名称、年级负责人等。
- 班级信息:查看各个班级的基本信息,如班级名称、班主任等。
(2)学生用户模块:
- 首页:显示个人信息和重要通知,提供快速导航到其他功能模块。
- 请假信息:提交请假申请,填写请假原因、时间等相关信息。
- 一级审批:查看一级审批进度和结果,接收教师的审批意见。
- 二级审批:查看二级审批进度和结果,接收主任的审批意见。
- 销假信息:提交销假申请,填写销假原因、时间等相关信息。
(3)教师用户模块:
- 请假信息:查看学生的请假申请记录,包括请假原因、时间等。
- 一级审批:对学生的请假申请进行一级审批,包括同意或拒绝,并提供审批意见。
- 二级审批:对学生的请假申请进行二级审批,包括同意或拒绝,并提供审批意见。
- 销假信息:查看学生的销假申请记录,包括销假原因、时间等。
- 假期统计:统计全校或各个年级的请假情况,包括请假人数、请假天数等。
(4)主任用户功能模块:
- 请假信息:查看学生的请假申请记录,包括请假原因、时间等。
- 一级审批:对学生的请假申请进行一级审批,包括同意或拒绝,并提供审批意见。
- 二级审批:对学生的请假申请进行二级审批,包括同意或拒绝,并提供审批意见。
- 销假信息:查看学生的销假申请记录,包括销假原因、时间等。
- 假期统计:统计全校或各个年级的请假情况,包括请假人数、请假天数等。
3.2 数据库设计
在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本某学校请销假系统的主要的数据库表如下:
在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本某学校请销假系统的主要的数据库表如下:
表chief_user (主任用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | chief_user_id | int | 10 | 0 | N | Y | 主任用户ID | |
2 | directors_name | varchar | 64 | 0 | Y | N | 主任姓名 | |
3 | directors_job_number | varchar | 64 | 0 | Y | N | 主任工号 | |
4 | directors_gender | varchar | 64 | 0 | Y | N | 主任性别 | |
5 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
6 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | class_information_id | int | 10 | 0 | N | Y | 班级信息ID | |
2 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | first_level_approval_id | int | 10 | 0 | N | Y | 一级审批ID | |
2 | first_level_approval | int | 10 | 0 | Y | N | 0 | 一级审批 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
8 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
9 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
10 | leave_days | int | 10 | 0 | Y | N | 0 | 请假天数 |
11 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
12 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
13 | reason_for_taking_leave | text | 65535 | 0 | Y | N | 请假原因 | |
14 | approval_status | varchar | 64 | 0 | Y | N | 审批状态 | |
15 | approval_time | datetime | 19 | 0 | Y | N | 审批时间 | |
16 | teachers_opinion | text | 65535 | 0 | Y | N | 教师意见 | |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | grade_information_id | int | 10 | 0 | N | Y | 年级信息ID | |
2 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | holiday_statistics_id | int | 10 | 0 | N | Y | 假期统计ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
6 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
7 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
8 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
9 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
10 | leave_days | int | 10 | 0 | Y | N | 0 | 请假天数 |
11 | statistical_time | datetime | 19 | 0 | Y | N | 统计时间 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表leave_cancellation_information (销假信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | leave_cancellation_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 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | leave_days | int | 10 | 0 | Y | N | 0 | 请假天数 |
8 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
9 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
10 | reason_for_taking_leave | text | 65535 | 0 | Y | N | 请假原因 | |
11 | first_level_approval | int | 10 | 0 | Y | N | 0 | 一级审批 |
12 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
13 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
14 | back_to_school_time | datetime | 19 | 0 | Y | N | 返校时间 | |
15 | reason_for_termination_of_leave | text | 65535 | 0 | Y | N | 销假事由 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | first_level_approval | int | 10 | 0 | Y | N | 0 | 一级审批 |
8 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
9 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
10 | leave_days | int | 10 | 0 | Y | N | 0 | 请假天数 |
11 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
12 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
13 | reason_for_taking_leave | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | secondary_approval_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 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | leave_days | int | 10 | 0 | Y | N | 0 | 请假天数 |
8 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
9 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
10 | reason_for_taking_leave | text | 65535 | 0 | Y | N | 请假原因 | |
11 | first_level_approval | int | 10 | 0 | Y | N | 0 | 一级审批 |
12 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
13 | teacher_id | varchar | 64 | 0 | Y | N | 教师工号 | |
14 | teachers_opinion | text | 65535 | 0 | Y | N | 教师意见 | |
15 | secondary_approval | int | 10 | 0 | Y | N | 0 | 二级审批 |
16 | directors_name | varchar | 64 | 0 | Y | N | 主任姓名 | |
17 | directors_job_number | varchar | 64 | 0 | Y | N | 主任工号 | |
18 | approval_time | datetime | 19 | 0 | Y | N | 审批时间 | |
19 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
20 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感词汇 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
3 | student_id | varchar | 64 | 0 | N | N | 学生学号 | |
4 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
5 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
8 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
2 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
3 | teacher_id | varchar | 64 | 0 | N | N | 教师工号 | |
4 | teacher_gender | varchar | 64 | 0 | Y | N | 教师性别 | |
5 | grade_name | varchar | 64 | 0 | Y | N | 年级名称 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
8 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4 系统详细设计与实现
4.1管理员登录的设计与实现
管理员户在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员账号进行匹配,账号+密码+验证码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。

图4.1 登录界面图
登录代码如下:

4.2用户注册的设计与实现
注册模块满足用户两部分,当用户想要进行相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其主界面展示如下图4.2所示。

图4.2 注册界面图
注册代码如下:

4.3管理员对用户管理的设计与实现
管理员可以对系统中所有的用户角色进行管控,包含了管理员、学生用户、教师用户、主任用户这四种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户,界面如下图所示。

图4.3 用户添加界面图
4.4管理员对请假信息的设计与实现
管理员查看和管理所有请假信息,包括审批状态、申请时间等,可以进行搜索、筛选和排序操作。界面如下图4.4所示。

图4.4 请假信息界面图
关键代码:

4.5管理员对一级审批的设计与实现
对学生提交的请假申请进行详情查看,同时支持对一级审批进行二级审批、申请销假、数据统计等操作。界面如下图所示。

图4.5 一级审批界面图
4.6管理员对二级审批的设计与实现
对学生提交的请假申请进行详情查看,同时支持对二级审批进行申请销假、数据统计等操作。界面如下图所示。

图4.6 二级审批管理界面图
4.7管理员对假期统计的设计与实现
管理员统计并展示假期数据,如请假次数、请假时长等,生成报表和图表以便于分析和决策。界面如下图所示。

图4.7 假期统计添加界面图
5.1测试的目的
通过前面章节的介绍,我们可以看到本某学校请销假系统已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。
5.2系统部分测试
用户登录功能测试:
表5.1 用户登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 用户登录成功的情况 | 点击前登录界面输入账号和密码分别输入admin和admin后点击“登录”按钮。 | 登录成功并调整到用户界面 | 正确 |
请假信息添加功能测试:
表5.2 请假信息添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
请假信息添加模块测试 | 请假信息添加成功的情况 | 在请假信息的页面中将点击添加,输入请假信息,输入正确的信息后然后点击“提交”按钮。 | 提示添加成功 | 正确 |
请假信息添加模块测试 | 请假信息添加失败的情况 | 在请假信息页面中不填写请假时间,其他信息正常输入“提交”按钮。 | 提示“添加失败,信息不能为空” | 正确 |
查询销假信息功能模块测试:
表5.3 查询销假信息功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询销假信息功能测试 | 查询成功的情况 | 在销假信息界面输入学生姓名行查询 | 查询成功 | 正确 |
一级审批功能测试:
表5.4 一级审批功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
一级审批模块测试 | 一级审批成功的情况 | 在请假信息的页面中将点击一级审批,输入学生相关信息,输入审核的然后点击“提交”按钮。 | 提示提交成功 | 正确 |
一级审批模块测试 | 一级审批失败的情况 | 在请假信息信息页面中不填写的审批信息,其他信息正常输入“提交”按钮。 | 提示“审核失败,信息不能为空” | 正确 |
5.3系统测试结果
通过编写某学校请销假系统的测试用例,已经检测完毕用户的登录模块、请假信息添加模块、一级审批模块、销假信息添加模块的功能测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。
本系统是基于SpringBoot开发的某学校请销假系统,旨在提高请销假流程的效率和减少纸质工作量。系统包括管理员、学生用户、教师用户和主任用户等角色,并具备请假信息管理、一级审批、二级审批、销假信息管理、假期统计、年级信息管理和班级信息管理等功能模块。
通过该系统,学生用户可以方便地提交请假申请并查看请假进度,教师用户可以进行请假审批和销假操作,主任用户可以进行二级审批和假期统计。管理员则负责系统用户管理、年级信息管理和班级信息管理等任务。
系统的成果包括提高了请销假流程的效率,减少了纸质文档的使用,方便了各个角色用户的操作,并实现了对假期情况的统计和分析。此外,系统采用SpringBoot框架和MySQL数据库,具有良好的可扩展性和稳定性,界面简洁直观,用户操作友好。
然而,系统仍存在一些问题。首先,权限管理需要进一步完善,确保各个角色用户只能访问其具备权限的功能模块。其次,界面设计可以进一步优化,提升用户体验和界面美观度。另外,假期统计功能可以进行更详细的数据分析和报表展示,为学校管理层提供更全面的决策依据。
为了改进系统,建议完善权限管理机制,优化界面设计,加强假期统计功能,引入消息通知功能,并进行性能优化和安全加固。这些改进措施将进一步提升系统的功能完善程度、用户体验和系统性能,满足学校请销假管理的需求。
对系统的总结,做了哪些工作,系统具有哪些功能,取得了哪些成果,系统有哪些特点,优缺点,存在的问题是什么,改进方法或下一步的工作建议。
[1]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.
[2]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.
[3]聂亚.计算机编程语言的选用技巧分析[J].电子技术,2023,52(10):206-207.
[4]孟思明.基于SpringBoot框架选购系统的设计与实现[J].中国设备工程,2023,(11):94-95.
[5]谷建鹏.基于SpringBoot框架的即时通信系统开发[J].信息与电脑(理论版),2023,35(11):134-136.
[6]王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
[7]王亚东,李晓霞,陈强强等.基于SpringBoot的需求发布平台设计[J].信息与电脑(理论版),2023,35(01):105-107.
[8]Yang Y .Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):
[9]阚允浩,储慧,王静等.基于C语言的请假系统[J].电脑知识与技术,2022,18(16):51-53.
[10]刘泽军,刘莹,王娇.请销假勤务管理系统小程序的设计与实现[J].电子技术与软件工程,2021,(18):40-41.
[11]Cheng F .Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J].Advances in Educational Technology and Psychology,2021,5(2):
[12]周清松,付星宇.高校学生请假管理系统的设计与开发[J].电脑知识与技术,2021,17(13):63-66+85.
[13]闫博.混合模式下高校学生请假管理系统设计研究[J].信息通信,2020,(08):163-164.
[14]阳海峰,胡耀文.学生请假系统助推高校学生管理[J].山西青年,2020,(06):73.
[15]游茜雅.高校请销假系统的设计与实现[J].信息与电脑(理论版),2020,32(05):78-80.
[16]李琪,吴洋,郑鑫.学生请假系统的研究与设计[J].电子世界,2019,(19):169-170.
[17]田升,郭凤婷,刘印锋.基于Web的学生请假管理设计与实现[J].电脑编程技巧与维护,2019,(06):100-103.
在结束之际,我要衷心感谢您的阅读。同时,我也想特别感谢我的导师。尽管我在实习期间非常忙碌,论文的撰写时常断断续续,但我的导师始终非常负责,经常询问我的任务进展情况,跟踪指导我的论文进度。在导师的帮助下,我逐步完成了自己的论文和程序,并从导师那里学到了许多知识和经验,受益匪浅。导师让我看到了自己的不足,无论是在技术层面还是对待工作的态度上,导师就像明镜一样照出了我的缺点和不足。
此外,我还要感谢在实习期间帮助过我的同学和社会人士,在论文和程序方面给予了我很多启发和建议。在编写程序的过程中,他们帮助我解决了很多问题,对于SpringBoot框架方面的知识他们给予了我许多的指导,同时也协助我调试和检测程序。没有他们的帮助,我无法顺利完成这次毕业设计。
最后,我的毕业设计在此圆满收官。再次感谢我的导师、同学和社会人士的支持和帮助,也感谢所有关心和支持我的人。这次毕业设计的经历将成为我宝贵的回忆,为我今后的学习和工作奠定了坚实的基础。谢谢大家!
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~