基于Springboot的学生咑咔啦考勤小程序的设计与实现

基于Springboot的学生咑咔啦考勤小程序的设计与实现

摘要:考勤是高校管理学生的一项考核指标。对于高校而言,考勤涉及到学生的审慎考核、教师教学质量的客观评价、后期的考勤数据积累会影响到学生能否能参与考试或者考试成绩。因此考勤的意义是非常重要,必须要通过有效的管理手段去管控这个方面,使用合格的学生考勤系统会让高校在管理学生考勤方面如虎添翼。目前大多数高校有关学生上课考勤的工作都需要任课老师来完成,并且高校上课的人数众多,任课老师的考勤任务也是非常的重要,因此制作一个可以为各大高校完成学生上课考勤工作的小程序是非常有必要的,让学生更方便的完成考勤,减少老师的工作量,方便学校对学生的管理。
现如今高校在管理学生考勤方面的工作,普遍采取的方式都是以人力为主。在网络化的时代下这种方式显然有些格格不入,以往的方式都是通过人力将考勤的数据记录在纸上而且还需要大量的时间,由于数据记录在纸质上的原因,后期统计考勤数据也是非常的麻烦。如今人们更喜欢方便快捷的方式,结合当前时代的潮流选取微信小程序的技术将其作为该考勤系统的用户端,使师生有更好的体验,结合Springboot作为后端框架,解决了人力方式考勤的不足的问题,实现了数据统计处理,最重要的是提高了师生的考勤工作的效率。
咑咔啦考勤系统主要实现了学生与老师在小程序查看课程表信息以及进行上课考勤的工作,对于考勤出现的特殊情况,学生与老师都可以对其申请请假等操作;学校管理员可以设置管理学校的基础信息,对学生考勤的数据进行统计与分析。智能化信息处理是提高效率,易于管理的最有效的途径,方便高校对学生的管理。
关键词:签到,考勤,请假,学生,老师

Student attendance procedures based on spring boot
Absrtact: Attendance is an assessment index for college students. For colleges and universities, attendance involves the careful assessment of students, the objective evaluation of teachers’ teaching quality, and the later accumulation of attendance data, which will affect whether students can participate in the examination or test results. Therefore, the significance of attendance is very important. We must control this aspect through effective management means. Using a qualified student attendance system will make colleges and universities more powerful in the management of student attendance. At present, most colleges and universities need teachers to complete the work of attendance of students in class, and the number of students in class in Colleges and universities is large, and the attendance task of teachers is also very important, so it is very necessary to make a small program that can complete the work of attendance of students in class for colleges and universities, so that students can complete attendance more conveniently, reduce the workload of teachers, and facilitate School management of students.
Nowadays, in the management of students’ attendance in Colleges and universities, most of the work is done by manpower. In the era of network, this way is obviously a little out of place. The previous way is to record the attendance data on paper by manpower, and it still needs a lot of time. Due to the reason that the data is recorded on paper, it is very troublesome to count the attendance data in the later period. Nowadays, people prefer convenient and fast ways. Combined with the current trend of the times, wechat applet technology is selected as the user end of the attendance system, so that teachers and students have a better experience. Combined with spring boot as the back-end framework, the problem of the lack of human attendance is solved, data statistics processing is realized, and the most important thing is to improve the efficiency of attendance work of teachers and students.
Kaka attendance system is mainly used for students and teachers to check course schedule information in small programs and check attendance in class. For special attendance situations, both students and teachers can apply for leave and other operations; school administrators can set up basic information for management of schools and make statistics and analysis of students’ attendance data. Intelligent information processing is the most effective way to improve efficiency and easy management, which is convenient for the management of college students.
Keywords: sign in, attendance, leave, students, teachers

目 录

第1章 绪论 1
1.1系统的开发背景及意义 1
1.1.1 课题目的 1
1.1.2 课题意义 1
1.2国内外研究现状和发展趋势 2
1.2.1 国内外研究现状 2
1.2.2 国内发展趋势 2
1.3系统的主要研究内容 2
1.4系统开发环境与开发工具 3
第2章 需求分析 4
2.1可行性分析 4
2.1.1 技术可行性 4
2.1.2 经济可行性 4
2.2系统需求分析 4
2.3功能需求分析 5
2.4系统业务流程分析 7
2.5用例图 8
2.5.1 定义用例 8
2.5.2 用例图规约表 10
2.7 本章小结 12
第3章 系统设计 13
3.1 概述 13
3.2 模块介绍 14
3.2.1学校管理员模块 14
3.2.2超级管理员模块 15
3.2.3学生模块 16
3.2.4老师模块 17
3.3学生考勤系统的活动图 18
3.3.1 学生签到的活动图 18
3.3.2 学生补卡和请假的活动图 19
3.3.3 老师审核学生补卡或者请假的活动图 19
3.4 数据库设计 20
3.4.1数据库概要设计 20
3.4.2数据库的逻辑结构设计 22
3.5 本章小结 24
第4章 系统实现 26
4.1 系统关键功能模块的实现 26
4.1.1小程序端用户登录 26
4.1.2老师发起考勤 27
4.1.3学生签到 29
4.1.4学生请假 30
4.1.5小程序端用户完善个人信息 34
4.2 本章小结 36
第5章 系统测试 37
5.1 测试的目的 37
5.2 测试的意义 37
5.3 测试用例以及结果 37
5.3.1用户完善个人信息测试 37
5.3.2用户登录测试 38
5.3.3用户请假测试 38
5.5 本章小结 39
第6章 结束语 40
6.1全文总结 40
6.2课题展望 40
参考文献 41
致 谢 42

