从20年代开始,计算机在人们的生活和工作中广泛应用,成为了人们生活、工作的得力助手。计算机深入到每个家庭和每个工作场所,网络办公和网络教学取代了传统的手工记录和管理方式。使用计算机办公可以不受时间和地点限制,通过计算机系统可以轻松实现跨区域的交流。
随着高等教育的普及,学生数量也持续增加。然而,传统的学生请假查询管理方式变得越来越不方便,手工查询管理降低了工作效率,增加了老师和学校的工作量,并且也不便于学生进行查询。因此,开发一个基于springboot技术框架的学生请假管理系统成为必要。
本系统以实际应用为背景,在角色上划分了管理员、学生用户、教师用户这三个部分,实现了学生及其相关信息(请假、销假、课程信息)的管理,方便学生资料的保留。教师和学生均可以通过注册并登录到系统中,对请销假和课程信息进行查询和管理。该学生请假管理系统采用java语言和springboot框架进行开发,使用MySQL数据库存储数据。
关键词:学生请假管理系统;java语言;springboot框架;MySQL数据库。
Since the 1920s, computers have been widely used in people's lives and work, becoming a powerful assistant for people's lives and work. Computers have penetrated into every home and workplace, and online office and teaching have replaced traditional manual recording and management methods. Using computers for office work is not limited by time and location, and cross regional communication can be easily achieved through computer systems.
With the popularization of higher education, the number of students continues to increase. However, the traditional way of managing student leave queries has become increasingly inconvenient. Manual query management reduces work efficiency, increases the workload of teachers and schools, and is also not convenient for students to query. Therefore, it is necessary to develop a student leave management system based on the Spring Boot technology framework.
This system is based on practical applications and divides roles into three parts: administrator, student user, and teacher user. It realizes the management of students and their related information (leave, cancellation, course information), facilitating the retention of student information. Both teachers and students can register and log in to the system to query and manage leave requests and course information. The student leave management system is developed using Java language and Springboot framework, and uses MySQL database to store data.
Keywords: Student Leave Management System; Java language; Springboot framework; MySQL database.
目录
1 绪论
在21世纪经济飞速发展的今天,各行业都广泛使用各种办公辅助软件,如企业的ERP软件、家庭的财务管理软件以及教育领域的学籍管理软件等。特别是在教育事业中,大部分学校已经开发了许多Web管理系统,供学生和教师进行在线学习和管理,如学籍系统、考试系统等。这些系统方便了数据维护和学生及其相关信息的管理,并在政治、经济、文化等多个领域广泛应用。
当前的教育已经不再仅仅以传统的单个班主任面向一群学生的课程教学形式为主,而是增加了各种不同辅助教学形式的多元化教学。这种变化正是由于计算机网络与教育的结合,利用网络形式的在线教学带来的众多优点所决定的。本课题研究的学生请假管理系统以计算机网络技术为主线,针对学生请假信息管理进行了各种功能的设计和实现。主要的功能模块包括管理员、教师用户和学生用户等管理、课程安排、考勤签到以及学生提交的请假申请和销假申请等。
通过该系统的研究与开发,可以更加便捷地管理学生请假信息和销假信息,提高工作效率和数据准确性。学生可以方便地提交请假和销假的申请,并与教师们进行互动交流。该系统利用计算机网络技术提供了一个高效、可靠的学生请假管理系统,促进了学生和教师之间的沟通和协作。
目前,学生请假管理系统的研究已经得到了广泛关注和探索。许多学校和研究机构致力于开发和改进学生请假管理系统,以提高学生请假和销假管理的效率和便利性。这些系统通常包括请假申请、销假申请、课程信息、考勤签到等功能模块,以满足学生和教师的需求。
在技术方面,学生请假管理系统借助计算机网络技术的发展,通过Web实现在线提交请假和销假申请,并实现学生与教师之间的快速沟通和交流。同时,数据管理和信息安全也是该领域的重要研究方向,研究者致力于优化数据存储、权限管理和信息加密等关键问题,以确保学生请假和销假信息的准确性和安全性。
此外,用户体验和界面设计也备受关注。研究者不断探索如何提供简洁直观、易于操作的界面,以提升用户的使用体验和满意度。一些研究还对系统的实际应用效果进行评估,并提出相应的改进建议,从而进一步完善学生请假管理系统。
总体而言,学生请假管理系统的研究正处于积极发展的阶段。未来的研究可继续深化数据管理和信息安全、用户体验和界面设计等方面,通过引入新技术如人工智能、大数据分析等,进一步提升系统的功能性和智能化水平,为学生请销假管理提供更加高效、便捷和智能的解决方案。
1.3.1 B/S结构
学生请假管理系统的实现通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问。
基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出响应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户。
在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互。
无论是在个人学习中还是在企业办公中,MySQL数据库一直都是一种具有强大扩展性,强大功能的数据信息管理工具和处理工具。由于MySQL数据库的存在,将Windows系统所拥有的优点展现的淋漓尽致,而且能够对Win进行图形化的管理,使得使用者在操作系统的过程中对项目能够做到一目了然;而其强大的储存功能更是为系统工程运作提供了保障。MySQL不仅仅是一种优秀的数据信息处理工具,更是一个拥有独立的,完整的数据库语言的管理平台。
1.3.3 Java语言
Java是一种面向对象的程序设计语言,类是Java程序的基本组成单元,类中又包含了属性和方法,在类中又可以创建无数个对象。类中包含的主要成员是字段和方法,字段是指一种数据变量,方法是指对字段进行操作的集合,包括给其他变量赋值、调用方法等。
1.3.4 SpringBoot框架
Spring框架是Java平台上的一种开源应用框架[8],提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。
1.3.5Tomcat开源服务器
Tomcat是Apache下的一个核心项目,最新的Servlet 和JSP 规范总是能在其中得到体现。本系统是采用Tomcat6来开发的,目前来说广大编程员都喜欢使用它,所以说现在Tomcat是比较流行的免费的开源Web 应用服务器。它不仅拥有底层技术先进、开发性能稳定、运行时所占系统资源又很小、扩展性好等系统常用的功能;而且它的底层代码是面向所有开发人员的就好像现在的Linux系统一样,编程人员可以自由地往其中加入新的功能,从而促使Tomcat一直处在不断完善和改进的过程中。
2学生请假管理系统分析
在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对机房管理系统的实现的可行性分析,我们可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。
2.1.1 技术可行性分析
基于SpringBoot框架开发学生请假管理系统在技术上具有较高的可行性。SpringBoot提供了快速搭建应用程序的便利性,简化了开发流程并提高了系统的稳定性。同时,SpringBoot具有丰富的社区支持和成熟的生态系统,能够满足学生请假管理系统对于高效数据处理和稳定性的要求。
另一方面,SpringBoot框架的灵活性和扩展性也为学生请假管理系统的定制化开发提供了便利。通过整合SpringBoot框架,系统可以实现与数据库的快速集成、安全的数据传输以及高效的后端逻辑处理,为学生请假管理系统提供可靠的技术支持。
综上所述,基于SpringBoot框架开发学生请假管理系统在技术上具有可行性,能够实现系统的功能需求,提高数据处理效率和系统稳定性,为学生请假流程的优化提供可靠的技术保障。
2.1.2 经济可行性分析
学生请假管理系统的实现采用Java和MySQL技术,这样可以有效地降低软硬件的开发与维护费用,同时又能够让用户更加轻松地访问网站,从而提高服务质量。此外,该网站的推出,可以有效地降低运营者的劳动强度,为企业带来更多的经济效益。虽然就业西悉尼系统的构建并非特别困难,但由于它的投入相比较少,而且能够带来更高的效率,因此,我们认为这个系统的建立具有很强的可持续性,而且能够带来更高的经济效益,而且比起日常的维护与管理更具有价值。
2.1.3 操作可行性分析
一个设计友好、易于操作的用户界面是保证系统可行性的重要因素。机房管理系统应提供直观的图形用户界面,允许用户通过点击按钮、下拉菜单等方式轻松进行操作。 同时,系统还应提供在线帮助和指南,以便用户在遇到问题时能够快速找到解决方案。
综上所述,一个具有友好用户界面、强大功能实现、高性能、高安全性以及易于维护和升级的机房管理系统具有较高的操作可行性。这样的系统能够在不同领域得到广泛应用,并为用户带来较高的使用价值。
2.2系统业务流程分析
管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统导航条设置了相应的操作功能。
用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。
学生请假管理系统的业务流程如下图所示。
图2-1 系统业务流程图
2.3.1 功能性需求分析
学生请假管理系统从角色上划分为了管理员、学生用户、教师用户三种角色。
管理员角色:
- 登录:管理员的账号是在数据表表中直接设置生成的,不需要进行注
册;
(2)系统用户管理:管理员可以对学生请假管理系统中的管理员、教师用户及学生用户进行增删改查。
(3)课程信息管理:可以查看到教师用户提交的课程内容,教师添加课程信息,查看学生请假申请情况和考勤签到情况,可通过web端直接为其查询、添加、删除等操作;
(4)考勤签到管理:管理员可以查看考勤签到管理列表中的某一信息详情,可以对考勤签到管理列表进行查询和删除等操作。
(5)请假申请管理:管理员可以查看到学生用户提交的请假申请内容详情,同时销假申请信息功能,可通过web端直接为其查询、删除等操作;
(8)销假申请管理:可以查看销假申请列表里的内容,根据进行需要查询、删除等操作;
学生用户角色:
(1)注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现学生请假销假等操作,就必须有这个系统的账号,如果没有账号的话,可以注册以后进行相关的操作。
(2)个人信息:学生用户点击右上角的头像中的个人信息进行修改资料。
(3)修改密码:学生用户点击右上角的头像中的修改密码进行修改密码。
(4)课程信息管理:点击“课程信息管理”后跳转到课程信息列表界面,点击列表某一详情、考勤签到、请假申请信息查看学生考勤状态和学生请假申请原因等详情信息,同时自动调转销假申请列表中,可对列表中的信息进行查看销假审核状态等操作。
(5)考勤签到管理:学生用户可以查看考勤签到管理列表中的某一信息详情,可以
考勤签到管理列表进行查询和删除等操作。
(6)请假申请管理:学生用户可以查看请假申请管理列表中的某一信息详情,可以请假申请管理列表进行查询和删除等操作。
(7)销假信息管理:学生用户可以查看销假信息管理列表中的某一信息详情,可以销假信息管理列表进行查询和删除等操作。
教师用户角色:
(1)注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现学生请假销假申请审核等操作,就必须有这个系统的账号,如果没有账号的话,可以注册以后进行相关的操作。
(2)修改密码:教师用户点击右上角的头像中的修改密码进行修改密码。
(3)个人信息:教师用户点击右上角的头像中的个人信息进行修改资料。
(4)系统用户:教师用户可以对学生请假管理系统中的学生用户进行增删改查。
(5)课程信息管理:教师用户可以对课程信息管理信息进行添加,可以查看课程信息管理列表中的某一信息详情,可以对课程信息管理列表进行查询和删除等操作。
(6)考勤签到管理:教师用户可以查看考勤签到管理列表中的某一信息详情,可以对考勤签到管理列表进行查询和删除等操作。
(7)请假信息管理:教师用户可以查看学生的请假申请内容和进行审核。
(8)销假信息管理:教师用户可以查看销假信息管理列表中的某一信息详情,可以对销假信息管理列表进行查询和删除等操作。
2.3.2 非功能性分析
学生请假管理系统的非功能性需求比如学生请假管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1学生请假管理系统非功能需求表
安全性 | 主要指学生请假管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指学生请假管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响学生请假管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着学生请假管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 学生请假管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.4 系统用例分析
根据上一节功能分析,可以得出系统的用例,学生用户角色用例如图2.1所示。
图2.1 学生请假管理系统学生用户用例图
管理员用例如图2.2所示。
图2.2学生请假管理系统管理员用例图
教师用户用例如图2.3所示。
图2.3 学生请假管理系统教师用户用例图
3 学生请假管理系统总体设计
根据第二章中学生请假管理系统的功能分析可知,学生请假管理系统中整体功能模块图如图3.1所示,
图3.1学生请假管理系统功能模块图
3.3.1 数据库概念结构设计
下面是整个学生请假管理系统中主要的数据库表总E-R实体关系图。
图3.2学生请假管理系统总E-R关系图
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | attendance_check_in_id | int | 10 | 0 | N | Y | 考勤签到ID | |
2 | teacher | int | 10 | 0 | Y | N | 0 | 任课教师 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | course_id | varchar | 64 | 0 | Y | N | 课程编号 | |
5 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
6 | class_time | varchar | 64 | 0 | Y | N | 上课时间 | |
7 | class_location | varchar | 64 | 0 | Y | N | 上课地点 | |
8 | course_sessions | varchar | 64 | 0 | Y | N | 课程节次 | |
9 | classroom_students | int | 10 | 0 | Y | N | 0 | 上课学生 |
10 | student_no | varchar | 64 | 0 | Y | N | 学生学号 | |
11 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
12 | sign_in_time | datetime | 19 | 0 | Y | N | 签到时间 | |
13 | sign_in_instructions | text | 65535 | 0 | Y | N | 签到说明 | |
14 | attendance_status | varchar | 64 | 0 | Y | N | 考勤状态 | |
15 | location_address | varchar | 64 | 0 | Y | N | 当前位置 | |
16 | location_lng | varchar | 64 | 0 | Y | N | 当前位置经度 | |
17 | location_lat | varchar | 64 | 0 | Y | N | 当前位置纬度 | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表cancellation_of_leave_information (销假信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cancellation_of_leave_information_id | int | 10 | 0 | N | Y | 销假信息ID | |
2 | teacher | int | 10 | 0 | Y | N | 0 | 任课教师 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | course_id | varchar | 64 | 0 | Y | N | 课程编号 | |
5 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
6 | class_time | varchar | 64 | 0 | Y | N | 上课时间 | |
7 | class_location | varchar | 64 | 0 | Y | N | 上课地点 | |
8 | course_sessions | varchar | 64 | 0 | Y | N | 课程节次 | |
9 | classroom_students | int | 10 | 0 | Y | N | 0 | 上课学生 |
10 | student_no | varchar | 64 | 0 | Y | N | 学生学号 | |
11 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
12 | application_time | datetime | 19 | 0 | Y | N | 申请时间 | |
13 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
14 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
15 | leave_type | varchar | 64 | 0 | Y | N | 请假类型 | |
16 | termination_time | datetime | 19 | 0 | Y | N | 销假时间 | |
17 | explanation_of_cancellation_of_leave | text | 65535 | 0 | Y | N | 销假说明 | |
18 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
19 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
20 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
21 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | course_information_id | int | 10 | 0 | N | Y | 课程信息ID | |
2 | teacher | int | 10 | 0 | Y | N | 0 | 任课教师 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | course_id | varchar | 64 | 0 | Y | N | 课程编号 | |
5 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
6 | class_time | varchar | 64 | 0 | Y | N | 上课时间 | |
7 | class_location | varchar | 64 | 0 | Y | N | 上课地点 | |
8 | course_credit | varchar | 64 | 0 | Y | N | 课程学分 | |
9 | course_sessions | varchar | 64 | 0 | Y | N | 课程节次 | |
10 | classroom_students | int | 10 | 0 | Y | N | 0 | 上课学生 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | leave_information_id | int | 10 | 0 | N | Y | 请假信息ID | |
2 | teacher | int | 10 | 0 | Y | N | 0 | 任课教师 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | course_id | varchar | 64 | 0 | Y | N | 课程编号 | |
5 | course_name | varchar | 64 | 0 | Y | N | 课程名称 | |
6 | class_time | varchar | 64 | 0 | Y | N | 上课时间 | |
7 | class_location | varchar | 64 | 0 | Y | N | 上课地点 | |
8 | course_sessions | varchar | 64 | 0 | Y | N | 课程节次 | |
9 | classroom_students | int | 10 | 0 | Y | N | 0 | 上课学生 |
10 | student_no | varchar | 64 | 0 | Y | N | 学生学号 | |
11 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
12 | application_time | datetime | 19 | 0 | Y | N | 申请时间 | |
13 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
14 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
15 | leave_type | varchar | 64 | 0 | Y | N | 请假类型 | |
16 | leave_location | varchar | 64 | 0 | Y | N | 请假地点 | |
17 | reason_for_leave | text | 65535 | 0 | Y | N | 请假原因 | |
18 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
19 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
20 | location_address | varchar | 64 | 0 | Y | N | 当前位置 | |
21 | location_lng | varchar | 64 | 0 | Y | N | 当前位置经度 | |
22 | location_lat | varchar | 64 | 0 | Y | N | 当前位置纬度 | |
23 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
24 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_no | varchar | 64 | 0 | N | N | 学生学号 | |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
2 | teacher_no | varchar | 64 | 0 | N | N | 教师工号 | |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
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 | 更新时间 |
表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 | mediumint | 8 | 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 | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_chat_friend_id | int | 10 | 0 | N | Y | id | |
2 | user_id | int | 10 | 0 | N | N | 用户id | |
3 | friend_user_id | int | 10 | 0 | N | N | 用户好友id | |
4 | friend_user_name | varchar | 255 | 0 | Y | N | 好友名称 | |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_chat_group_id | int | 10 | 0 | N | Y | id | |
2 | group_id | int | 10 | 0 | Y | N | 群聊id | |
3 | group_name | varchar | 255 | 0 | Y | N | 群聊名称 | |
4 | user_id | int | 10 | 0 | Y | N | 用户id | |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_chat_read_id | varchar | 255 | 0 | N | Y | id | |
2 | user_id | int | 10 | 0 | Y | N | 接收人id | |
3 | send_user_id | int | 10 | 0 | Y | N | 发送人id | |
4 | group_id | int | 10 | 0 | Y | N | 群聊id | |
5 | type | int | 10 | 0 | Y | N | 类型1-点对点消息,2-群聊消息 | |
6 | create_time | timestamp | 19 | 0 | Y | N | CURRENT_TIMESTAMP | 时间 |
7 | message | text | 65535 | 0 | Y | N | 消息 |
表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 登录界面图
系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败,下面的图片展示的就是该板块对应的界面。
图4-2 密码修改界面图
学生用户可以查看请假申请管理列表中的某一信息详情,可以请假申请管理列表进行查询和删除等操作。界面如下图4.3所示。
图4-3请假申请管理列表界面图
管理员可以对学生请假管理系统中的管理员、教师用户及学生用户进行增删改查。界面如下图4.4所示。
图4-4系统用户界面图
教师用户可以对课程信息管理信息进行添加,可以查看课程信息管理列表中的某一信息详情,可以对课程信息管理列表进行查询和删除等操作。界面如下图4.5所示。
图4-5 课程信息添加界面图
教师用户可以查看考勤签到管理列表中的某一信息详情,可以对考勤签到管理列表进行查询和删除等操作。界面如下图4.6所示。
图4-6考勤签到管理详情面图
教师用户可以查看销假信息管理列表中的某一信息详情,可以对销假信息管理列表进行查询和删除等操作。界面如下图4.7所示。
图4-7销假信息管理详情界面图
5学生请假管理系统测试
学生请假管理系统测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查学生请假管理系统,以便发现学生请假管理系统中的错误。测试工作是保证学生请假管理系统质量的关键。
5.1系统测试用例
系统测试包括:用户登录功能测试、课程信息查看功能测试、请假申请管理、销假信息管理、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
用户登录功能测试:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
课程信息查看功能测试:
表5-2 课程信息查看功能测试表
用例名称 | 课程信息查看 |
目的 | 测试课程信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击教师信息列表 |
预期结果 | 可以查看到所有教师信息 |
实际结果 | 实际结果与预期结果一致 |
请假申请管理界面测试:
表5-3请假申请管理界面测试表
用例名称 | 请假申请发布测试用例 |
目的 | 测试请假申请功能 |
前提 | 用户正常登录情况下 |
测试流程 | 1)点击请假申请,并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的请假申请信息 |
实际结果 | 实际结果与预期结果一致 |
销假申请管理界面测试:
表5-4销假申请管理界面测试表
用例名称 | 销假申请发布测试用例 |
目的 | 测试销假申请功能 |
前提 | 用户正常登录情况下 |
测试流程 | 1)点击销假申请,并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的销假申请信息 |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写学生请假管理系统的测试用例,已经检测完毕用户登录模块、课程信息查看模块、请假申请管理模块、销假信息管理模块、密码修改功能测试,通过这5大模块为学生请假管理系统的后期推广运营提供了强力的技术支撑。
结论
至此,学生请假管理系统已经完成。在开始开发之前,我进行了大量准备工作,并阅读了许多文献资料。从中,我学到了许多宝贵的方法和设计思路,对系统的开发起到了重要的作用。在系统的开发过程中,我选择了自己熟悉的技术,如springboot框架和MySQL数据库。这些技术都是我在之前的学习中掌握的,而其中的许多设计思路和方法则是通过不断的学习和实践摸索出来的经验。尽管工作量相对较大,但正是由于之前的积累和准备,我才能够顺利地完成这个项目。这再次证明了积累经验和做好准备的重要性。
当然,在系统的设计和实现过程中,离不开导师和同学们的帮助。正是因为他们的指导和支持,我才能够按时完成这个系统。在这个过程中,我也获得了很多收获。虽然该系统还有改进的空间,但由于我的专业知识有限,无法做到十分完美。希望将来有机会能够真正投入使用,并继续改进和完善。
以上是学生请假管理系统开发的总结和感悟。通过准备工作和文献资料的阅读,以及导师和同学们的帮助,我成功地完成了这个项目。同时,我也意识到自己还有很多需要学习和提高的地方,希望能够在实践中不断成长和进步。
参考文献
[1]Prabawani B ,Hadi P S ,Fisher R M , et al. Socioeconomic perspective of agroforestry development in Central Java [J]. Environmental and Sustainability Indicators, 2024, 22 100354-.
[2]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
[3]蒋银虎. 基于UML的高校学生请假管理系统分析建模与设计实现 [J]. 电脑知识与技术, 2023, 19 (21): 38-41.
[4]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):
[5]周清松,付星宇. 高校学生请假管理系统的设计与开发 [J]. 电脑知识与技术, 2021, 17 (13): 63-66+85.
[6]李晓彤,赵洪凯. 基于Web技术的学生在线签假管理系统的设计与开发 [J]. 实验室科学, 2021, 24 (01): 40-43+48.
[7]罗万新,唐合丞. 基于学生管理系统处理学生事务技巧 [J]. 电子世界, 2020, (16): 25-26.
[8]闫博. 混合模式下高校学生请假管理系统设计研究 [J]. 信息通信, 2020, (08): 163-164.
[9]周轩宇. 基于SSM框架的高校教学管理系统的设计与实现[D]. 首都经济贸易大学, 2020.
[10]杨华,陈水容,唐天国等. 基于混合模式的学生请假管理系统的研究与开发 [J]. 电脑知识与技术, 2020, 16 (07): 69-70+84.
[11]胡耀文,阳海峰. 基于ASP.NET的高校学生请假管理系统的设计与实现 [J]. 数码世界, 2020, (02): 195.
[12]田升,郭凤婷,刘印锋. 基于Web的学生请假管理设计与实现 [J]. 电脑编程技巧与维护, 2019, (06): 100-103.
[13]杨芬,宋晓燕. MySQL数据库应用的课程教学分析 [J]. 电子技术, 2023, 52 (10): 180-181.
[14]李淑玲,朱彤. 基于Node.js技术的在线测试系统设计方案 [J]. 科技资讯, 2023, 21 (19): 35-38.
[15]邓杰海,刘薇,汤小燕. 基于Node.js的开源架构Electron赋能前端开发 [J]. 现代计算机, 2023, 29 (16): 87-92.
[16]蒋银虎. 基于UML的高校学生请假管理系统分析建模与设计实现 [J]. 电脑知识与技术, 2023, 19 (21): 38-41.
[17]阚允浩,储慧,王静等. 基于C语言的请假系统 [J]. 电脑知识与技术, 2022, 18 (16): 51-53.
[18]刘德华. 高校公共体育课请假现象研究——以中国地质大学(武汉)为例 [J]. 当代体育科技, 2022, 12 (01): 160-163.
[19]丁卫峰. 谈高职学生请假管理变迁——以××××职业学院为例 [J]. 品位·经典, 2021, (13): 140-141+169.
[20]汪涛. 基于SpringBoot和人脸识别的企业考勤管理系统设计与实现[D]. 阜阳师范大学, 2023.
致 谢
时间过的很快,不知不觉,在大学的学习生活即将结束。毕业之际,我真诚地向帮助过我的老师、家人、同学、朋友们表达感谢。首先要感谢的是我的母校。感谢母校给了我美好的生活和优越的学习环境,使我能学到了很多知识,也不断的变得优秀;感谢家人在这四年期间一直给与我的爱和无条件的支持,让我没有后顾之忧地完成学业;感谢软件学院的任课老师们给我鼓励和认可,让我有信心去做好每一件事情;感谢同学们的帮助,让我的大学生活更有意义。在此次毕业设计的实现过程中, 我得到了老师们的耐心指导让我顺利完成了该设计。从最初的选题和开题开始,老师就给予我很多帮助,他们认真负责的态度、丰富的景点经验让我学到了很多。
同时也要感谢我敬爱的班主任和实训校园论坛的老师,他们在各个方面都教给了我丰富的经验,在面对各种困难时如何处理。因为今年的特殊性,老师们不仅在学习中给我以精心的指导,同时还在其它方面给予我观关怀,指导老师不辞辛苦的为大家录制视频和一遍遍讲解让我心怀感激之情。在此,我真诚的感恩、感谢我的指导健身教练们。
还要感谢实习期间不厌其烦教导我鼓励我的技术师傅,他指导了我各个方面的技巧,尤其是编程方面,迄今我的很多技巧和编写规范都有赖于他的指导、纠正。
最后还要特别感谢身边的各位同学们,一直支持鼓励我,无论何时何种境况。我很荣幸获得同学们的帮助,也很开心能够和大家共度大学四年的时光。
最后的最后,再次发自肺腑的感谢所有帮助过我的人。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~