目 录
摘 要 I
Abstract II
引 言 1
1 相关技术 3
1.1 SpringBoot框架 3
1.2 Vue框架 3
1.3 ECharts 3
1.4 JQuery技术 4
1.5 本章小结 4
2 系统分析 5
2.1 需求分析 5
2.2 非功能需求 8
2.3 本章小结 8
3 系统设计 9
3.1 系统总体设计 9
3.1.1 系统体系结构 9
3.1.2 系统目录结构 9
3.1.3 系统功能结构 9
3.2 系统详细设计 10
3.2.1 系统功能设计 10
3.2.2 数据库设计 10
3.3 本章小结 16
4 系统实现 17
4.1 开发环境 17
4.2 开发规范 17
4.3 数据库实现 17
4.4 SpringBoot项目搭建 17
4.5 功能实现 18
4.6 本章小结 20
5 系统测试 21
5.1 测试计划 21
5.2 用例测试 21
5.3 压力测试 22
5.5 本章小结 22
结 论 23
致 谢 24
参考文献 25
摘 要
近年来,随着我国的社会经济发展,我们上课的签到形式变得各式各样,我们熟悉的签到点名的方式仍然是主流方式,然而我们的大学公共课程上课人数非常多,如果每个人都点名就需要浪费很多的课上时间,还有顶岗实习的签到距离遥远,签到的真实性比较差。
随着网络科技的发展,各种应用也出现在校园,学生上课点名的方式逐渐被应用中的签到所代替。国家在倡导应用型人才,大部分学校会鼓励大四学生走出校园,提前接触社会生活,为将来的就业打下夯实的基础,但走出校园的学生实习的真实性又成了一大难题。
本系统是以解决本科教育顶岗实习课程无法有效监督学生实习情况的问题而研发的。教师可以通过本系统发布实习期间的任务,例如实习报告提交、实习考核表提交以及实习签到任务等。学生可以通过本系统获知任务要求,并提交任务成果,提交任务成果时系统会自动获取时间戳信息和地址信息,杜绝学生不在实习地点的情况。本系统是教生在实习期间能够有效沟通,使实习教学任务更加便捷的开展。
本系统管理员角色前端使用Bootstrap模板,Vue框架,前后端分离。系统自适应能力较强。通过编码实现、系统测试,进过测试,本系统的各个功能都满足正常使用。
关键词:Spring Boot;上传图片;定位
Abstract
In recent years, with the socio-economic development of our country, the form of sign-in for our classes has become various, and the familiar way of signing-in by roll-call is still the mainstream method. However, the number of classes in our university public courses is very large. It takes a lot of class time to name the roll, and the sign-in for the internship is far away, and the authenticity of the sign-in is relatively poor.
With the development of network technology, various applications have also appeared on campus, and the way students call their names is gradually replaced by the check-in in the application. The state is advocating for application-oriented talents. Most schools encourage senior students to leave the campus and get in touch with social life in advance, laying a solid foundation for future employment. However, the authenticity of the students who leave the campus has become a major problem.
This system was developed to solve the problem that undergraduate education top-post internship courses cannot effectively supervise student internships. Teachers can publish the tasks during the internship through this system, such as internship report submission, internship assessment form submission, and internship check-in tasks. Students can get the task requirements through this system and submit the task results. When submitting the task results, the system will automatically obtain the timestamp information and address information to eliminate the situation where the students are not in the internship location. This system is to enable students to communicate effectively during the internship, and make the internship teaching task more convenient.
The front end of this system administrator role uses Bootstrap template, Vue framework, and the front and back ends are separated. The system has strong adaptability. Through coding, system testing, and testing, each function of this system meets normal use.
Keywords: Springboot; upload pictures; location
引 言
随着网络科技的发展,各种应用也出现在校园,学生上课点名的方式逐渐被应用中的签到所代替。国家在倡导应用型人才,大部分学校会鼓励大四学生走出校园,提前接触社会生活,为将来的就业打下夯实的基础[1],但走出校园的学生实习的真实性又成了一大难题。
本系统是以解决本科教育顶岗实习课程无法有效监督学生实习情况的问题而研发的。教师可以通过本系统发布实习期间的任务,例如实习报告提交、实习考核表提交以及实习签到任务等。学生可以通过本系统获知任务要求,并提交任务成果,提交任务成果时系统会自动获取时间戳信息和地址信息[2]。本系统是教生在实习期间能够有效沟通,使实习教学任务更加便捷的开展。
系统前端使用Html5+Vue+jQuery进行混合式开发,使用vue-resouse处理前端分离跨域问题。使用Spring Boot 编写系统后台,使用Tomcat作为服务器[3],通过数据缓存对查询速度的进行优化,通过前后端分离使得项目部署更加节省服务器资源。
第1章,介绍项目中使用的相关技术,说明基于Spring Boot技术的签到管理系统的核心架构框架技术,数据库使用MySQL数据库,使用了缓存技术用来处理部分数据,使得响应更快,使用ECharts技术分析数据信息,了解用户活跃度。
第2章,对基于Spring Boot技术的签到管理系统进行系统分析,分析基于Spring Boot技术的签到管理系统的功能需求、用例分析和非功能需求,分为四大模块。
第3章,介绍基于Spring Boot技术的签到管理系统的系统设计。按照功能模块划分,将基于Spring Boot技术的签到管理系统总体分为四大模块。本文结构安排如下。其中详细设计中要介绍数据库设计以及详细功能设计,在数据库设计中,功能设计中展示设计功能用例图。
第4章,介绍基于Spring Boot技术的签到管理系统的系统实现部分,该部分分为开发环境、开发规范、数据库实现以及核心功能实现四大部分。其中数据库实现中,展示了本系统的部分数据表。
第5章,完成系统测试部分。写明测试计划以及测试用例,单元测试结束后,写明测试结果。压力测试中,向系统发送数量较多的请求,查看系统响应时间、吞吐量,编写测试结果报告。
结论,说明系统总体的完成情况,总结系统所需要解决的一些问题、系统的应用价值,对系统进行整体评价,说明系统的优点、缺点,对下一步工作进行构想。
1 相关技术
1.1 SpringBoot框架
Spring为企业Java开发提供了相对简单的方法,依靠注解相对的程序设计,以简单的Java对象(POJO)来实现EJB的功能,Spring开发具有XML配置的bean是非常有用的,随着项目的扩展,XML配置文件必须放在其它配置文件中,这时需要经常在开发的分类和配置文件之间切换[4]。Spring 3.0以业务设置导入了Java基础设置功能[5]。这可以用一种形式安全、可重新配置的设置模式来代替XML。
Spring Boot简化了基于Spring的应用程序开发,只有"运行"才能创建独立的生产级Spring应用程序[6]。Spring Boot在Spring平台和第三方库中打开的设置(默认设置)因为提供了一些信息,所以很容易启动。
框架虽然很强,但即使是很简单的项目,也需要多布置一些,它的功能非常简单,它帮助我们自动设置,Spring Boot框架的核心是自动设置。如果有合适的jar包,Spring将自动设置[7]。
1.2 Vue框架
Vue 是用于构建用户界面的框架,通过整合第三方iview库,基于脚手架框架开发 Web 前端页面[8]。可提供强大的伸缩能力[9]。Vue是用户界面的框架,进步代表的意义是最小化,所有的框架只能以自己的特点向用户提出一定的要求[10]。要求强是影响企业发展的使用方式,简单地说,对于大家不知道的Vue的模块或函数是不能使用的,可以换成熟悉的技术,与其他框架相比,基本上没有生硬的要求[11]。
1.3 ECharts
ECharts技术是一款开源的工具,具有数据可视化的功能[12],它比较依赖于轻量级的画布,用户使用ECharts可以在电脑和移动端设备上进行设计,设计个性化界面[13],使图表看起来更加直观生动形象,使用多种类型展示数据的变化趋势,方便用户查看使用[14]。ECharts所提供的图表的种类很多,兼容性也比较好,它可以为用户提供饼图、折线图、柱状图、地图等各种各样关系图形表[15],更加直观、生动的展示出各组数据之间的关系变化,用户可根据系统需求设计出不同的图表关系[16]。
通过导入所需图表的JS文件,文件中调取所需展示的某组数据,即可展示出这些数据之间的关系以及他们的变化趋势[17]。ECharts技术不仅仅在视觉上增加了用户体验度,在后台的管理上也有效的减少了工作时间。使数据更加直观,方便查看[18]。
1.4 JQuery技术
JQuery库创造出更少的代码,并提供更多的工作。JQuery将常见的JavaScript函数编码组合起来,JavaScript的设计模式,便于处理的HTML,易于分离结构和行为,JQuery具有独特的连锁语法[19],它有着极其简单明了的多重功能界面,有着既高效又灵活的CSS选择器,它可以放大CSS选择器[20]。JQuery,它可以操作页面的对象,并且对页面的外观进行修改,并为页面添加更多的效果和浏览器兼容[21]。
1.5 本章小结
本章主要介绍了签到管理系统项目所应用到的框架等相关技术,以及服务器、数据库等相关内容介绍,项目中使用了ECharts数据可视化对数据进行处理。介绍了这些技术在签到管理系统系统的实现中能够起到的重要作用。进行深入学习,为签到管理系统项目的实现打下良好的基础。
2 系统分析
本章基于第一章介绍的相关技术,详细的描述了基于spring boot技术的签到管理系统的系统分析,分别从实体和功能需求进行分析,使用用例图展示了用例之间的关系可以更加直观的展示基于spring boot技术的签到管理系统的用例之间的关系。
2.1 需求分析
本系统采用调查问卷的方式进行需求获取,通过获取的需求且对现有系统常规功能的分析,确定基于Spring Boot技术的签到管理系统包括:学生模块、教师模块、签到模块、报告模块。
基于Spring Boot技术的签到管理系统学生模块包括学生信息显示,学生的信息修改,学生选择指导教师操作,学生录入校外指导教师操作、学生修改密码操作等功能,如图2.1所示。
图2.1 学生模块用例图
学生信息显示。学生登陆进入主页,点击菜单栏中的我的信息,进入我的信息窗口,系统就会获取当前学生信息并且将学生信息显示出来,学生就可以对其进行查看。
学生的信息修改。学生登陆进入主页,点击我的信息,进入我的信息页面,系统会将用户的信息显示出来,学生可以在输入框内进行修改,根据系统提示输入完信息后点击按钮进行修改。
学生修改密码操作。学生登陆进入主页,进入修改密码页面,分别输入学生的原密码,新密码以及确认密码,点击修改,系统会提示修改成功,或者原密码错误。
学生选择指导教师操作。学生登陆进入主页,点击录入知道教师,进入录入知道教师页面,分别输入指导教师的信息,点击录入,系统会提示录入成功,则完成了选择知道教师操作。
基于Spring Boot技术的签到管理系统教师模块包括教师在系统中的操作,主要功能是教师录入签到任务,教师录入报告任务,教师发布签到任务,教师发布报告任务,如图2.2所示。
图2.2教师模块用例图
教师录入签到任务功能。教师根据系统提示进入主页,点击进入录入签到任务功能窗口,将签到任务信息录入输入框内,点击录入,系统会提示录入成功,则完成了录入签到任务功能。
教师录入报告任务功能。教师根据系统提示进入主页,点击进入录入报告任务功能窗口,将报告任务信息录入输入框内,点击录入,系统会提示录入成功,则完成了录入报告任务功能。
教师发布签到任务功能。教师根据系统提示进入主页,点击进入发布签到任务窗口,教师选择要完成签到任务的学生,然后选择要发布的任务,点击发布,系统提示发布成功,则完成发布签到任务功能。
教师发布报告任务功能。教师根据系统提示进入主页,点击进入发布报告任务窗口,教师选择要完成报告任务的学生,然后选择要发布的任务,点击发布,系统提示发布成功,则完成发布报告任务功能。
签到模块主要功能是学生进行签到,包括了学生在本系统的各个功能,主要有查看已完成签到任务信息,学生查看未完成签到任务信息,教师查看签到任务,如图2.3所示。
图2.3签到模块用例图
学生进行签到功能。学生登陆进入学生主页,点击进入签到任务界面,选择未完成的签到任务,点击签到按钮,进入定位界面选择好位置提交签到图片,点击完成,系统会提示签到完成。
教师查看签到任务功能。教师登陆进入主页,点击查看签到任务,系统会显示发布的签到任务信息,会显示学生完成签到任务的情况,教师点击查看图片就会下载学生签到上传的图片。
报告模块主要功能是学生进行提交报告,包含学生在提交报告模块的主要功能,主要有学生查看已完成报告任务信息,学生查看未完成报告任务信息,教师查看报告任务,如图2.4所示。
图2.4报告模块用例图
学生进行提交报告功能。学生登陆进入学生主页,点击进入报告任务界面,选择未完成的报告任务,点击提交按钮,系统会弹出遮罩层,并显示提交报告按钮,点击完成,系统会提示提交报告完成。
学生查看未完成报告任务信息功能。学生根据系统提示进入学生主页,点击菜单栏中未完成报告任务,进入未完成报告任务窗口,系统会根据学生标识,显示该学生未完成的报告任务信息。
教师查看报告任务功能。教师登陆进入主页,点击查看报告任务,系统会显示发布的报告任务信息,会显示学生完成报告任务的情况,教师点击查看文档就会下载学生提交的文档。
2.2 非功能需求
非功能需求的满足程度,直接影响软件能否以正常的形式运行。基于Spring Boot技术的签到管理系统的非功能需求是功能需求分析介绍的功能以外的特性,包括对服务器硬件和软件要求、客户端软件要求、访问容量以及响应时间。
2.3 本章小结
本章介绍的是签到管理系统的需求分析。介绍了项目首先需要实现的项目功能以及每个功能的实现方式,经过这一阶段的项目分析,对整个项目平台需求有了进一步规划,明确接下来工作思路。可用于今后指导该项目的设计、开发、测试工作。
3 系统设计
3.1 系统总体设计
本章是对基于spring boot技术的签到管理系统的用例划分、功能模块、数据结构、接口、异常处理、扩展性等进行了设计,使该系统更加符合用户的需求,同时为测试人员提供参考。
3.1.1 系统体系结构
系统采用B/S结构。程序员在服务器上添加业务逻辑代码,大大减轻了浏览器服务器的负担。当用户在浏览器上传输数据时,将数据传输到后端服务器,并使用此功能的业务服务处理逻辑[22]。B/S结构既保留了C/S结构的优点,又使复杂的程序易于实现[23]。
3.1.2 系统目录结构
系统的配置文件(application.properties)放在src/main/resources /;
系统公共文件(ApplicationServer.java)放在com.mpy;
系统实体(bean)放在com. mpy.bean;
系统业务层(Service)放在com, mpy.service;
系统控制器(Controller)放在com. mpy.controller;
系统工具(tool)放在com. mpy。
3.1.3 系统功能结构
本系统的功能主要有一下部分,分为学生部分、教师部分、签到部分、报告部分。系统提供功能如下: 管理员进行登录,录入学生信息,录入教师信息,查看学生信息,查看教师信息,修改学生信息,修改教师信息,删除学生信息,删除教师信息,查看系统登录日志,学生进行登录,学生信息显示,学生的信息修改,学生修改密码操作,学生选择指导教师操作,学生录入校外指导教师操作,教师信息显示,教师信息修改,教师修改密码操作,教师进行登录,教师录入签到任务,教师录入报告任务,教师发布签到任务,教师发布报告任务,学生进行签到,学生查看已完成签到任务信息,学生查看未完成签到任务信息,教师查看签到任务,学生进行提交报告,学生查看已完成报告任务信息,学生查看未完成报告任务信息,教师查看报告任务,学生上传签到图片,学生上传报告文件,教师查看报告文件,教师查看签到图片,教师查看报告任务,具体的功能结构图。
3.2 系统详细设计
3.2.1 系统功能设计
这一部分主要描述的是该系统的核心功能的流程设计,算法设计,并配以功能描述来对功能进行详细解释。
学生查看未完成签到任务信息。学生登陆进入主页,点击菜单栏中的未完成签到任务按钮,进入查看未完成签到任务信息页面,系统会发送请求,从数据库中获取未完成任务信息。
图3.1学生查看未完成签到任务时序图
图3.2学生进行签到时序图
3.2.2 数据库设计
根据需求分析以及签到管理系统项目的需求,对项目数据库进行了设计,可得到一个映射信息数据需求概念的E-R图模型,设计绘制出的实体类关系图如图3.4所示。
图3.3签到管理系统实体关系图
根据上文获取的需求,并对需求进行的分析,以及分析整个系统的运作方式。本系统共有20个实体,8个一对一关系,10个一对多关系,共需要设计20个表,如表3.1所示。
表3.1 数据库表列表
编号 表名 说明
1 admin 管理员信息表
2 check 签到图片对比结果表
3 headphoto 头像表
4 Internship 学生实习信息表
5 login_log 登陆日志表
6 passwordlog 密码修改日志表
7 report 报告信息表
8 report_task 报告任务表
9 report_task_inf 报告任务信息关联表
10 report_task_student 报告任务指派表
11 signin 签到信息表
管理员信息表(admin)主要储存系统当中的管理员信息,例如账号,密码等,该表以管理员id作为主键,使每条记录具有唯一性。具体字段如表3.2所示。
表3.2 管理员表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
login varchar(45) NOT NULL 管理员账号
password varchar(200) NOT NULL 管理员密码
签到图片对比结果表(check)主要储存系统当中签到图片对比结果,例如任务id对比结果添加时间等,签到图片对比结果id作为主键,使每条记录具有唯一性。具体字段如表3.3所示。
表3.3 签到图片对比结果表
列名 数据类型 约束条件 其他说明
id int KEY 主键
taskId int NOT NULL 任务id
state varchar(200) NOT NULL 审核状态
addtime datetime NOT NULL 产生时间
头像表(headphoto)主要储存系统当中的用户的头像信息,例如用户id,用户类型,图片的路径等。本表以头像id作为主键,使每条记录具有唯一性。具体字段如表4.4所示。
表3.4 头像表
列名 数据类型 约束条件 其他说明
id int KEY 主键
memberId int NOT NULL 用户id
type varchar(200) NOT NULL 用户类型
url varchar(200) NOT NULL 图片路径
学生实习信息表(Internship)主要储存学生的实习信息,例如学生id,实习地址,实习公司,实习岗位等。学生实习信息id作为主键,使每条记录具有唯一性。具体字段如表3.5所示。
表3.5 学生实习信息表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
student int NOT NULL 学生id
address varchar(200) NOT NULL 实习地址
company varchar(200) NOT NULL 实习公司
登陆日志表(login_log)主要储存登陆日志信息,例如用户id,登陆人类型,登陆时间等。登陆日志id作为主键,使每条记录具有唯一性。具体字段如表3.6所示。
表3.6 登陆日志表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
type varchar(45) NOT NULL 登陆类型
addtime datetime NOT NULL 添加时间
memberId int NOT NULL 登陆人
密码修改日志表(passwordlog)主要储存密码修改日志信息,例如修改人id,修改类型,修改时间等。密码修改日志id作为主键,使每条记录具有唯一性。具体字段如表3.7所示。
表3.7 密码修改日志表
列名 数据类型 约束条件 其他说明
id int KEY 主键
type VARCHAR(45) NOT NULL 修改人类型
memberId int NOT NULL 修改人id
addtime datetime NOT NULL 修改时间
报告信息表(report)主要储存系统中学生提交的报告信息,例如学生id,提交时间,文件路径,提交状态等。报告信息id作为主键,使每条记录具有唯一性。具体字段如表3.8所示。
表3.8 报告信息表
列名 数据类型 约束条件 其他说明
id int KEY 主键
studentId int NOT NULL 学生id
addtime datetime NOT NULL 添加时间
fileUrl VARCHAR(200) NOT NULL 文件路径
stae VARCHAR(200) NOT NULL 提交状态
报告任务表(report_task)主要储存系统中的报告任务,例如任务名称,开始时间,结束时间,教师id等。报告任务id作为主键,使每条记录具有唯一性。具体字段如表3.9所示。
表3.9 报告任务表
列名 数据类型 约束条件 其他说明
id int KEY 主键
teacherId int NOT NULL 教师id
name varchar(45) NOT NULL 任务名称
begintime datetime NOT NULL 开始时间
endtime datetime NOT NULL 结束时间
报告任务信息关联表(report_task_inf)主要储存报告任务与报告信息关联数据,例如报告id,报告任务id等,报告任务信息关联id作为主键,使每条记录具有唯一性。具体字段如表3.10所示。
表3.10 报告任务信息关联表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
reportTaskStudentId Int NOT NULL 报告任务id
reportId Int NOT NULL 报告信息id
报告任务指派表(report_task_student)主要储存报告任务指派信息,例如任务id,教师id,学生Id,指派状态等,报告任务指派id作为主键,使每条记录具有唯一性。具体字段如表3.11所示。
表3.11 报告任务指派表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
taskId int NOT NULL 任务id
teacherId int NOT NULL 教师id
studentId int NOT NULL 学生id
state varchar(45) NOT NULL 指派状态
签到信息表(signin)主要储存系统当中签到信息,例如学生id,签到时间,图片路径,经度,纬度等,签到信息id作为主键,使每条记录具有唯一性。具体字段如表3.12所示。
表3.12 签到信息表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
studentId int NOT NULL 学生id
photourl VARCHAR(200) NOT NULL 图片路径
lng VARCHAR(200) NOT NULL 经度
lat VARCHAR(200) NOT NULL 纬度
addtime datetime NOT NULL 添加时间
第一次签到记录表(signin_first)主要储存系统当中的首次签到记录,例如学生id,签到信息id等,第一次签到记录id作为主键,使每条记录具有唯一性。具体字段如表3.13所示。
表3.13 第一次签到记录表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
studentId int NOT NULL 学生Id
signinId Int NOT NULL 签到信息id
教师表(teacher)主要储存系统当中的教师信息,例如工号,姓名,电话,学院,专业,密码等,该表以教师id作为主键,使每条记录具有唯一性。具体字段如表4.14所示。
表3.14 教师表
列名 数据类型 约束条件 其他说明
Id int KEY 主键
number varchar(45) NOT NULL 工号
mobile varchar(45) NOT NULL 手机号
college varchar(45) NOT NULL 学院
major varchar(45) NOT NULL 专业
name varchar(45) NOT NULL 姓名
password varchar(45) NOT NULL 密码
3.3 本章小结
本章主要介绍了签到管理系统的系统设计。通过本章介绍了签到管理系统项目的整体架构,使用功能结构图更加清楚明了的展示出了项目的功能需求,以及系统处理方式,详细介绍了数据表结构。
4 系统实现
4.1 开发环境
本系统用IDEA作为开发工具,第九版本的Tomcat作为服务器来进行开发,数据库使用11.6版本的数据库来存储数据,电脑性能为Intel® i9处理器。
4.2 开发规范
这个系统是根据Java命名标准命名的。名称、类型名称、接口名称和方法名称由小写字母组成。可以看到这个名字的意思。可以看到包名的内容。在分类或接口中,方法名以小写开头。标准命名和注释。它可以提高代码的可读性,开发人员可以找到相应的方法。
4.3 数据库实现
根据实体关系,设计出20张表,如图4.1所示。
图4.1系统数据库界面
4.4 SpringBoot项目搭建
本系统使用Maven搭建Spring Boot项目工程,其中启动文件MiaoStart.java置于com.mpy下,Controller、Dao、Service等各层接口置于com.mpy.*下, application.properties中配置各类基本信息,如图4.2所示。
图4.2项目工程图
4.5 功能实现
录入实习信息功能,学生登陆进入主页,点击录入实习信息,在页面输入框内输入实习公司,实习地址,实习岗位,点击保存则完成录入实习信息功能,界面如图4.3所示。
图4.3录入实习信息展示图
INSERT INTO internship (student, address, company, station ) values (#{studentId}, #{address}, #{company}, #{station} ) 学生进行签到功能,学生登陆进入主页,点击任务管理,点击未完成签到任务,点击签到进入签到界面,上传签到图片后,点击签到则完成学生签到功能,界面如图4.4所示。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/21a3478627b445edb332253f26009a10.png)
图4.4学生签到功能
function uploadPhoto(){
var $file1 = ( " i n p u t [ n a m e = ′ f i l e N a m e 1 ′ ] " ) . v a l ( ) ; / / 用户文件内容 ( 文件 ) / / 判断文件是否为空 i f ( ("input[name='fileName1']").val();//用户文件内容(文件) // 判断文件是否为空 if ( ("input[name=′fileName1′]").val();//用户文件内容(文件)//判断文件是否为空if(file1 == "") {
alert("请选择上传的目标文件! ")
return false;
}
var size1 = $("input[name='fileName1']")[0].files[0].size;
if (size1>104857600) {
alert("上传文件不能大于100M!");
return false;
}
学生上传签到图片功能,学生登陆进入主页,点击任务管理进入未完成的签到任务界面,点击签到进入签到界面,选择文件,点击上传则完成学生上传签到图片功能,界面如图4.5所示。
图4.5学生上传签到图片功能
R r = new R();
Map<String,Object> record = new HashMap<String, Object>();
String fileName = file.getOriginalFilename();
if (fileName.indexOf("\") != -1) {
fileName = fileName.substring(fileName.lastIndexOf("\"));
}
String filePath = null;
filePath = ResourceUtils.getURL("classpath:").getPath();
4.6 本章小结
本章介绍签到管理系统实现系统部分,介绍项目的核心功能,并且进行截图,介绍了项目的开发环境IDEA、HBuilder,数据库使用MySQL数据库。并且详细介绍了系统的核心功能。
5 系统测试
系统测试是在项目的开发过程中属于一个重要的阶段。对软件进行实地化的场景化测试,目的是能够及时发现软件中的漏洞,使得系统更加完善。在整个基于Spring Boot技术的签到管理系统开发的过程中,会遇到很多问题,在开发每一个模块的时候都会遇到不同的问题,有制度的测试可以规避以后错误的发生,为了减少错误的存在,优化系统功能,本章进行必要的测试。
5.1 测试计划
为了保证基于Spring Boot技术的签到管理系统的用户体验和使用质量,尽量找出该系统存在的错误并及时加以改正,可以保证系统能尽快的投入到实际应用当中[24]。在编写项目的过程当中,按照标准严谨的测试方法,进行测试用例,针对项目各个模块都进行测试。
5.2 用例测试
每一个项目的完成测试都是必不可少的环节,测试是为了提高软件的开发质量,同时也是为了提高项目的稳定性、实用性,给用户带来更好的用户体验,就要在生产环节将项目的漏洞修复和完善好[25]。本系统也不免不了会有各种各样的漏洞,故也需要进行测试,测试将围绕本系统的主要模块,本系统的主要模块分为:学生模块、教师模块、报告模块、签到模块。本系统针对各模块的功能中的主要操作进行了用例测试。其中签到管理系统的部分的测试结果如图表5.1所示。
表5.1系统用例测试结果表
用例编号 用例分类 用例目的 预期结果 测试结果
Case1 学生模块 个人信息显示 正确显示 结果相同
Case2 学生模块 个人信息修改 正确显示 结果相同
Case3 学生模块 登陆注册 正确显示 结果相同
Case4 教师模块 登陆注册 正确显示 结果相同
Case5 教师模块 个人信息显示 正确显示 结果相同
Case6 教师模块 个人信息修改 正确显示 结果相同
Case7 报告模块 学生上传报告 正确显示 结果相同
Case8 报告模块 学生查看未完成报告 正确显示 结果相同
Case9 签到模块 学生进行签到 正确显示 结果相同
Case10 签到模块 学生上传签到图片 正确显示 结果相同
5.3 压力测试
图5.1测试信息汇总图
对5个接口每个测试200次,测试完成后,共发送1000次HTTP请求,平均响应时间36,最快响应速度30,最慢反应速度112,异常发生率0%,数据吞吐量27.3sec。
5.5 本章小结
本章主要对签到管理系统项目进行测试操作,制定测试计划,并且对签到管理系统进行了压力测试,最后得到项目的测试结果,以保证整个系统的更稳定的运行。
结 论
签到在教学任务中是重要的组成部分,其准确快速的执行对于教育的发展有重要的意义,不仅如此,对顶岗实习的学生进行实时观测学生实习情况,也是教学当中的尤为重要的环节。为此,本文针对实习签到信息化的迫切需求,设计并实现了基于Spring Boot技术的签到管理系统。本文首先分析了基于Spring Boot技术的签到管理系统的开发背景及意义,然后分析了构建基于spring Boot技术的签到管理系统所需要解决的一些问题,最后对基于Spring Boot技术的签到管理系统的设计及实现方法进行了详细的说明和探讨。本文所开发的基于Spring Boot技术的签到管理系统已经具备基本的功能,可以初步满足大学对学生顶岗实习信息化的业务需求。
本系统在开发的过程中考虑了系统的再次开发,以及随时可变的需求等要求,本系统的代码采用单例模式编写,具有可伸缩性,安全性高等特点,系统的后台框架Spring Boot框架保证了系统具有效率高、耦合性低的特点。本项目在实际的应用过程中,实际的效果说明了本系统可以适应产品的需求。
致 谢
我的大学生活已经接近尾声,四年的学习生活让我受益匪浅。我经过半年时间的努力终于完成了毕业设计和论文。回顾毕业设计的创作,从选题到选择应用技术,就不在学习新的知识,不局限于学校所学习的知识。给自己大学生活添加浓墨重彩的一笔。
首先,我要深深感谢我的导师朱元华老师和刘建生老师。在整个毕业设计制作过程中给我的帮助和鼓励。每一次遇到困惑老师们都会第一时间站出来帮我解答。在他们的激励下我才能不断的克服一个又一个的困难,一步步接近完成毕设的目标。也是思路凌乱时他们一次次的梳理,使我在创作过程中不断创新。两位老师的指导严谨,小到论文的标点符号,大到论文结构的错误都会进行纠正,在一遍的修改过程中,我的论文质量也越来越高。
同时也感谢这四年来与我互勉互励的诸位同学,在各位同学的共同努力之下,我们始终拥有一个良好的生活环境和一个积极向上的学习氛围,能在这样一个团队中度过,是我莫大的荣幸。
参考文献
[1]杨舒卉,王睿,罗春华.数字资源后台管理系统研究[J].现代信息科技.2018,(11):84-99
[2]金蝶软件不上班照样办公------金蝶银行后台管理系统[J].国金融家. 2003,(04):126-151
[3]李光明,房靖力.电脑知识与技术.基于JavaWeb的推荐数据后台管理系统的设计与实现[J].2020,(03):64-76
[4]乔继明,陈燕申.城市规划.城市地理信息系统信息分类方法和体系的探讨[J].1994,(03):118-132
[5]徐杨,张丹.基于ASP.NET技术的高校网站后台管理系统设计与实现[J].软件导刊.2013,(05):41-55
[6]李振忠,刘学明,张琦恩.锅炉和压力容器计算机集成制造系统信息分类与编码[J].锅炉制造.2003,(03):90-99
[7]丁全.基于数据挖掘的电力信息分类及搜索技术探析[J].通讯世界. 2016,(19):114-129
[8]南铉国.科技通报.处理复杂信息分类的自然语义模型仿真分析[J]. 2014,(12):26-67
[9]郑鹭.新零售下便利店后台管理系统服务设计研究[J].中国包装. 2019,(10):189-203
[10]俞新凯,李斌,毛敏.基于网状结构的农业信息分类[J].现代农业科技.2011,(03):54-68
[11]冯涛,李朋,张金芳,孙晓磊,李亚娟.高校学生考勤管理系统开发中的关键技术研究[J].河北水利电力学院学报.2019,(04):12-36
[12]王煜.战时陆路军事运输路径优化研究[D].哈尔滨.哈尔滨工业大学.2011
[13]肖健梅,黄有方,李军军.基于离散微粒群优化的物流配送车辆路径问题[J].系统工程.2015,(04): 97-100
[14]赵虎.信息化战争环境下的军事物资应急配送研究[D].长春.吉林大学.2011
[15]HAAPALAJ. Routing Military Aircraft by Solving a Dynamic Multi-Objective Network Optimization Problem with the A* Algorithm[D]. Aalto University School of Science.2016,(03):12-36袁婷.浅谈Web前端开发[J].无线互联科技,2017(19):19-21
[16]张志敏.基于HTML5的Web前端开发技术研究[J].山东农业工程学院学报,2019(12):20-23
[17]许阳寅.渐进增强的前端优化[J].程序员,2010(11):5-7
[18]SoniRK,LearningSpringApplicationDevelopment[M].PacktPublishingLtd,2011
[19]天津滨海迅腾科技集团有限公司.Java Web应用程序开发[M].天津:南开大学出版社.2017
[20]Nathan Wilson,Karen Wynter,Clare Anderson et al.More than depression:a multi-dimensional assessment of postpartum distress symptoms before and after a residential early parenting program[J].BMC Psychiatry,2019,19(1):46-50
[21]许明翔.基于电子商务的企业知识管理系统架构设计研究[J].电子商务,2019(6):49-50
[22]Shufan Liu. Design and Implementation of Communication Base Station Survey System based on Springboot[C]. Hongkong New Century Cultural Publishing House,2018:34-36
[23]石玉峰.战时不确定性运输路径优化研究[D].成都.西南交通大学.2016
[24]臧涛涛.基于模糊层次分析法(FAHP)的军事运输路径优化研究[D].长春.吉林大学, 2017
[25]潘立军.带时间窗车辆路径问题及其算法研究[D].中南大学.2018