第1章 绪论

1.1系统的开发背景及意义
1.1.1 课题目的
自公元后1969年起,人类社会迈入了信息化时代,各高校想要对学生考勤数据信息进行方便快捷的管理,利用互联网技术对学生上课的考勤工作进行信息化管理势在必行。虽然目前一些软件已经有一套比较完整的考勤管理系统,但这些软件很少在高校里使用,目前在很多高校里面,学生的考勤工作还是需要任课老师亲自点名并且记录在纸上,不仅操作繁琐而且还效率极低,考勤的数据进行统计处理也比较麻烦。制作一个为各高校管理学生考勤的小程序,为了各高校能够更好的管理学生的考勤工作,因此有必要采取网络技术对学生的考勤进行管理,从而减少任课老师工作量,让其时间可以花在讲课上,也方便高校对学生的管理。
1.1.2 课题意义
自公元后1969年起,人类社会迈入了信息化时代,信息社会最大的特点就是以智能为主,重点是创造知识和开发知识。在这个信息产生价值并代表着先进生产力的时代,由于信息的指数型增长,人们需要一种工具来对繁杂的信息进行管理。其中着重表现在各大高校中,学校对学生在校表现的审慎考核以及对教师教学质量的客观评价都受学生上课出勤率的影响。一直以来,学生考勤信息管理都是依赖人工进行的,但正因为信息社会不同于农业社会和工业社会依赖体能和机械能的特点,我们需要用更加规范化的信息管理来解放人力与物力。在学生信息、教师信息、课程信息的交错影响下,教师根据手写的考勤记录来对学生的出勤率进行计算,其工作量和出错率可想而知。使用信息社会的代表性象征——计算机来进行管理,拥有人工计算不可比拟的优越性。例如:检查迅速、搜索快捷、可靠性高、成本低、存储量大、保密性好等。上述优点不但可以让学校的信息管理规范化,还可以提升其信息管理的效率。

1.2国内外研究现状和发展趋势
1.2.1 国内外研究现状
在管理学生考勤这方面的工作,无论在国内外,绝大多数的高校在对这方面的管理都是极其严格的,考勤指标对学校来说是非常重要的一项,学校对学生在校表现的审慎考核以及对教师教学质量的客观评价都受学生上课出勤率的影响。由于现在是一个信息化时代,所以有一些考勤系统在国内外高校中都有广泛的使用,与其相类似的还有企业指纹考勤机等系统。目前国内的硬件考勤技术已经趋向成熟,特别是中控品牌的产品,各种不同的企业公司都在使用,而软件这方面最为成功则是钉钉,拥有非常完整的一套考勤系统。而有关学生考勤系统的虽然开发条件低,开发周期短,功能结构相对简单,但是术语自行发开,自行使用,所以国内外对学生考勤系统的研究也不是很多。
1.2.2 国内发展趋势
目前很多高校都是采取传统的人工考勤方式,主要通过任课老师点名的方式来确认学生的考勤情况,并且还要记录在纸质的考勤表上,在这种时代下这种做法显得繁琐并且没有意义,学校在统计分析处理数据的时候比较难处理,不便于学校管理。顺应时代的发展,学校考勤管理也需要在逐渐完善,因此一个网上即时考勤管理就能提高考勤管理的工作效率,加强对学生信息的同意管理和以及查询。学生考勤系统是作为学校实现信息化管理学生考勤工作的重要平台,在未来具有不错的发展前景。
1.3系统的主要研究内容
设计并开发一个基于网络环境的学生考勤管理系统,需结合高校的具体学生管理情况为前提,定制准确的考勤管理业务,并以科学管理的理论作为系统实现的理论支撑。学生最终考勤数据会统计在后台系统之中,学生考勤数据也可以一目了然呈现给学校的管理人员,并且能够让管理人员快速地制定科学合理的考勤管理解决方案。
1.4系统开发环境与开发工具
系统开发环境配置 :windows 10系统,16GB运行内存。CentOS 7云虚拟机一台,2GB运行内存。
开发工具:jdk1.8,ideaIU,微信开发者工具,Mysql server,redis。
以下是系统主要使用的研究方法和关键技术:
1、SpringBoot框架:SpringBoot的基础就是Spring,与Spring相比其优点就是简化Spring应用的搭建和开发的过程,这框架的特点是使用其特定的方法来配置,开发人员就不再需要定义样本化的配置,使用Spring Boot可以不用或者只需要很少的Spring配置。
2、Mysql: Mysql是开源数据库,而且使用它的人数众多。而且有免费版本,这样就可以大大的减少开发成本。而且与其他数据库相比,它的设置操作都是比较简单,易于使用。它支持标准的SQL语言、最常用的数据管理功能,适用于中小型企业甚至大型网站应用。
3、centOS7:是服务器的一种系统,用于部署不同的服务。作为免费开源的系统。centOS7是一款完全免费的操作系统,任何人都可以从网络上下载到它镜像文件,并可以根据自己的需求进行定制化的开发,而且没有版权限制。
4、Redis: Redis是一种内存数据库,与平常我们使用的数据库不太一样,因为它是将数据存储在内存里面,它相对于Mysql数据库,它的读取数据是非常的快的,平常的数据库的数据都是存储在硬盘上,读取的速度就会比较慢;主要用于缓存信息,还可以设置缓存信息的过期时间。

