版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-1-第1章绪论1.1研究目的和意义随着时代的进步,大学生人数的增多,伴随而来的问题就是学生信息过于繁杂,而处理过程一旦发生问题,就会被某些人找到bug,会对所有学生的人生安全造成一定的威胁,因此,学校作为教书育人的场所,对学生的信息管理系统有着很大的需求,学生请假系统不仅可以方便老师对于学生请假的查阅批准等工作,更是解决了以往请假必须两者之间见面接触的问题——学生假期在家期间因特殊事由无法正常回校需要请假,这种情况如果以原来的方式处理将形成矛盾,而现在通过Java语言所编写的学生请假管理系统,在很大程度上解决了这一问题,学生只需在网上向老师递交请假申请,老师就可以远程对学生的请假申请进行批复,不会再有原来的问题。目前我国高等教育产业正处于快速发展时期,迫切需要改变原来支离破碎、落后的高等教育管理模式,随着学校规模的扩大,班级、学生人数大幅增加,与学生相关的信息量成倍增加,学校的计算机化管理由于采用网络化管理模式及使用MIS系统对教学情况进行实时反馈,共享教学资源已成为不可避免的选择,因此MIS系统的应用是建设高水平现代大学的重要组成部分,而我国高校学生管理系统的工作方法落后,大多数人仍然停留在复杂的手动操作上,工作重复性大,工作量大,效率低,近年来随着大学生人数的显著增加,这种传统的、低效的手动和半手动方法的缺点越来越明显,新的管理模式降低了出错的可能性,提高了工作效率。为了管理学生,迫切需要开发MIS系统。1.2国内外研究现状近十多年的深入探索,我国研究高校学生请假管理系统取得了突飞猛进的发展,重点技术有了显著提升。2020年闫博在《混合模式下高校学生请假管理系统设计研究》中以C/S与B/S混合模式为主要出发点,并以Windows7为系统环境,结合互联网信息技术来探讨高校学生请假管理系统,通过分级审批、审核模式、自动流转等的模式,方便高校学生管理者操作及了解学生们的请假情况,学生们也可以对请假的审批制度一目了然,提升了高校学生请假的实效性与便捷性REF_Ref10030\w\h[1]。2016年夏婷婷在《基于Web的高校学生请假管理系统的设计与研究》中文针对高校大学生在线请假这一需求,设计了一套便于操作和维护的学生请假管理系统。系统基于ASP.NET平台,使用了SQL数据库等技术,能从Web开发的角度解决了学生请假和管理问题REF_Ref10265\w\h[2]。国外的学校管理系统起步比较早,目前他们的产品比较成熟,他们的模式比较丰富,总体上说我们还处于开始阶段,他们已经把功能做的丰富,可以运用互联网,也运用了新的开发软件。2022年CowanJackie,HoganAnna,EnrightEimear.Thecommercialisationofschooladministration:oneschool’senactmentofastudentmanagementsysteminAotearoaNewZealand在《Thecommercialisationofschooladministration:oneschool’senactmentofastudentmanagementsysteminAotearoaNewZealand》中提出了一种商业化学校管理,基于Java技术,使用MySQL数据完成了学生管理系统的设计,该设计的完成对学校的学生管理提供一个良好的平台,提高了学生管理工作的效率。2019年SSrikajan;UVithusha;SKamsavathana;RHarthiyayini;JSusana;AJerin;KThiruthanigesan在《ATHEORETICALAPPROACHOFBIOMETRICSBASEDSTUDENTMANAGEMENT》中提到基于生物识别学的学生管理系统的理论方法是一种高效有效的学生记录维护管理系统。该设计是使用C++,.Net和MySQL数据库的可用技术开发的,有效的记录了学生的信息,加强了学生个人信息的管理,同时使得学生的请假的记录等也又了良好的存储平台。1.3研究内容在需求分析的基础上对高校学生请假管理系统的设计与实现进行设计和实现,包括系统界面设计,数据结构和数据流程的设计,系统实现以及系统测试,重点介绍系统功能模块的详细设计思路和实现方法,对系统关键技术和部分源代码进行详细解释与说明。本系统应完成的主要功能有:销假管理,审批管理,个人考勤管理,请假管理,学期统计管理,通知公告管理等内容。1.4论文组织架构第1章:绪论。介绍了研究目的和意义、国内外研究现状、研究内容和论文组织架构。第2章:详细介绍了Java、MySQL、IDEA、Spring框架的技术和理论。第3章:系统分析。详细介绍了系统开发的可行性从技术、经济操作、法律方面介绍,也介绍了系统开发需求,从功能需求、非功能需求介绍。第4章:系统设计。详细介绍开发系统的设计包括功能模块、数据库设计。第5章:系统实现。介绍系统的各部分功能模块及核心代码。第6章:系统测试。介绍测试步骤和测试用例,包括登录测试、学生考勤测试等。结论。总结整个系统开发过程的心得以及需要继续学习的地方。第2章相关理论和技术2.1Java介绍Java起初只是一种面向对象的语言,目前Java已成为一种多范例语言,更是世界上使用最多的语言。Java不仅拥有广泛的适用性,同时拥有极高的安全性,最大程度的降低了各种病毒的入侵以及一些不好的企图。虽然Java拥有如此多的优点,但他依然并不复杂,与其它语言相比,它甚至更为简单,不仅保留了C++的好处同时让语法变得更为简单易懂,这也是它的一大优点。2.2MySQL介绍MySQL是一种关系型数据库,它本身能够支持各种不同的操作系统,具有体积小、速度快、简便易用的特点,其中最大的一个特色,就是可以自主选择存储引擎。其主要作用是对数据进行处理,当用户登录成功后,用户可以在数据库中根据自己的需求完成相对应的操作。2.3IDEA介绍IDEA的全称是IntelliJIDEA,是现在比较流行的开发软件之一。编写代码时它可以为用户提供一个简单、快速的提示。它的提示功能让人们在使用时能更快完成开发,与此同时可以更好的对项目进行管理具有更高的工作效率,IDEA本身具有的定位功能,当在操作时不知道某个特定的数据包在什么地方时,帮助操作中人们快速的找到。IDEA在性能上相比于其他开发工具具有很大的提升,例如,在项目模块比较多的情况下,每一次进行Build、打包或者Clean的时候相应的速度会好很多。2.4Spring框架框架提供了各种例如SpringMVC、SpringSecurity等模块负责Web应用程序安全、快速开发。此外,Spring框架还与其他流行的如Hibernate、MyBaties等集成Java框架,从而为Java开发人员提供更灵活、更广泛的开发选择。框架提供了各种例如SpringMVC、SpringSecurity等模块负责Web应用程序安全、快速开发。此外,Spring框架还与其他流行的如Hibernate、MyBaties等集成Java框架,从而为Java开发人员提供更灵活、更广泛的开发选择。框架提供了各种例如SpringMVC、SpringSecurity等模块负责Web应用程序安全、快速开发。此外,Spring框架还与其他流行的如Hibernate、MyBaties等集成Java框架,从而为Java开发人员提供更灵活、更广泛的开发选择。第3章系统分析3.1可行性分析3.1.1技术可行性此系统的开发所使用的工具是Java,MySQL以及Idea开发工具,大学期间,关于这些技术学校都开设过相对应的课程,并且在上课时都有认真听老师的讲解,所以对于这些技术都有一定的理解,在开发过程遇到问题,身边的同学、老师也会给予一定的帮助,因此,在技术上不会有太大的问题。硬件方面,这些相对应的软件也可以在自己的笔记本上进行下载,也不会有问题。3.1.2经济可行性经济上,此系统所需的软件在网络上都可以免费下载,没有经济支出;至于硬件方面,在上大学时家里已经配备了一台笔记本电脑,也可以去学校的实验室进行开发,不会有任何的经济支出;人员方面,自己根据所学知识进行开发的,遇到所不会的内容会通过上网搜索和向老师询问解决,也没有花钱去购买资料;总的来说,此系统的开发在经济上是完全可行的。3.1.3操作可行性系统在开发出来后会先通过大量人员测试再使用,为避免最终成品出现过多问题无法使用的情况,很多功能已经提前先通过模拟出的图形界面给同学观看,确保系统简洁性。所以此系统的开发在操作上是可行的。3.1.4法律可行性以法律的角度来看,有四大特性:1、此系统所用的开发工具均不涉及版权问题;2、此系统开发的目的在于方便管理学生信息,不存在违法行为;3、开发过程是为劳动所得;4、所有参考的文献和技术知识都是从网络公开免费转载出获取的。3.2需求分析随着时代的进步,科技的发展,以往通过人工来管理学生的方式已经无法适应如今的学校,学生数量的增多也更加需要高效快捷的信息系统来管理学生,因此,学生信息管理系统的开发完善迫在眉睫,它也一定是现代化学校所不可缺少的一项。3.2.1功能需求分析在基于Java的高校学生请假管理系统当中,用户需要先进行注册自己的账号,注册完成就可以自动进入系统,在首页,包含个人基本信息,请假信息和销假信息等模块。管理员能够在后台对请假申请管理、通知公告管理、销假申请管理等。管理员:1.请假申请管理:可以查询到每个请假学生的请假信息;2.销假申请管理:可以查询到每个销假学生的销假信息;3.学生考勤管理:可以查询到学生的旷课详细情况。图3.1管理员用例图学生:1.注册登录:学生从首页进行注册和登录;2.请假申请:学生提交请假申请;3.销假申请:学生回到学校后进行销假申请;4.通知公告管理:查看最新公告。图3.2学生用例图教师:1.审批请假申请:审批学生提交的请假申请;2.审批销假申请:审批学生提交的销假申请;3.学生考勤管理:添加学生考勤。图3.3教师用例图3.2.2非功能需求分析高校请假系统平台在开发过程中,不仅需要关注用户本身,还要保障其性能。对高校请假系统平台非功能性需求,从以下几个方面进行分析,主要包括安全性、可靠性、稳定性,下面对这三个方面阐述:(1)安全性:每个用户都是独立的个体,进行独立的权限管理,用户不能对其他用户进行权限操作,进入系统访问,都需要把自己的信息填写正确才能进入。目的是保护用户的安全。为保护数据安全,不单单只有数据备份处理,还有定期的系统维护。(2)可靠性:每个用户的身份都是唯一的,进入系统访问,都需要把自己的信息填写正确才能进入。具有一定的可靠性,并且用户在设置自己的资料的时候,要完整,要牢记。(3)稳定性:系统的稳定主要包括数据稳定,不稳定的系统不能实现预定的任务,技术的突破和系统的稳定要齐头并进,任何一个落后都会造成任务无法进行。3.3系统流程分析3.3.1登录功能登录系统:输入正确的账号和密码,选择正确用户类型后,可实现系统登录功能,否则登录失败。登录流程图如图3.4所示:图3.4登录流程图3.3.2学生请假功能用户登录系统后,选择学生端,进行请假申请,审核通过后,可以实现快速请假。请假流程图如图3.5所示:图3.5请假流程图系统设计4.1功能模块设计根据对系统的功能进行分析,功能模块包括下面的几个主要的功能模块:用户登陆管理、基本信息管理、请假管理、销假管理、审批管理、个人考勤管理、学期统计管理、通知公告管理。系统的功能模块如图4.1所示:图4.1系统功能模块图4.2数据库设计4.2.1数据库概念结构设计数据库概念设计是分析系统中各实体之间的关系。学生实体包括性别、学号、姓名、联系电话、班级、年级、专业等属性。考勤实体包括课程名称、登记时间、学年、学期、上课地点、实到次数、应到次数、缺勤次数等属性。教师实体包括性别、姓名、工号、联系电话、职称等属性。请假申请实体包括请假时间、申请时间、申请理由、审核回复、是否审核等属性。1.系统E-R图图4.2系统E-R图4.2.2数据库逻辑结构设计学生的信息都存储在数据库中,同时每个表都独立建立,这样使服务器在处理信息时不会有很大的压力,其中包括学生信息表、学生请假表等,表与表之间既可以是一对多的关系,也可以是多对多的关系,系统中的信息都储存在相对应的表中,用户和管理员都可以通过自己所独有的查询方式查询到需要的信息。(1)用户表users此表登记用户注册时的信息。结构如表4.1所示。表4.1用户表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar20用户名rolevarchar10角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMPpasswordvarchar30密码(2)通知公告tongzhigonggao此表登记通知公告的具体信息。结构如表4.2所示。表4.2通知公告字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPgonggaobiaotivarchar200公告标题faburenvarchar20发布人fabushijiandatetime发布时间gonggaoneironglongtext4294967295公告内容clicktimedatetime最近点击时间(3)token表token此表用来登记用户相关信息。结构如表4.3所示。表4.3token表字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar20用户名tablenamevarchar50表名rolevarchar10角色tokenvarchar30密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMP(4)收藏表storeup此表用来登记用户的收藏信息。结构如表4.4所示。表4.4收藏表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint用户idrefidbigint商品idtablenamevarchar20表名namevarchar30名称picturelongtext4294967295图片typevarchar50类型1inteltypevarchar20推荐类型remarkvarchar200备注(5)请假申请qingjiashenqing此表用来登记请假申请的信息。结构如表4.5所示。表4.5请假申请字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPxueqivarchar10学期xuenianvarchar20学年xueshengxuehaovarchar30学生学号xueshengxingmingvarchar10学生姓名qingjiashijiandate请假时间qingjiatianshuvarchar200请假天数jiaoshigonghaovarchar30教师工号jiaoshixingmingvarchar10教师姓名shenqingshijiandatetime申请时间liyoulongtext4294967295理由sfshvarchar10是否审核否shhflongtext4294967295审核回复(6)配置文件config此表用来登记系统配置文件的信息。结构如表4.6所示。表4.6配置文件字段名称类型长度字段说明主键默认值idbigint主键主键namevarchar10配置参数名称valuevarchar10配置参数值(7)学生考勤xueshengkaoqin此表用来登记学生个人的考勤信息。结构如表4.7所示。表4.7学生考勤字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPkechengmingchengvarchar20课程名称xuenianvarchar10学年xueqivarchar20学期xueshengxuehaovarchar30学生学号xueshengxingmingvarchar10学生姓名shangkedidianvarchar20上课地点yingdaocishuint应到次数shidaocishuint实到次数queqincishuint缺勤次数jiaoshigonghaovarchar30教师工号jiaoshixingmingvarchar10教师姓名dengjishijiandatetime登记时间pingdingvarchar200评定(8)销假申请xiaojiashenqing“销假申请xiaojiashenqing”是用来记录人员登记的信息。销假申请的结构如表4.8所示。表4.8销假申请字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPxueqivarchar20学期续表4.8销假申请字段名称类型长度字段说明主键默认值xuenianvarchar10学年xueshengxuehaovarchar30学生学号xueshengxingmingvarchar10学生姓名qingjiashijianvarchar200请假时间qingjiatianshuvarchar200请假天数jiaoshigonghaovarchar30教师工号jiaoshixingmingvarchar10教师姓名xiaojialiyoulongtext4294967295销假理由sfshvarchar10是否审核否shhflongtext4294967295审核回复(9)年级nianji此表用来登记年级信息。如表4.9所示。表4.9年级字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPnianjivarchar10年级(10)教师jiaoshi此表用来登记教师个人的信息。结构如表4.10所示。表4.10教师字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMP续表4.10教师字段名称类型长度字段说明主键默认值jiaoshigonghaovarchar30教师工号mimavarchar30密码jiaoshixingmingvarchar20教师姓名xingbievarchar10性别zhichengvarchar20职称lianxidianhuavarchar20联系电话(11)专业zhuanye此表用来登记专业的信息。结构如表4.11所示。表4.11专业字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPzhuanyevarchar20专业(12)班级banji此表用来登记班级的信息。结构如表4.12所示。表4.12班级字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPbanjivarchar20班级(13)学生xuesheng此表用来登记学生的个人信息。学生的结构如表4.13所示。表4.13学生字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPxueshengxuehaovarchar30学生学号xueshengxingmingvarchar10学生姓名mimavarchar30密码xingbievarchar10性别lianxidianhuavarchar30联系电话zhuanyevarchar20专业nianjivarchar20年级banjivarchar20班级第5章系统实现5.1用户模块5.1.1注册登录若用户为首次进入系统,需要先点击注册,填写个人基本信息,学生注册界面如图5.1所示;完成注册后自动返回界面,并输入自己刚刚设置的信息,进行验证,验证成功进入系统。角色登陆界面如图5.2所示;学生输入自己的账号密码选择学生身份进行登录,如图5.3所示;教师输入自己的账号密码选择教师身份进行登录,如图5.4所示:图5.1学生注册界面实现该功能的关键代码如下。//注册login(){varurl=this.tableName+"/register";if((this.ruleForm.mima!=this.ruleForm.mima2)&&`xuesheng`==this.tableName){this.$message.error(`两次密码输入不一致`);return}if(`xuesheng`==this.tableName&&this.ruleForm.lianxidianhua&&(!this.$validate.isMobile(this.ruleForm.lianxidianhua))){this.$message.error(`联系电话应输入手机格式`);return}if(`jiaoshi`==this.tableName&&this.ruleForm.lianxidianhua&&(!this.$validate.isMobile(this.ruleForm.lianxidianhua))){this.$message.error(`联系电话应输入手机格式`);return}图5.2角色登录界面实现该功能的关键代码如下。PublicTlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username));if(user==null||!user.getPassword().equals(password)){returnT.error("请输入正确的账号和密码");}Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole());returnR.ok().put("token",token);}图5.3学生登录界面图5.4教师登录界面实现该功能的关键代码如下。publicRregister(@RequestBodyUsersEntityuser){//ValidatorUtils.validateEntity(user);if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){returnR.error("用户已存在");}userService.insert(user);returnR.ok();}5.1.2请假申请学生进行请假申请需要填写学期、学年、学号、姓名、请假时间、请假天数、教师工号、教师姓名、申请时间和请假理由。如图5.5所示:图5.5学生请假申请界面实现该功能的关键代码如下。<divv-else><el-form-itemclass="input"v-if="ruleForm.qingjiashijian"label="请假时间"prop="qingjiashijian"><el-inputv-model="ruleForm.qingjiashijian"placeholder="请假时间"readonly></el-input></el-form-item></div></el-col><el-col:span="12"><el-form-itemclass="input"v-if="type!='info'"label="请假天数"prop="qingjiatianshu"><el-inputv-model="ruleForm.qingjiatianshu"placeholder="请假天数"clearable:readonly="ro.qingjiatianshu"></el-input></el-form-item><divv-else><el-form-itemclass="input"label="请假天数"prop="qingjiatianshu"><el-inputv-model="ruleForm.qingjiatianshu"placeholder="请假天数"readonly></el-input></el-form-item>5.1.3销假申请学生到校需要进行销假申请,需要填写销假理由等信息。如图5.6所示:图5.6学生销假申请界面实现该功能的关键代码如下。<el-row><el-col:span="24"><el-form-itemclass="textarea"v-if="type!='info'"label="销假理由"prop="xiaojialiyou"><el-inputstyle="min-width:200px;max-width:600px;"type="textarea":rows="8"placeholder="销假理由"v-model="ruleForm.xiaojialiyou"></el-input></el-form-item><divv-else><el-form-itemv-if="ruleForm.xiaojialiyou"label="销假理由"prop="xiaojialiyou"><span>{{ruleForm.xiaojialiyou}}</span></el-form-item></div></el-col></el-row>5.1.4审批申请当学生提交请假和销假申请后,教师需要进行审批是否同意。请假审批界面如图5.7所示,销假审批界面如图5.8所示:图5.7请假审批界面图5.8销假审批界面实现该功能的关键代码如下。//审核shHandler(){this.$confirm(`确定操作?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.$http({url:"qingjiashenqing/update",method:"post",data:this.shForm}).then(({data})=>{if(data&&data.code===0){this.$message({message:"操作成功",type:"success",duration:1500,onClose:()=>{this.getDataList();this.shDialog()}});}else{this.$message.error(data.msg);}});});5.1.5添加考勤教师需要在学生请假后添加考勤,教师需要填写课程名称、学年、学期、学生学号、姓名、上课地点、签到次数、缺勤次数、教师工号、教师姓名和时间,添加学生考勤界面如图5.9所示:图5.9添加学生考勤界面实现该功能的关键代码如下。@RequestMapping("/add")publicRadd(@RequestBodyXueshengkaoqinEntityxueshengkaoqin,HttpServletRequestrequest){xueshengkaoqin.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xueshengkaoqin);xueshengkaoqinService.insert(xueshengkaoqin);returnR.ok();}5.1.6查看学期统计教师可以查看学期内总的请假人数,查看学期统计界面如图5.10所示:图5.10查看学期统计界面实现该功能的关键代码如下。@IgnoreAuth@RequestMapping("/group/{tableName}/{columnName}")publicRgroup(@PathVariable("tableName")StringtableName,@PathVariable("columnName")StringcolumnName){Map<String,Object>params=newHashMap<String,Object>();params.put("table",tableName);params.put("column",columnName);List<Map<String,Object>>result=commonService.selectGroup(params);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");for(Map<String,Object>m:result){for(Stringk:m.keySet()){if(m.get(k)instanceofDate){m.put(k,sdf.format((Date)m.get(k)));}}}returnR.ok().put("data",result);}5.1.7查看通知公告学生和老师都可以查看通知公告,可以查看最新发布的放假信息,也可以查询以前发布的信息,查看通知公告界面如图5.11所示:图5.11查看通知公告界面实现该功能的关键代码如下。@RequestMapping("/query")publicRquery(TongzhigonggaoEntitytongzhigonggao){EntityWrapper<TongzhigonggaoEntity>ew=newEntityWrapper<TongzhigonggaoEntity>();ew.allEq(MPUtil.allEQMapPre(tongzhigonggao,"tongzhigonggao"));TongzhigonggaoViewtongzhigonggaoView=tongzhigonggaoService.selectView(ew);returnR.ok("查询通知公告成功").put("data",tongzhigonggaoView);}5.2管理员模块5.2.1班级管理管理员登录成功进入系统后,进入班级管理界面,在此界面可以查看所有已创建班级的信息,管理员可以新增班级信息。班级管理界面如图5.12所示,新增班级界面如图5.13所示:图5.12班级管理界面图5.13新增班级界面实现该功能的关键代码如下。publicRadd(@RequestBodyBanjiEntitybanji,HttpServletRequestrequest){banji.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(banji);banjiService.insert(banji);returnR.ok();}5.2.2年级管理以管理员身份登录到系统中,进入年级管理界面,在此界面可以查看所有年级分类的信息,点击新增即可实现新增年级信息的功能,年级管理界面如图5.14所示,新增年级界面如图5.15所示:图5.14年级管理界面图5.15新增年级界面实现该功能的关键代码如下。@RequestMapping("/add")publicRadd(@RequestBodyNianjiEntitynianji,HttpServletRequestrequest){nianji.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(nianji);nianjiService.insert(nianji);returnR.ok();}5.2.3专业管理管理员进入后台系统后,进入专业管理界面,页面中时目前分号专业名称的所有专业展示,也可以在界面最上面一栏,输入专业名称查找专业,也可对此信息进行修改,专业管理界面如图5.16所示,查找专业界面如图5.17;图5.16专业管理界面图5.17查找专业界面实现该功能的关键代码如下。publicRquery(ZhuanyeEntityzhuanye){EntityWrapper<ZhuanyeEntity>ew=newEntityWrapper<ZhuanyeEntity>();ew.allEq(MPUtil.allEQMapPre(zhuanye,"zhuanye"));ZhuanyeViewzhuanyeView=
zhuanyeService.selectView(ew);returnR.ok("查询专业成功").put("data",zhuanyeView);}5.2.4学生管理以管理员身份登录到系统中,点击进入到学生管理界面后,上方的查询栏可以根据学生学号、专业、年级、班级对学生进行具体查找,此模块存储了所有已经注册的学生信息,该界面也可以修改学生的信息,学生管理界面如图5.18所示,添加学生信息界面如图5.19所示:图5.18学生管理界面图5.19学生添加界面实现该功能的关键代码如下。*/@RequestMapping("/add")publicRadd(@RequestBodyXueshengEntityxuesheng,HttpServletRequestrequest){xuesheng.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(xuesheng);XueshengEntityu=xueshengService.selectOne(newEntityWrapper<XueshengEntity>().eq("xueshengxuehao",xuesheng.getXueshengxuehao()));if(u!=null){returnR.error("用户已存在");}xuesheng.setId(newDate().getTime());xueshengService.insert(xuesheng);returnR.ok();}5.2.5教师管理管理员可以在教师管理界面看到以往老师的各种信息,如姓名、手机号码等,也可以对此进行修改,教师管理界面如图5.20所示:图5.20教师管理界面实现该功能的关键代码如下。publicinterfaceJiaoshiDaoextendsBaseMapper<JiaoshiEntity>{List<JiaoshiVO>selectListVO(@Param("ew")Wrapper<JiaoshiEntity>wrapper);JiaoshiVOselectVO(@Param("ew")Wrapper<JiaoshiEntity>wrapper); List<JiaoshiView>selectListView(@Param("ew")Wrapper<JiaoshiEntity>wrapper);List<JiaoshiView>selectListView(Paginationpage,@Param("ew")Wrapper<JiaoshiEntity>wrapper); JiaoshiViewselectView(@Param("ew")Wrapper<JiaoshiEntity>wrapper);}管理员可以在教师管理新界面添加的教师信息,在录入信息后进行提交就可以看到新添加的信息,添加教师界面如图5.21所示:图5.21教师添加界面实现该功能的关键代码如下。@RequestMapping("/add")publicRadd(@RequestBodyJiaoshiEntityjiaoshi,HttpServletRequestrequest){jiaoshi.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jiaoshi);JiaoshiEntityu=jiaoshiService.selectOne(newEntityWrapper<JiaoshiEntity>().eq("jiaoshigonghao",jiaoshi.getJiaoshigonghao()));if(u!=null){returnR.error("教师已存在");}jiaoshi.setId(newDate().getTime());jiaoshiService.insert(jiaoshi);returnR.ok();}5.2.6请假管理管理员可以在请假申请管理界面看到所有学生申请的信息,并对学生的申请信息进行批复,同时可以删除学生的申请信息,请假申请管理界面如图5.22所示,删除请假申请界面如图5.23所示:图5.22请假申请管理界面图5.23删除请假申请界面实现该功能的关键代码如下。@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){qingjiashenqingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.2.7通知公告管理管理员可以在通知公告管理界面查看所有的公告信息,信息太多不能快速找到时,可以通过关键字搜索,找到公告后也可以对其进行修改等操作。通知公告管理界面如图5.24所示:图5.24通知公告管理界面实现该功能的关键代码如下。EntityWrapper<TongzhigonggaoEntity>ew=newEntityWrapper<TongzhigonggaoEntity>();Map<String,Object>newMap=newHashMap<String,Object>();Map<String,Object>param=newHashMap<String,Object>();Iterator<Map.Entry<String,Object>>it=param.entrySet().iterator();while(it.hasNext()){Map.Entry<String,Object>entry=it.next();Stringkey=entry.getKey();StringnewKey=entry.getKey();if(pre.endsWith(".")){newMap.put(pre+newKey,entry.getValue());}elseif(StringUtils.isEmpty(pre)){newMap.put(newKey,entry.getValue());}else{newMap.put(pre+"."+newKey,entry.getValue());}}params.put("sort","clicktime");params.put("order","desc");PageUtilspage=tongzhigonggaoService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,tongzhigonggao),params),params));returnR.ok().put("data",page);}管理员可以在通知公告管理界面添加新的公告信息。此界面如图5.25所示:图5.25添加公告界面实现该功能的关键代码如下。publicRsave(@RequestBodyTongzhigonggaoEntitytongzhigonggao,HttpServletRequestrequest){tongzhigonggao.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(tongzhigonggao);tongzhigonggaoService.insert(tongzhigonggao);returnR.ok();}图5.26删除公告界面实现该功能的关键代码如下。publicRdelete(@RequestBodyLong[]ids){tongzhigonggaoService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}图5.27修改公告界面实现该功能的关键代码如下。publicRupdate(@RequestBodyTongzhigonggaoEntitytongzhigonggao,HttpServletRequestrequest){//ValidatorUtils.validateEntity(tongzhigonggao);tongzhigonggaoService.updateById(tongzhigonggao);//全部更新returnR.ok();}图5.28查找公告界面实现该功能的关键代码如下。publicRquery(TongzhigonggaoEntitytongzhigonggao){EntityWrapper<TongzhigonggaoEntity>ew=newEntityWrapper<TongzhigonggaoEntity>();ew.allEq(MPUtil.allEQMapPre(tongzhigonggao,"tongzhigonggao"));TongzhigonggaoViewtongzhigonggaoView=tongzhigonggaoService.selectView(ew);returnR.ok("查询通知公告成功").put("data",tongzhigonggaoView);}5.2.8销假管理以管理员身份登录到后台系统中,进入到销假申请管理界面,可以看到学生进行销假申请的请求信息,点击右侧的审核状态,可以实现对学生的请假申请进行通过或者不通过的审批,同时可以操作学生的销假申请,进行查改删。销假申请管理界面如图5.29所示,删除销假申请界面如图5.30所示:图5.29销假申请管理界面图5.30删除销假申请界面实现该功能的关键代码如下。List<Map<String,Object>>result=xiaojiashenqingService.selectGroup(params,ew);SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");for(Map<String,Object>m:result){for(Stringk:m.keySet()){if(m.get(k)instanceofDate){m.put(k,sdf.format((Date)m.get(k)));}}}returnR.ok().put("data",result);}5.2.9学生考勤管理以管理员身份登录到后台系统中,进入到学生考勤管理界面,可以看到学生某一堂课的具体考勤情况,上方的搜索栏管理员可以根据课程名称、学年、学期、学生学号、评定对某一个学生的考勤进行具体搜索,可以对学生考勤进行删改查。学生考勤管理界面如图5.31所示,搜索学生考勤界面如图5.32所示:图5.31学生考勤管理界面图5.32查询学生考勤界面实现该功能的关键代码如下。publicRlist(XueshengkaoqinEntityxueshengkaoqin){EntityWrapper<XueshengkaoqinEntity>ew=newEntityWrapper<XueshengkaoqinEntity>();ew.allEq(MPUtil.allEQMapPre(xueshengkaoqin,"xueshengkaoqin"));returnR.ok().put("data",xueshengkaoqinService.selectListView(ew));}第6章系统测试在系统做好之后验证是检验系统是否成功的唯一办法,不但可以测试系统是否能正常运行,而且还能看出存在的问题,改掉这些问题,这样才能得到一个优秀的、高质量的系统。此次测试所采用的测试方法为黑盒测试,黑盒测试是目前最常用的测试系统整体功能的方法,测试人员首先从使用者角度来看待黑盒,对于起初的功能测试用例更为相符,并且可以找到所开发系统中的漏洞。黑盒测试主要采用位移分析和阈值分析。一般边界的错误概率要比内部的高很多,因此阈值分析更能准确判断出系统的稳定性、可靠性,从而确定输入和输出范围,之后选择操作系统阈值来测试系统。6.1测试步骤在进行测试的过程中,需要分阶段执行,每个阶段的任务不同,进行的测试也不同。每个阶段是紧密相连的,也是上一环节的拓展。系统测试步骤如下:(1)首先对程序代码进行识别,查看是否有错误。(2)其次对程序进行测试,查看项目的运行情况,看查看系统是否能正常进行。(3)检测系统呈现的功能是否满足用户,确保准确性。6.2测试用例6.2.1登录测试用例系统的功能测试是将最终完成系统所得到的结果与预期的结果进行对比,如果两者之间的差距过大那么此测试就无法通过,需要将系统进行重新修改,如果两者之间差距不大,那么测试就算通过,可以将系统拿出进行使用,如表6.1所示。表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的密码登录失败登录失败6.2.2学生考勤管理测试用例管理端在运行时要满足浏览器的运行需求,比如添加学生考勤信息测试、修改学生考勤信息测试、删除学生考勤信息测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.2所示。表6.2学生考勤管理测试用例表测试编号测试目的操作步骤预期结果实际结果001添加学生考勤信息测试在添加页面输入学生考勤信息,点击确认按钮添加成功添加成功002修改学生考勤信息测试在修改页面修改学生考勤信息,点击确认按钮修改成功修改成功003删除学生考勤信息测试在管理学生考勤信息页面,点击某一用户的删除按钮删除成功删除成功004查询学生考勤信息测试在管理学生考勤信息页面查询输入框输入要查询的用户名字,点击查询按钮查询成功查询成功6.2.3请假申请管理测试用例在用户端界面的请假申请管理界面,用户前端填写自己的申请原由进行申请,完成后上传申请,申请成功系统会显示成功提示,等待老师批复即可,如图6.1所示,前端添加成功后,查询后台教师的请假申请管理,老师们就可以看到学生的申请信息,老师们在批复时就可以根据学生所填写的申请原由,对其进行审核,选择同意或驳回申请。如图6.2所示。图6.1学生提交请假申请界面图6.2教师审核请假界面6.2.4销假申请测试用例在学生端进入系统界面,进入到销假申请的界面,如果需要进行销假的申请,可以在请假的内容后面点击销假,输入销假内容并提交,等待老师们的批复,如图6.3所示,和请假申请时相同,学生提交后老师们就可以看到学生的销假请求,老师们就可以做出相对应的批复,如图6.4所示。图6.3销假申请界面图6.4教师审核界面6.2.5学生考勤测试用例老师们登录系统后查看学生考勤界面,在其中记录学生的考勤情况然后进行提交如图6.5所示,在老师们提交信息之后,学生根据回复自行处理,如图6.6所示。图6.5学生考勤管理界面图6.6学生考勤查看界面6.2.6请假通过测试用例老师们可以在请假申请管理界面查看已申请学生的请假原由,根据学生的自身请款进行选择性通过,如图6.7所示,学生可以时常查看自己的界面,在老师们审核完后,学生的界面上很快就会出现老师的审核结果,学生就可以根据审核结果做出下一步的安排,如图6.8所示。图6.7请假申请界面图6.8请假通过界面6.2.7销假通过测试用例在管理员后台界面,管理员可以在销假申请管理模块添加对学生的销假求情进行审核,选择通过或者不通过进行确认,然后提示操作成功,如图6.9所示,管理员审核销假通过后,用户可以在自己销假模块看到销假已经通过的显示和教师的回复,如图6.10所示。图6.9销假审核管理界面图6.10销假通过界面6.3测试结论经过部分测试,该系统的各项功能均表现出良好的数据显示能力,包括登录、通知公告增删改查、查看考勤等操作。该系统展现出了出色的用户操作能力,无论是在功能还是使用方面,都达到了预期的效果。结论当今时代是信息化时代,科学不断进步,人们的生活越来越便捷。高校请假管理系统可以更好的让学生们享受更加便捷快速的请假方式。进入二十一世纪以来,信息化伴随着互联网的发展,各种便捷的系统不断涌现,将来也会变得更加活跃。基于Java的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 硅树脂生产工岗前品质考核试卷含答案
- 驳筑、集拆坨盐工岗前设备考核试卷含答案
- 家用音频产品维修工诚信道德强化考核试卷含答案
- 煮呢机挡车工班组建设模拟考核试卷含答案
- 铁路车辆电工操作规范评优考核试卷含答案
- 线绕电阻器、电位器制造工成果考核试卷含答案
- 半导体辅料制备工岗前技术应用考核试卷含答案
- 露天采煤机司机安全操作测试考核试卷含答案
- 道路客运调度员测试验证水平考核试卷含答案
- 灯具零部件制造工风险评估与管理模拟考核试卷含答案
- 2024年郑州高新投资控股集团有限公司招聘笔试冲刺题(带答案解析)
- 2023年《物理因子治疗技术》考试题库附答案
- 正摇双脚并脚跳绳教学设计
- 大学语文燕昭王求士课件
- 二手电动车买卖合同协议书
- 现代纺纱技术课件ppt 第二章1-2新型纺织纤维及其加工技术
- 移动网网络管理系统功能技术规范
- 校长工作日志
- GB/T 16958-2008包装用双向拉伸聚酯薄膜
- GB/T 14995-2010高温合金热轧板
- 新苏教版小学科学三年级下册期中测试卷(定稿)
评论
0/150
提交评论