




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章引言随着计算机技术的迅速发展,计算机的应用也日益广泛。在企业的经营活动中,员工的出勤管理是企业信息管理的一个重要环节,人力资源的大量使用会造成大量的人力物力和时间的浪费,同时还存在着大量的统计问题。一所学校对其员工正常上下班、延时、加班费等进行考勤,并以报表的形式输出,合理地调整工作日程,并利用电脑对考勤进行统计、分析、处理,从而得出所需的各类统计报告和考勤原始资料。随著学校的发展,学生考勤及成绩管理系统可以更好的协助有关单位,管理学生,其内容是学校决策人员及管理者的关键,为使用者提供足够的资讯及快速的查询工具。系统具有创建管理、修改管理、删除管理、多字段查看、提醒、统计等功能。节省资源,对于我们的学校来说,尤其是在管理上。为进一步突出工作任务管理体系设计的重要意义,并在实际应用中验证了该体系在提高工作效率、最大化信息管理与共享方面的作用。学生的出勤与成绩管理是学校的一项重要工作,它可以实现对学生基本信息管理、课程信息管理、成绩录入、数据查询、数据管理等管理工作。随着时代的发展和计算机技术的日益普及,手工操纵的学生信息正在逐步被电脑所代替。学生的考勤与考试成绩管理系统,只要由任课教师将成绩录入系统,进行排序,计算平均分数,统计人数,全部由电脑进行,无需任何繁琐的工作。利用学生考勤与考试成绩管理体系,有效地降低了管理工作量,提高了工作的效率和质量,使教师和管理者有了更多的时间和精力去做其它的事情。。开发环境与系统分析第二章开发环境与系统分析2.1开发技术本系统是以B/S结构为基础,应用了前、后两个独立的管理体系结构。利用SpringBoot和MyBatis编程,利用Vue,ElementUI技术进行前端接口的设计和交互;2.1.1SpringBootSpringBoot是一个全新的架构,它通过在Maven的pox.xml文件中增加相关的依赖程序,并以注释的方式取代了冗长的xml配置。这样,开发者就可以从复杂的配置和管理中解脱出来,更多地关注于商业逻辑代码的编写。2.1.2Vue.jsVue是一个渐进的框架,用来建立一个用户接口。Vue核心库专注于视图,它不但容易使用,而且容易与第三方库或已有的项目进行集成。Vue的寿命分为八个阶段,即:建立之前(创建)、加入之前(先加载)、加载后(加载)、升级之前(加载)、“删除”(删除)。2.1.3MyBatisMyBatis是一个半自动化的对象关系图的持久层框架,在SpringBoot框架中,Java的实体类别对应于一个资料库中的资料表,而实体类别的属性则要一一对应资料库资料库的栏位。MyBatis是一个非常灵活的工具,它可以为一个表和一个表之间的一个,一个多个,或多个多个的关系。2.2系统分析学生出勤管理系统的设计,可以让使用者充分发挥其作用,从而为其提供多种方便。在对学生、教师、辅导员三种用户进行需求分析之后,本文将对学生、教师、辅导员三种用户进行详细的说明。2.1.1学生用户学生用户:学生在使用学号登陆系统之后,可以从系统中看到个人信息,参考排课表,线上休学,并可随时了解请假进度。同时,支持观察个人考勤,修改个人密码等等。2.1.2教师用户老师使用者:老师可以查看学生的班级信息,学生的信息。对课堂上的出勤情况进行记录,并能自动保存。同时,教师可以根据个人信息查看个人信息,修改个人密码。2.1.3管理员用户系统管理员:系统管理员可以随时查询学生的出勤情况,并对学生的请假进行审核。另外,该系统还支持管理员用户输出考勤等相关数据,根据年级统一考勤信息,对用户进行管理。系统需求分析第三章系统需求分析3.1系统功能需求本文对这四类用户进行了系统的分析,并对其进行了详细的研究。3.1.1管理员对功能的需求(1)增、减、查、改年级资料,为各年级指定课程。在删除年级的同时,还会删除各年级、各年级、各班、各科目、各科目的相关资料。(2)增加、删除和修改班级信息。当删除班级时,将班底的同学全部删除,并与教师的课程资料及成绩相对应。(3)在课程资讯管理方面,主要有:增加学校所需要的资料;在删除本课程的同时,删除本课程的相关资讯。(4)学生资料的管理:添加、删除、更改、按学号、姓名、年级、班级查询、将学生资料输出至Excel表格、输入学生资料、大量删除。(5)添加、删除、修改教师信息、通过名字查找教师信息、安排教师信息、大量删除教师信息。3.1.2老师对功能的需求(1)老师可以将学生的分数资料输入到班级中,并对其进行修改。(2)检查各班的平均分数和分数,以及各个班级的测试。(3)个人资料的查询。3.1.3学生对功能的需求(1)学生可以查看自己的各次考试的成绩信息。(2)查看个人信息。3.2系统可行性3.2.1技术可行性系统采用B/S结构,利用SpringBoot和MyBatis编写业务逻辑,前端采用Vue和ElementUI,MySQL作为系统数据库,开发人员已经熟练掌握了前、后两种技术,能够在一定的时间内完成系统的各项工作。3.2.2经济和操作可行性所采用的技术与架构均为开放源码。在这个开发过程中,没有多少的经济成本。目前,大多数学校都已经安装了计算机,在网络畅通的条件下,系统可以直接通过浏览器进行访问,无需硬件设备的支持。并且操作简便,反应迅速。所以,它具有一定的经济性和可操作性。数据库的设计第四章数据库的设计4.1数据库需求分析(1)对各年级进行增删、查、修改等,为各年级分配课程。在删除年级的同时,删除了班级、学生、考试、考试结果等相关的老师的课程资料。(1)资料项目:每个资料的名字、意义、类别、取值区间和与其它资料项目的逻辑关系。(2)资料集合:包括名字、意义和组成资料集合的多个资料项目的逻辑关系。(3)资料流程:在应用系统的工作中,资料的输入、处理、输出等。4.2数据库逻辑设计数据库逻辑的目的在于使数据库与对象数据进行匹配,通过数据库管理系统对数据库进行关联,并决定数据间的相互关系。当数据库表达到用户要求后,就可以把对象数据转化成符合系统要求的数据类型,从而实现数据的集成。4.3实体模型图各用户操作流程模型如图1、图2、图3、图4所示:图4-SEQ图\*ARABIC1系统功能流程模型图图4-SEQ图\*ARABIC2教师提交记录模型图(2)老师录入成绩流程图(图3所示)老师登录系统,查看考试信息,选择班级,录入学生成绩。图4-3老师录入成绩流程图图4-SEQ图\*ARABIC4学生出勤记录模型图4.4数据库的运行和维护完成了数据库的设计,即可开始使用。然而,这个设计的流程还没有完成,因为应用程序的使用、物理存储的改变,数据库也会随之发生变化。设计工作可以持续进行,功能也可以得到改进。为了实现这个目的,下列项目将在数据库的实际操作阶段中被监控:数据的存储与恢复:建立一个记录档案,定期备份数据库,以防止由于故障造成的数据丢失,尽量减少故障对数据库的损害。数据库的安全性和完整性控制:按用户的权限对数据进行分组,定期监测数据库的完整性变化,对各种数据进行备份,对各种数据进行灵活的权限管理。数据库的容量持续扩大。数据库的重组重建:当数据库达到预定的运行周期后,数据库的记录增加,数据库的可用存储空间将会导致系统的性能逐渐下降。要实现历史数据的集成、数据库内部的存储方式的优化、数据库的重组和重组。
系统详细设计第五章系统详细设计5.1设计思路在后台,利用“MyBatis-Plus”技术,采用SpringBoot架构和MyBatis-Plus技术。SpringBoot框架不需要编写太多的概要,MyBatis-Plus提供了大量的单表操作,从而降低了SQL语句的书写。使用MySQL作为系统的资料库.前面采用渐进Vue和ElementUI设计网页。通过IDEA和VisualStudio代码来完成前、后两个部分的编码。所采用的技术都是当前的主流技术,简化了开发,提高了开发的速度。5.2系统模块设计与实现5.2.1公共模块设计用户登录用户分为管理员、教师、学生三个部分,用户在系统中输入帐号、口令、验证码,然后在用户输入正确的信息后产生“token”进行存取和数据处理,否则将会对用户的一切行为进行拦截。阻止使用者在界面上浏览和修改资料,见下图。图5-1用户登录界面图@ApiOperation("用户登录")
@PostMapping("/login")
publicResult<?>login(@RequestBodyUserVouser,@RequestParam("code")Stringcode,HttpServletRequestrequest){
//对密码进行加密比较
Stringpwd=MD5Util.string2MD5(user.getPassword());
user.setPassword(pwd);
//根据账号和密码查询数据Userres=userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAccount,user.getAccount()).eq(User::getPassword,user.getPassword()));if(res==null)returnResult.error("-1","用户名或密码错误");
//获取生成图形验证码的结果
Stringcaptcha=(String)request.getSession().getAttribute("captcha");
//判断验证码是否为空和正确
if(StrUtil.isEmpty(code)||!captcha.equalsIgnoreCase(code))returnResult.error("-2","验证码错误");
user.setName(res.getName());
user.setType(res.getType());
//生成token
Stringtoken=TokenUtils.getToken(user.getAccount(),user.getPassword());
user.setToken(token);
returnResult.success(user);
}系统首页系统首页是各个用户的公共界面,用echart.js饼图和柱状图的形式向用户展示了各年级的人数和考试次数情况,如图所示。图5-2用户登录界面图5.2.2管理员模块设计权限管理管理员通过用户权限类型和用户名模糊查询用户信息,管理员可以添加、修改和删除用户信息,如图22所示。用户密码经过MD5加密,管理员无法查看密码,当用户忘记密码时,管理员只能通过编辑框里的重置密码按钮重置用户密码为初始密码(123456),如图所示。图5-3权限管理考试信息管理人员可以安排各年级的测验,并在加入测验时,将各班的测验结果设定为预设,由教师填写分数。考试状态预设为不可见的考生,通过切换控制考试状态。科任教师在确认了学生的分数后,可以向学生公布分数。也可以对测试信息进行更改,并将其删除。当考生的分数被删除的时候,他们的分数也会被删除。系统管理员选择了测试,并按一下分数,就可以看到考生的分数信息。根据学号、班、班、班的资料,对学生的分数进行修正。图5-4考试信息管理5.2.3教师信息管理管理员可在系统中添加教师的基本信息,为老师设置年级班级课程,在搜索框中输入教师姓名模糊查询教师信息,根据年级,班级和课程查询教师信息。删除和修改教师信息,如图所示。图5-5教师信息管理5.2.4学生信息管理管理员可通过学生姓名,所在年级和班级查找学生信息,修改和删除学生信息,还可以通过excel表格批量导入学生信息,导出学生信息,批量删除学生信息。在添加学生信息时,学号不可重复。在删除学生信息同时删除学生的成绩信息和账号信息,如图所示。图5-6学生信息管理@ApiOperation(value="导入学生信息")
@PostMapping("/upload")
publicResult<?>importStudent(MultipartFilefile){
ImportParamsparams=newImportParams();
List<Grade>gradeLists=gradeService.list();
List<Clazz>clazzLists=clazzService.list();
params.setTitleRows(0);
try{
List<Student>list=ExcelImportUtil.importExcel(file.getInputStream(),Student.class,params);
for(inti=0;i<list.size();i++){
Studentone=studentService.getOne(Wrappers.<Student>lambdaQuery().eq(Student::getStuId,list.get(i).getStuId()));
if(one!=null){
returnResult.error("-2",list.get(i).getStuId()+"已存在");
}
Integerid=gradeLists.get(gradeLists.indexOf(newGrade(list.get(i).getGrade().getName()))).getId();
list.get(i).setGradeId(id);
Stringname=clazzLists.get(clazzLists.indexOf(newClazz(list.get(i).getClazz().getName()))).getName();
IntegerclazzId=clazzService.findId(name,id);
if(clazzId==null){
returnResult.error("-2",list.get(i).getGrade().getName()+name+"不存在");
}
list.get(i).setClazzId(clazzId);
//批量插入用户信息
Useruser=newUser();
user.setAccount(list.get(i).getStuId());
user.setName(list.get(i).getStuName());
user.setType(3);
user.setPassword("e10adc3949ba59abbe56e057f20f883e");
userService.save(user);
}学生考勤信息管理班主任可以通过学生姓名查询本班学生的考勤信息,如图32所示。班主任只能对本班级的学生进行操作,包括添加,修改,删除,导入,导出和批量删除学生信息,如图所示。图5-7学生考勤信息参考文献第六章系统测试6.1测试目的试运行是指在正式运行前对系统进行性能和功能的检测,以达到用户的要求,保证系统的正常工作。软件测试是为了发现在开发过程中没有被发现的问题,从而使开发人员能够找到并纠正这些问题,从而使其符合标准。所以,这一次的测试,主要是为了发现系统中的一些潜在问题,从而提高系统的性能。开发人员可以在不同的平台上,组建一个测试团队,对系统的各部分进行测试,以确定系统是否符合使用者的要求,并能达到相应的效果。6.2测试原则一个成功的测试,必须做到以下几点:(1)在开发过程中多次进行测试。(2)测试要分组进行,各组间要对测试结果进行对比。(3)设计测试时应涉及合理与非法两种输入测试。(4)制定详细的测试计划,严格按照计划进行测试。(5)记录好每一次的测试结果,并加以比对、妥善保存,以便于总结出最终的分析报告。6.3测试方法针对相关的目标,本文从以下几个方面进行了实验。(1)LogistTest使用最直接的方式进行登录测试。输入合法、非法、空白的登陆界面,系统会给出相应的提示,其中还包含了一个错误。(2)接口试验这是最容易被忽视的一步,测试员要仔细检查接口,注意任何有Bug的地方。在进行测试时,应当对标准语言进行统一,避免由于忽视某个开发项目的名字和模块而造成Bug。(3)功能性检验这一环节的测试,主要是为了检验系统的各项需求函数的执行情况。在检测的时候
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 10 我能坚持 教学设计-2024-2025学年心理健康二年级苏科版
- 年度工作汇报:总结与展望
- 《第一单元 装扮美好生活 2 小小挂件展创意》教学设计-2024-2025学年泰山版信息技术六年级下册
- ICU常用管道的用途和管理课件
- Unit 4 Plants around us Review(教学设计)-2024-2025学年人教PEP版(2024)英语三年级上册
- 7操场上(教学设计)2024-2025学年统编版语文一年级下册
- 2023七年级数学下册 第七章 平面直角坐标系7.2 坐标方法的简单应用7.2.2 用坐标表示平移教学设计 (新版)新人教版
- 科研项目质量管理
- 2013-2014学年八年级《历史与社会》上册第四单元综合探究四《从清明上河图看北宋都市生活》教学设计(2013版)(东湖中学)
- 财务安全主题班会
- 中西面点工艺基础知识单选题100道及答案解析
- 《让子弹飞》电影赏析
- 2024年四川省绵阳市中考英语试题卷(标准含答案)
- 2024年重庆高考化学试题卷(含答案解析)
- 西方文论概览(第二版)-第五章课件
- 数列的概念(第一课时)教案高二数学(人教A版2019选择性必修第二册)
- 铲车司机雇佣合同范本
- 【高中生物】100道高考生物必刷题
- 2024年广东省初中学业水平考试中考道法试卷(真题+答案解析)
- 江苏省南京市鼓楼区2023-2024学年五年级下学期期末检测语文试卷
- 垃圾清运服务投标方案技术标
评论
0/150
提交评论