第2章 需求分析

2.1可行性分析
2.1.1 技术可行性
目前大多数高校在考勤方面采取的人工方式,所以学生考勤系统并没有得到广泛的使用,但是这并不会成为开发的难题,高校里虽然没有考勤管理系统,但也有很多类似的成功案例,如教务管理系统、图书管理系统等。本系统采用Java高级开发语言结合Springboot框架,使用Mysql作为数据库服务器综合开发。而这个系统尽管在业务流程关系上存在着复杂关系,繁琐性。但是从整个系统的所运用的技术来看,它还是属于一个比较常规的系统,其基本操作主要还是对数据库进行增删改查等基础操作。如果是从数据库应用的角度来考虑,不存在太大的技术问题。
2.1.2 经济可行性
本系统的后台使用的是B/S架构设计,用户端采用的是微信小程序,开发简单,使用方便,降低开发的成本的同时也可以提高项目开发的进度,系统部署的要求极低,系统流程操作简单,几乎不需要对用户进行教导就可以使用该系统,最重要的是提高了效率,而又保证了各项数据的准确性,适应了当前的发展形式。
2.2系统需求分析
学生考勤系统是学校对考勤实现了信息化管理,简化考勤的工作。该考勤系统主要涉及到的用户类型主要有四类,分别是学生、老师、学校管理员以及超级管理员。学生用户使用该系统在网上完成考勤工作,学生需要通过系统获取上课的课程,进行签到,如有特殊情况,学生应可以申请补卡或者请假等操作,还可以查询课程签到的情况;老师用户使用该系统查看学生的签到情况,以及对学生申请的补卡或者请假进行审批,还可以查看授课的课程,老师可以申请请假等操作;学校管理员使用该系统设置学校的基础信息——学期、年届、班级、课室、课程等管理,还有对用户的管理,查看用户信息,对老师的请假进行审核,考勤管理,统计学生的考勤数据;超级管理员使用该系统主要创建学校管理员账号,为学校管理员设置权限以及创建系统的菜单和上传课程模板等操作。系统功能模块图如下图2.1所示:
在这里插入图片描述

图2.1系统功能模块图

2.3功能需求分析
主要为了解决人工操作在学生考勤中存在的不足,以及更好的统计分析处理数据。学校管理人员能够更容易、更方便地使用计算机对学生进行管理,以及实现无纸化操作对数据进行分析,方便地对学生考勤进行评定。学生与老师能够利用网络更简单的完成上课考勤的工作,使得同学考勤更简单,减轻任课老师的工作量。学生考勤系统应实现以下功能:
1、用户功能模块
用户在登陆小程序前需要通过微信授权登录进入小程序,用户需要选择认证学生或者老师并且完善个人信息。学生用户完善个人信息之后可以看到自己的课程表,而且有签到、补卡、请假、查看签到信息等功能;老师用户完善个人信息之后可以看到自己授课的课程表,而且可以对学生申请的补卡或者请假的信息进行审批,以及老师也有请假等功能。系统用户功能模块如图2.2所示:
在这里插入图片描述

图2.2用户功能模块图
2、学校管理员功能模块
管理员登录系统后台,需要设置学校的基本信息——年届、学期、班级等。下载课程模板,在设置班级后可以为其上传课程表文件,对其添加课程,查询学生的考勤状况,以及审批老师和学生的请假申请和查看老师和学生的请假次数等,查询学生与老师基础信息,并且可以对其进行修改等操作,还可以统计课程的考勤数据。系统学校管理员功能模块如图2.3所示:
在这里插入图片描述

图2.3学校管理员功能模块图
3、超级管理员功能模块
超级管理员登录系统后台,可以添加学校管理员的账号,还可以对其设置权限,以及对其账号进行管理。为该系统添加菜单,方便以后开发使用,上传课程模板,还可以使用哪个课程模板。系统超级管理员功能模块如图2.4所示:

在这里插入图片描述

图2.4超级管理员功能模块图

2.4系统业务流程分析
整个业务流程基于工作流而建,以学生上课考勤签到、学生在线补卡请假为业务流程的核心。大致流程如下:超级管理员先为学校创建学校管理员的账号,给予学校管理员权限;学校管理员添加学校基础信息,审核老师请假,查看学生考勤记录;学生与老师登录系统,选择身份完善个人信息,老师与学生都可以通过查看课程找到上课的教室,老师开启考勤后课程会获取位置信息,学生只要与该老师开始考勤的位置相差少于五十米方可进行签到,学生可以查看签到情况,如果有特殊原因,可以申请补卡或者请假。老师可以看到自己授课的考勤情况,并且对学生申请的补卡和请假进行审核,老师有特殊情况也可以申请请假。
通过对整个系统的执行过程分析,可以分析出整个系统的功能流程图,如图2.5所示:
在这里插入图片描述

  图2.5系统业务流程图

2.5用例图
用例模型的基本组成部分有用例、角色(或参与者)。
2.5.1 定义用例
1、学校管理员用户用例图如下图2.6所示:
在这里插入图片描述

图2.6学校管理员用例图

2、超级管理员用户用例图如下图2.7所示:
在这里插入图片描述

图2.7超级管理员用例图

3、学生用户用例图如下图2.8所示:
在这里插入图片描述

图2.8学生用例图

4、老师用户用例图如下图2.9所示:
在这里插入图片描述

图2.9老师用例图

2.5.2 用例图规约表
本小节只对小程序登录,学生签到,学生补卡的用例进行描述。
学生登录用例规约表:详情如表2.1是学生登录的用例规约表:

表2.1登录用例规约表
用例编号 2-1 用例名称 登录
功能描述 当游客微信授权登录之后,身份变为用户。
执行者 游客
前置条件 学生考勤系统正常运行。
后置条件 如果是游客,游客身份变为用户
涉众利益 游客登录之后,身份就变为用户,可以选择身份完善个人信息,之后就可以查看自己的课程信息,以及签到和请假等操作。
基本路径 游客:1. 如果用户未登录系统,点击授权登录;
2. 点击允许按钮;
3. 登录成功并转为用户身份;
4. 角色变为用户并成功进入系统。
扩展 无

学生签到用例规约表:详情如表2.2是学生签到的用例规约表:
表2.2学生签到用例规约表
用例编号 2-2 用例名称 学生签到
功能描述 学生对需要已开始的课程进行签到
执行者 学生
前置条件 学生登录小程序并且已经编辑好个人信息。
后置条件 签到成功
涉众利益 学生就可以在小程序对需要上课的课程进行快速签到。
基本路径 1. 进入学生考勤系统;
2. 点击考勤按钮;
3. 获取当天的课程信息;
4. 点击课程信息上的签到按钮。
5. 签到成功。
扩展 无

学生补卡用例规约表:详情如表2.3是学生补卡的用例规约表:
表2.3学生补卡用例规约表
用例编号 2-3 用例名称 学生补卡
功能描述 学生对一周以内缺勤的课程申请补卡
执行者 学生
前置条件 学生登录小程序并且已经编辑好个人信息并且存在缺勤的课程。
后置条件 申请补卡成功
涉众利益 学生可以对缺勤的课程进行补卡
基本路径 1. 进入学生考勤系统;
2. 点击签到记录按钮;
3. 获取一周内的签到情况;
4. 点击课程信息上的补卡按钮。
5. 申请补卡成功。
扩展 无
2.7 本章小结
本章首先从可行性分析的角度来考虑开发这个系统的可行性,然后从整体分析学生考勤系统的具体需求,通过业务流程分析,更加全面地了解系统的需求。除了其中确定的基本需求,开发过程中可能需要针对其中的一些需求做出调整。

第3章 系统设计

3.1 概述
概要设计是开发设计学生考勤系统的基础。编写概要设计的目的就在于此。完整的学生考勤系统功能模块如下图3.1和图3.2所示:
在这里插入图片描述

图3.1学生考勤系统小程序功能模块图

在这里插入图片描述

图3.2学生考勤系统后台功能模块图
3.2 模块介绍
3.2.1学校管理员模块
1、登录系统模块
用户已有账号,在登陆界面,输入【账号】【密码】登陆即可。默认为学校管理员权限。
2、退出系统模块
用户在登录系统后可以通过点击头像的退出按钮,退出系统。
3、学期管理模块
学校管理员添加学期信息,选择学年,选择上下学期,选择学期开学的日期,并且对已添加完的学期可以进行使用或者停用。
3、年届管理模块
学校管理员添加年届信息,按到学校的实际情况,选择最早与最晚的年届,并且对已添加完的年届可以进行使用或者停用。
4、班级管理模块
学校管理员添加学校的院系,然后添加每个院系对应的专业,此时如果年届有正在使用的,那么专业会自动创建相应的年届,最后在每个年届下创建班级,管理员可以下载课程模板,在下载的课程模板中重新填写班级的课程后,可以在更改班级信息的时候可以为其上传课程模板,为班级添加对应的课程。
5、用户管理模块
学校管理员查看用户的基础信息,还可以对其信息进行修改,还可以将用户账号停用。
6、请假管理模块
学校管理员查看老师和学生请假列表,对还未审核的请假信息进行审核查看,审核的情况有两种,通过或者不通过,审核通过后,系统会对老师请假的信息更改其对应的授课信息的状态。
7、考勤管理模块
学校管理员可以查看到课程的考勤情况,对其数据进行分析处理,方便管理学生的考勤工作。

3.2.2超级管理员模块
1、登录模块
用户已有账号,在登陆界面,输入【账号】【密码】登陆即可。默认为超级管理员权限。
2、退出系统模块
用户在登录系统后可以通过点击头像的退出按钮,退出系统。
3、添加管理员用户模块
超级管理员可以添加不同的学校管理员的账号,并且可以修改其账号的部分信息,停止使用账号以及为其设置不同的角色,不同的角色拥有不同的功能权限。
4、添加角色模块
超级管理员可以添加角色,可以对角色的信息进行修改或者删除,以及为其角色设置权限等功能。
5、添加菜单模块
超级管理员可以添加菜单,以及对菜单的更改删除操作,这个功能主要是为了方便开发和管理个菜单的功能。
6、课程模板模块
超级管理员可以将课程的模板上传到文件服务器,将已经上传的文件模板可以选取使用,统一课程模板,方便学校管理员为班级上传课程。

3.2.3学生模块
1、登录模块
用户只需要通过微信授权登录即可进入考勤的小程序,默认是普通用户。
2、选择身份模块
用户首次通过微信授权登录进入小程序后,需要选择身份——学生的角色。
3、完善个人信息模块
用户在选择完身份之后需要完善个人信息,学生角色需要选择学校院系专业
班级以及输入学号姓名等信息。
4、查询签到信息模块
学生用户可以查看自己近一周的课程签到的情况。
5、签到模块
学生签到需要老师对这课程开始了考勤方可进行操作,并且还需要到签到的范围内。如果学生的当前位置与老师开始考勤的位置相差大于五十米则不能签到。
6、补卡模块
学生用户如果是有特殊情况没能签到成功,那么学生可以申请补卡,填写补卡原因或者上传相关资料,只要任课老师审批通过后,那么学生申请补卡就会成功。
7、请假模块
请假模块主要有两种情况,一是按照课程申请请假,填写请假原因,上传请假条,任课老师审批通过后即可,学生可不用签到;二是按照日期请假,这由学习管理员进行审核,审核通过后学生可不用签到;
8、查询课程模块
学生用户可以查询自己当前周的相关课程信息以及当天的相关课程信息,这样可以方便学生知道课程的信息。
3.2.4老师模块
1、登录模块
用户只需要通过微信授权登录即可进入考勤的小程序,默认是普通用户。
2、选择身份模块
用户首次通过微信授权登录进入小程序后,需要选择身份——老师的角色。
3、完善个人信息模块
用户在选择完身份之后需要完善个人信息,老师角色需要选择学校,输入工号和姓名。
4、查询签到信息模块
老师用户可以查看关于自己一周内的课程学生签到的情况。
5、请假模块
请假模块主要是老师申请请假,填写请假原因,上传请假条,学校管理员审批通过后即可,相关课程也会取消。
6、查询课程模块
老师用户也可以查询当前周的相关课程信息以及当天的相关课程信息,这样可以方便老师知道课程的信息。
7、审核模块
学生申请补卡或者请假后,老师可以对其进行审核操作可以选择审核通过或者不通过。
8、开始考勤模块
老师用户可以对当天的课程开始考勤,进入考勤页面可以看到学生考勤的信息。
3.3学生考勤系统的活动图
本小节主要介绍系统中学生签到活动图、学生补卡或者请假活动图、老师审核学生补卡或请假活动图的设计和实现。
3.3.1 学生签到的活动图
学生签到的活动图如下图3.3所示:
在这里插入图片描述

图3.3学生签到活动图

3.3.2 学生补卡和请假的活动图
学生补卡或者请假的活动图如下图3.4所示:
在这里插入图片描述

图3.4学生补卡或者请假活动图
3.3.3 老师审核学生补卡或者请假的活动图
老师审核学生补卡或者请假的活动图如下图3.5所示:
在这里插入图片描述

图3.5老师审核学生的补卡或者请假活动图

3.4 数据库设计
本小节主要介绍系统中比较重要的表,比如:签到表,请假表,课程表。
3.4.1数据库概要设计
概念结构设计是将用户需求抽象为信息结构,E-R图是常用模型。正方形表示的是实体,椭圆形表示的是属性。实体间联系分为:一对一、一对多、多对多,共三种。该学生考勤系统主要实体信息如下:
(1)实体:签到
属性有:签到编号,学生编号,学生学号,学生姓名,学校编号,课程编号,课程名称,签到时间,签到状态。实体属性图如下图3.6所示:
在这里插入图片描述

图3.6签到实体-属性图

(2)实体:请假
属性有:请假编号,用户编号,课程编号,老师编号,学校编号,请假类型,请假开始时间,请假结束时间,请假理由,图片地址,请假分类,请假状态,是否复审,创建时间,更新时间。实体属性图如下图3.7所示:
在这里插入图片描述

图3.7请假实体-属性图
(3)实体:课程
属性有:课程编号,课程名称,任课老师名称,老师工号,学校编号,星期,开始上课的节数,上课长度,节数时间,上课人数,班级编号,周数,是否取消,学期编号,是否过期,是否开始签到,经度,纬度,创建时间,更新时间。实体属性图如下图3.8所示:
在这里插入图片描述

图3.8课程实体-属性图

3.4.2数据库的逻辑结构设计
根据前面所分析的,建立数据库。其中包含表:签到表,请假表,课程表。各表结构如下所示:
(1)签到数据表,如表3.1。
表3.1 签到表
字段名 类型 是否为空 中文
id bigint 否 主键
user_id bigint 否 用户编号
student_no varchar 否 学号
student_name varchar 否 学生姓名
school_id bigint 否 学校编号
course_id bigint 否 课程编号
course_name varchar 否 课程名称
sign_time date 否 签到时间
status tinyint 否 签到状态

(2)请假数据表,如表3.2。
表3.2 请假表
字段名 类型 是否为空 中文
id bigint 否 主键
user_id bigint 否 用户编号
course_id bigint 是 课程编号
teacher_id bigint 是 老师编号
school_id int 否 学校编号
type tinyint 否 请假类型
start_time varchar 是 请假开始时间
end_time varchar 是 请假结束时间
reason varchar 否 请假理由
sort tinyint 否 请假分类
status tinyint 否 请假状态
image_url varchar 否 图片地址
is_review tinyint 否 是否复审
created_at date 否 创建时间
updated_at date 否 修改时间

(3)课程数据表,如表3.3。
表3.3 课程表
字段名 类型 是否为空 中文
id bigint 否 主键
name varchar 否 课程名称
professor varchar 否 任课老师名称
teacher_no varchar 否 老师工号
weekday tinyint 否 星期
start_section varchar 否 开始上课的节数
section_time varchar 否 结束时间
class_extent tinyint 否 上课长度
number int 否 人数
weeks tint 否 周数
is_cancel tinyint 否 是否取消
semester_id bigint 否 学期编号
is_overdue tinyint 否 是否过期
is_sing tinyint 否 是否开始考勤
created_at date 否 创建时间
latitude varchar 是 纬度
longitude varchar 是 经度
created_at date 否 创建时间
updated_at date 否 修改时间

3.5 本章小结
本章首先对学生考勤系统用户进行了系统功能的详细设计,然后画出了学生考勤系统的主要功能的活动图,更加直观地展示了学生考勤系统的主要功能;最后是对学生考勤系统的数据库进行设计。

第4章 系统实现

4.1 系统关键功能模块的实现
本小节主要介绍系统中小程序端的登录、考勤、签到、请假以及用户完善个人信息等功能模块的实现。
4.1.1小程序端用户登录
小程序端分为两个角色权限登录,用户通过微信授权登录,就根据角色的不同进入到不同的界面。登录功能流程图如下图4.1所示:

       ![在这里插入图片描述](https://img-blog.csdnimg.cn/1b62aa97f7044f11b2afffbdba6183ae.png)

图4.1登录功能流程图

实现界面截图如图4.2所示:

在这里插入图片描述

图4.2登录实现效果图

4.1.2老师发起考勤
老师可以对自己授课的课程发起考勤,同时会获取发起考勤时的地理位置,学生需要在这地理位置五十米内方可签到,发起考勤成功后会进入考勤界面,发起考勤的流程图如下图4.3所示:
在这里插入图片描述

图4.3考勤功能流程图

实现界面截图如图4.4,图4.5所示:
在这里插入图片描述

图4.4开始考勤实现效果图
在这里插入图片描述

图4.5考勤界面实现效果图

4.1.3学生签到
老师开始考勤后,学生可以对课程进行签到,签到的时候跟根据当前位置与老师开始考勤的位置想比较,如果少于五十米则可以进行签到,否则不行,签到的实现界面如下图4.6所示:
在这里插入图片描述

图4.6签到效果图

签到流程图如4.7所示:
在这里插入图片描述

图4.7签到流程图

4.1.4学生请假
学生可以对课程或者按照日期申请请假,选择请假的类型,填写请假原因,上传图片等操作,请假的流程图如下图4.7所示:
在这里插入图片描述

图4.7请假流程图

申请请假的实现界面,两个请假按钮实现不同的请假方式,一种方式是按照课程进行请假,不需要选择日期;另外一种方式按照日期进行请假,需要自行选择请假的日期。如下图4.6所示:
在这里插入图片描述

图4.6申请请假效果图

按照课程请假的实现效果,如图4.7所示:
在这里插入图片描述

图4.7按课程请假效果图

按照日期请假的实现效果,如图4.8所示:
在这里插入图片描述

图4.8按日期请假效果图

按照日期请假的实现效果,如图4.9所示:
在这里插入图片描述

图4.9请假结果效果图
4.1.5小程序端用户完善个人信息
小程序端用户登录成功后,选择身份后进行个人信息编辑。用户完善个人信息流程图如下图4.10所示:
在这里插入图片描述

图4.10用户完善个人信息功能流程图

选择身份的实现效果,如图4.11所示:

在这里插入图片描述

图4.11选择身份效果图

编辑个人信息的实现效果,如图4.12所示:
在这里插入图片描述

图4.12编辑个人信息效果图
4.2 本章小结
本章主要是对学生考勤系统的设计进行实现,给出部分功能界面的截图以展现系统实现的效果。

第5章 系统测试

5.1 测试的目的
系统测试主要目的是为了能找到系统中存在的漏洞,系统的漏洞无处不在,或许它有可能在系统的服务器、功能、数据以及编码中,所以我们需要在这些不同的方面进行测试才能找到系统的漏洞并解决它。通过系统测试主要是对程序的质量检查,使得学生考勤咑咔啦小程序可以变得更成熟稳定,所以这个阶段是软件开发中必不可以少的部分,也是最重要的。
5.2 测试的意义
测试主要是为了提高系统的质量,在当今时代,各种系统杂乱繁多,系统的质量也参差不齐。为了开发出来的基于Springboot的学生咑咔啦考勤系统的完整性。因此,系统测试是一个必不可少的环节,通过不同的测试用例对系统进行严格的测试,有利于提高基于Springboot的学生咑咔啦考勤小程序系统的质量,使用户的体验更舒适。
5.3 测试用例以及结果
本小节主要介绍系统中用户完善个人信息测试用例、用户登录测试用的设计和实现。
5.3.1用户完善个人信息测试
用户完善个人信息功能描述:用户填选相关信息,点击提交,成功后返回主界面。如下表5.1所示:
表5.1 完善个人信息测试用例表
序列 输入 输出 备注
姓名 学号/工号 学校 院系
专业 年届 班级
1 admin 123456 XXX XXX XXX XXX XXX 完善成功 测试正确
2 admin 123456 XXX XXX XXX XXX XXX 学号/工号已存在 测试错误
3 Null 456789 XXX XXX XXX XXX XXX 不能为空 测试错误
4 Null Null Null Null Null Null Null 不能为空 测试错误
5 admin Null XXX XXX XXX XXX XXX 不能为空 测试错误
6 admin 75364 Null XXX XXX XXX XXX 不能为空 测试错误
7 admin 75638 XXX Null XXX XXX XXX 不能为空 测试错误
8 admin 8375 XXX XXX Null XXX XXX 不能为空 测试错误
9 admin 76536 XXX XXX XXX Null XXX 不能为空 测试错误
10 admin 74563 XXX XXX XXX XXX Null 不能为空 测试错误

5.3.2用户登录测试
用户登录功能描述:用户选填信息,允许后返回主界面。如下表5.2所示:

表5.2 用户登录测试用例表
序列 操作 输出 备注
1 点击允许按钮 登录成功,进入首页 测试成功
2 点击拒绝按钮 登录失败,停留在登录界面 测试成功
5.3.3用户请假测试
用户请假功能描述:用户点击授权按钮,点击提交,成功后请假结果页面。如下表5.3所示:
表5.3 用户请假测试用例表
序列 输入
开始时间 结束时间 请假理由 请假类型 图片 输出 备注
1 2020/04/12 2020/04/12 XXX XXX XXX 完善成功 测试正确
2 2020/04/12 2020/04/12 XXX XXX XXX 该天已经申请请假了,不能重复申请 测试错误
3 Null 2020/04/12 XXX XXX XXX 不能为空 测试错误
4 2020/04/12 Null XXX XXX XXX 不能为空 测试错误
5 2020/04/12 2020/04/11 XXX XXX XXX 结束时间不能比开始时间小 测试错误
6 2020/04/12 2020/04/12 Null XXX XXX 不能为空 测试错误
7 2020/04/12 2020/04/12 XXX Null XXX 不能为空 测试错误
8 2020/04/12 2020/04/12 XXX XXX Null 不能为空 测试错误

5.5 本章小结
本章阐述颗系统测试的目的以及意义,给出了部分测试用例证明学生咑咔啦考勤系统的主流程功能是没有问题的。

第6章 结束语

6.1全文总结
经过这段时间的努力,基于Springboot的学生咑咔啦考勤小程序的设计与实现终于完成了。这次毕设选择小程序作为系统的用户端的界面,整体设计简约干净,让用户观感舒适,操作简单。使用Java作为开发语言,搭配Springboot框架进行开发,内置Servlet服务器的特性以及简化配置文件的操作是我选用的主要因素,再配合主流的数据库Mysql作为学生咑咔啦考勤系统的数据支持。在这些工具的支持下,系统更能高效的运作。这次自行设计对本人将来踏上工作岗位是非常有帮助的,积累更多的开发经验。
6.2课题展望
基于Springboot的学生咑咔啦考勤小程序目前还没有使用对于选课以及需要重修的课程进行处理,所以这方面的课程信息是不能进行管理的,如果在有机会和时间的条件下,该小程序会对这方面的需求进行完善。由于时间问题,基于Springboot的学生咑咔啦考勤小程序的设计与实现的客户端界面设计比较简单,后期会优化客户端的界面以及功能可能会有所欠缺。

参考文献

[1] 祝谨惠.计算机软件开发的JAVA编程语言特点分析[J].数字技术与应用,2013(07):209.

[2]孙文波.基于Linux网络计算机Java虚拟机的性能优化经验谈[J].无线互联 科技,2013(01):33.

[3]蔡创.计算机软件开发中JAVA编程语言的分析和思考[J].信息技术与信息化,2017(12):80-81.

[4]王养廷.基于Web的Java框架设计与实现[J].软件导刊(教育技术),2014,(01):58-59.

[5]Buell.Data structures using Java. Jones&Bartlett[J] Learning.2013, 26(4):65-70

[6]Afzel Noore,Nikhil Tungala. Embedding biometric identifiers in 2D barcodes for improved security[J] .Computers & Security,2004,23(20):679-686.
[7] 阎新芳.Java设计模式在数据库编程中的应用研究[J].信息通信,2014,4(11):120-123.

[8]张玉孔.B2C型中小企业电子购物系统的设计[J].商场现代化,2009,22(16):13-15.

[9]杨静.基于JAVA WEB中MVC模式的研究与应用[J].电脑知识与技术,2014,9(28):68-71.

[10]刘正红.基于JAVA的网上店铺的设计与实现[J].电子世界,2015,15(2):197-198.
[11]Martin Ngobye Computing Static Slice for Java Programs.2012.

致 谢

经过两个多月的努力,论文终于脱稿付印了。在此之际,我思绪万千,心情久久不能平静。涌上心头的不是长途跋涉后抵达终点的欣喜,而是源自心底的谢意。首先要感谢本人的指导老师李秋香对本人的毕设以及论文的内容不厌其烦的进行多次指导和悉心指点,从老师的指导中让本人看到了老师以其严谨求实的治学态度、高度的敬业精神、孜孜以求的工作作风,使本人在完成论文的同时也深受启发和教育。
在即将毕业离校之际,我要感谢学校对我的栽培,对学校的全体领导和老师表示真挚的谢意,感谢513宿舍全体同仁生活上给予我的关心和帮助以及学业上的切磋和指点,感谢计科一班全体同学的帮助和勉励。同窗之宜和手足之前,我将终生难忘!
路漫漫其修远兮,吾将下上而求索。我愿在未来的学习和研究过程中,以更加丰厚的成功来答谢曾经帮助和支持我的友人。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值