




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页)学生在线考试系统--在线考试与分数查询功能设计与实现摘要:传统的纸张考试一直备受争议,在环境保护方面与公平公正,高效性上面都难以取得好结果。近年来,随着会联网技术的飞速发展,为人们的生活工作带来了很大的便利。人们开始寻求如何用互联网来代替传统的纸质考试,并避免传统考试的缺点。在线考试系统便在这样的大环境下应运而生。关键词:高效;web端;在线考试;B/S模式;Abstract:Traditionalpapertesthasbeencontroversial,inenvironmentalprotectionandfairness,efficiencyabovealldifficulttoobtaingoodresults.Inrecentyears,withtherapiddevelopmentofnetworkingtechnologywillbeforpeople'slifeandworkhasbroughtgreatconvenience.PeoplestartlookingathowtousetheInternetinsteadofthetraditionalpaper-basedexam,andavoidtheshortcomingsoftraditionalexams.Onlineexaminationsystemwillcomeintobeinginthisenvironment.
Thispaperexplorestheweb-basedsideoftheonlineexaminationsystem,includingdesign,developmentandtestingoftheproject,combinedwiththeactualneedsofthedesignproposed,completethecorrespondingfunctionmodule.Considerthesystemfromthreemainaspects:students,teachers,administrators.Paperframedesignanddatabasedesignmainlyontheprojects,focusesonthedesign,developmentandtestingstudentsystemfordesigningweb-basedsideoftheonlineexaminationsystemmprovidesanidea.Thesystemusesspring+Struts+hibernateframework,usingmysqldatabase,usingtomcatstart.Keywords:Efficient;webterminal;onlineexamination;B/Smode;随着互联网的普及,改变了我们很多的工作与学习方式,高速的发展需要我们提供更加便捷有效的工具去进行生产与工作。众所周知,考试一直是我们生活工作中不可或缺的部分,从小学到大学的提升,到工作中各种职称的评定,都少不了考试的参与。传统的考试以纸质考试为主,大量的纸张产生了大量的浪费,同时一场考试还需要大量的人力物力的投入,从前期的题目采集排版,到后期的印刷,改卷与评分,以及考试场所的安排,都需要耗费大量的资源。而且,考虑到个人因素,这样的考试还不能保证绝对的公正性。于是人们开始寻求更加高效的方式方法来适应高速发展的社会,既保证少量的投入大量产出的情况下,更能同时兼顾环保与公平两方面,在线考试系统就是在这样的环境下的产物。引言设计背景在线考试系统的软件开发正是是现在互联网教育开发的一个热点。我们可以看到,在我国以及世界上很多公司,企业,学校都已经在采用这样的方式来进行互联网教育,人才选拔,资格证书认证等,相对于我们比较熟悉的便是在线的四六级考试。一个完善的在线考试系统,不需要大量的人力物力投入,只需要简单的安装,前期的题目录入,接下来的所有工作我们都可以借助于计算机来完成,包括试卷的生成,考试的监控,试卷的评改以及成绩的统计与查询。大大减少了人力物力的投入与资源的浪费,同时,系统可以多次使用,可运用于多个行业,使得资源可以多方面被利用。使用者在使用在线考试系统也能节省时间,不用限制地域,时间,随时都能进行自我的评测。为顺应时代的发展,我们小组也进行了相应课题的研究与设计,希望可以让系统在各种环境中为更多的人提供便捷,让远程教育的发展达到更高的水平。设计意义考试的目的在于自我的测试与提供一个公正的平台,所以我们希望做到让考试更加便捷,高效,公平。传统考试要在考试之前要经过大量的准备时间,包括题库的整理,试卷的生成,试卷的印刷,考场的安排等,后期也要进行大量的试卷批改和成绩统计等工作,耗费大量的人力物力,考生得不到快速的考试结果回馈,无法及时掌握自己的学习情况。而且传统考试公正性有一定的人为控制,无法做到较好的公正性。而在线考试系统在很多方面都避免了传统考试以上所提到的弊端,它的优势主要体现在以下几个方面:(1)高效考试过后,在线考试系统会自动批改试卷,登记分数,并做各种的统计与分析。学生可以很快就得到自己的学习情况反馈。(2)便捷在线考试打破的地域与时间的限制,考生可以在任何的时间和任何的地点参与考试,让考试更加的便捷。(3)保密性强考试试卷在开始考试之前都是存在数据库中的题库,基本不存在泄露的问题,相较于传统考试提前打印试卷并经多人手操作而言,保密性更强。公平性高传统考试在阅卷环节由于批阅老师不同的原因,个人因素较重,导致考试的公平性受到较大的考验。而系统的统一阅卷却可以避免这个问题,统一的阅卷方式与答案,让考试的公平性更高。成本低,耗费资源少采用在线考试之后,前期和后期的考试准备工作就可以被省略很多,管理员只需要维护题库,系统会自动完成在线生成试卷,在线批改试卷,成绩分析等各种工作。而且一个考试系统可以运用在多处,多次考试,资源的重复利用率较高。1.3本章小结本章主要介绍了在线考试系统的研究背景和研究意义。为后期开发提供可行性分析。2系统需求分析2.1系统总体需求分析一个合理的系统需要满足所有使用者的需求,并考虑到用户没考虑到,但必须的需求点,同时要兼顾系统与用户之间的交互,让系统更加具有更广的适用性。通过对现在正在使用的各种考试系统的分析与对使用者的调研,获取了以下两个大方面的需求:功能需求与性能需求。2.1.1功能需求考试系统主要针对的三类用户:管理员、老师、学生。不用的角色对应着不同的功能需求(1)管理员角色管理员角色主要使用的功能包括:登陆密码管理,题目管理,教师档案管理,学生档案管理,试卷管理,题目管理和分数管理。管理员承担大部分的工作,主要关注于考试的整体维护与管控。(2)老师角色老师的角色主要是负责试卷的部分修改,即在系统自动改卷后,在需要进行人工阅卷的环节进行网上阅卷,同时可以查看学生的成绩分析。系统减轻了老师的负担,让老师从考试的准备中脱离出来。(3)学生角色学生角色主要运用到的功能便是在线考试功能与分数查询功能。主要要求系统能快速的反馈考试结果。2.1.2性能需求好的系统不光能完成基本的功能,同时要具有较好的性能,以下为几点性能需求在系统设计初期需要考虑:(1)实用性系统的最终目的是为了使用,所以实用性应该被放在首位,在线考试系统要满足一般考试的需求,能有各种题型的组合,例如:单选题,多选题,填空题,判断题,解答题等。(2)安全性考试的安全性,保密性要求较高。在线考试系统在设计的时候也要考虑系统的安全性,避免试题题目答案的泄露,以及学生与教师信息的泄露。(3)高效便捷性使用在线考试系统的最终目的是提高考试的效率,在线考试系统应该保证缩短考试的准备时间与后期的试卷批改成绩统计时间,节省更多的人力与物力。也要求能够打破时间地域的限制,使用者可以通过使用系统缩短考试花费的时间。(4)可维护性系统的后期维护占整个系统开发周期的大部分比例。系统要实现重复利用和广泛利用,就必须具有好的可维护性,为后期的系统的升级与多领域的使用提供便利2.2本章小结本章主要在上一章可行性分析后,对系统需求的调研分析,确定系统要实现什么功能。为项目的设计做准备。系统总体设计需求分析主要理清系统需要做什么,形成一个完善的逻辑模型。确定需求后就可以将逻辑模型转化为设计,变为怎么做的物理模型,即实现系统的功能需求。3.1系统概要设计系统的概要设计中最重要的就是系统的模块化。模块化指将一个复杂的问题从上向下逐层分解成若干的小模块。每个模块完成一个特定的功能,这些所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。模块化的好处是可以降低系统的复杂度,提高系统的可维护性。但模块划分的时候,应尽量保持每个模块的独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少,即尽量做到高内聚低耦合。通过上一章的需求分析,本系统主要包括三个子系统:管理员模块、老师模块、学生模块。系统结构如图3.1所示。图3.1 系统总结构图3.2数据库结构设计3.2.1数据库的需求分析根据上一章的需求分析,设计出以下对应的数据表及功能:管理员信息表:存放管理员的账号、密码和其他信息数据。老师信息表:存放老师的账号、密码和其他信息数据。学生信息表:存放学生的账号、密码和其他信息数据。题库信息表:存放系统所有试题的题目与答案信息数据。课程信息表:存放课程的相关信息数据。试卷信息表:存放生成试卷包含题目的信息数据。关联题库表。交卷信息表:存放学生提交的考试答案信息数据。分数信息表:存放学生各科的考试成绩数据。3.2.2数据库的逻辑设计根据数据库需求分析,确定了各个表字段及主键,建立了表与表之间的联系,对应的关系图如下:图3.2 数据库表E-R关系图数据库的物理设计(1)管理员信息表(t_admin):要记录的管理员的账号信息,包括用户名和密码,结构如表3.1所示。表3.1管理员信息表(t_admin)列名数据类型长度允许空是否主键说明 userIdint4否是编号userNamevarchar50否否用户名userPwvarchar50否否密码(2)老师信息表(t_tea):存放老师的账号、密码和其他信息数据,如表3.2所示。表3.2老师信息表列名数据类型长度允许空是否主键说明tea_idint20否是IDtea_bianhaovarchar50否否教师号tea_realnamevarchar50否否姓名tea_sexvarchar50否否性别tea_agevarchar50否否年龄login_namevarchar50否否登录账号login_pwvarchar50否否登录密码(3)学生信息表(t_stu):存放学生的账号、密码和其他信息数据,如表3.3所示表3.3学生信息表列名数据类型长度允许空是否主键说明stu_idint20否是IDstu_xuehaovarchar50否否学号stu_realnamevarchar50否否姓名stu_sexvarchar50否否性别stu_agevarchar50否否年龄login_namevarchar50否否登录账号login_pwvarchar50否否登录密码(4)题库信息表(t_timu):存放系统所有试题的题目与答案信息数据,如表3.4所示。表3.4题库信息表列名数据类型长度允许空是否主键说明timu_idint20否是IDtimu_namevarchar50否否题目名称timu_leixingvarchar50否否题目类型timu_xuanxiangavarchar50否否选项Atimu_xuanxiangbvarchar50否否选项Btimu_xuanxiangcvarchar50否否选项Ctimu_xuanxiangdvarchar50否否选项Dtimu_daanvarchar50否否题目答案timu_fenshuvarchar50否否题目分数kecheng_idvarchar50否否课程ID(5)课程信息表(t_kecheng):存放课程的相关信息数据,如表3.5所示。表3.5课程信息表列名数据类型长度允许空是否主键说明kecheng_idint20否是IDkecheng_namevarchar50否否课程名称(6)试卷信息表(t_shiti):存放生成试卷包含题目的信息数据,如表3.6所示。表3.5试卷信息表列名数据类型长度允许空是否主键说明shiti_idint20否是IDshiti_namevarchar50否否试题名称shiti_jieshaovarchar50否否试题介绍shiti_shijianvarchar50否否发布时间(7)交卷信息表(t_jiaojuan):记录试卷的相关信息,如表3.7所示。表3.7交卷信息表列名数据类型长度允许空是否主键说明jiaojuan_idint20否是IDstu_idint20否否学生IDshiti_idint20否否试题IDtimu_idint20否否题目IDtimu_daanvarchar50否否考试答案(8)分数信息表(t_jiaojuan):记录考试分数的相关信息,如表3.8所示。表3.8分数信息表列名数据类型长度允许空是否主键说明fenshu_idint20否是IDstu_idint20否否学生IDshiti_idint20否否试题IDfenshuint20否否分数3.3系统详细设计3.3.1详细设计的需求分析在线考试模块与成绩查看是考试系统不可或缺的部分。根据前期的需求分析与详细设计,只有学生账号具有考试的功能。学生账号登陆之后可以选择考试试卷,然后进行考试,试题由后台管理员进行配置,当学生选择试卷之后,会读取对应试卷的题目。学生答卷完毕之后就可以选择提交试卷。在成绩查看部分,学生可以查看自己进行的所有考试,同时查看对应考试的成绩。3.2.2详细设计的逻辑设计根据以上详细设计的需求分析,对应的类图和时序图如下:图3.5在线考试与分数查询类图图3.6在线考试与成绩查询时序图3.3本章小结本章主要是在在前面分析系统需求的基础上,画出了在线考试与成绩查看功能的类图和时序图,为接下来的开发做好准备。 4系统功能实现在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。4.1在线考试模块实现1.描述:学生在登陆之后要点击开始考试,会跳出考试试卷列表,需要选择自己要进行的考试,点击开始考试2.程序运行效果图如图4.1.1,4.1.2图4.1.1试卷选择图4.1.2在线考试3.点击开始考试菜单为查询考试列表,关键代码如下: Stringsql="fromTShitiwheredel='no'"; ListshitiList=shitiDAO.getHibernateTemplate().find(sql);<s:iteratorvalue="#request.shitiList"id="shiti"><tr align='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#shiti.shitiName"/> </td> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#shiti.shitiJieshao"/> </td> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#shiti.shitiShijian"/> </td> <tdbgcolor="#FFFFFF"align="center"> <astyle="color:red"href="#"onclick="kaishikaoshi(<s:propertyvalue="#shiti.shitiId"/>)"class="pn-loperator">开始考试</a> </td> </tr> </s:iterator>查询出所有的试卷之后,点击相应的试卷开始考试,关键代码如下:<s:iteratorvalue="#request.shitiList"id="shiti"> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#shiti.shitiName"/> </td> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#shiti.shitiJieshao"/> </td> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#shiti.shitiShijian"/> </td> <tdbgcolor="#FFFFFF"align="center"> <astyle="color:red"href="#"onclick="kaishikaoshi(<s:propertyvalue="#shiti.shitiId"/>)"class="pn-loperator">开始考试</a> </td> </tr> </s:iterator>Maprequest=(Map)ServletActionContext.getContext().get("request"); Mapsession=ServletActionContext.getContext().getSession(); TStustu=(TStu)session.get("stu"); Stringsqlk="fromTJiaoyuanwherestuId=?andshitiId=?"; Objectconk[]={stu.getStuId(),shitiId}; Listlist=jiaoyuanDAO.getHibernateTemplate().find(sqlk,conk); if(list.size()>0) { request.put("err","你已经参加过此考试。请不要重复考试"); returnActionSupport.ERROR; } ListtimuList=newArrayList(); Stringsql="fromTTimuShitiwhereshitiId=?"; Objectcon[]={shitiId}; ListtimuShitiList=timuShitiDAO.getHibernateTemplate().find(sql,con); for(inti=0;i<timuShitiList.size();i++) { TTimuShititimuShiti=(TTimuShiti)timuShitiList.get(i); TTimutimu=timuDAO.findById(timuShiti.getTimuId()); timuList.add(timu); } request.put("timuList",timuList); request.put("shitiId",shitiId); returnActionSupport.SUCCESS;试卷显示后就开始考试了。最后保存提交试卷,核心代码如下:publicStringjiaoyuanAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); Mapsession=ServletActionContext.getContext().getSession(); TStustu=(TStu)session.get("stu"); Stringsql="fromTTimuShitiwhereshitiId=?"; Objectcon[]={shitiId}; ListtimuShitiList=timuShitiDAO.getHibernateTemplate().find(sql,con); for(inti=0;i<timuShitiList.size();i++) { TJiaoyuanjiaoyuan=newTJiaoyuan(); jiaoyuan.setStuId(stu.getStuId()); TTimuShititimuShiti=(TTimuShiti)timuShitiList.get(i); jiaoyuan.setTimuId(timuShiti.getTimuId()); jiaoyuan.setShitiId(shitiId); String[]timu1Daan=request.getParameterValues(timuShiti.getTimuId().toString()); if(timu1Daan.length==1)//danxuanti { jiaoyuan.setTimuDaan(timu1Daan[0]); } if(timu1Daan.length>1)//duoxuanti { Strings=""; for(intj=0;j<timu1Daan.length;j++) { s+=timu1Daan[j]; } jiaoyuan.setTimuDaan(s); } jiaoyuanDAO.save(jiaoyuan); } returnActionSupport.SUCCESS; }4.2分数查询模块1.描述:开始结束后学生可以通过该菜单查看自己的成绩2.程序运行效果如图4.2:图4.2分数查询3.关键代码: publicStringfenshuByMe() { Mapsession=ServletActionContext.getContext().getSession(); TStustu=(TStu)session.get("stu"); Stringsql="fromTFenshuwherestuId=?"; Object[]cc={stu.getStuId()}; ListfenshuList=fenshuDAO.getHibernateTemplate().find(sql,cc); for(inti=0;i<fenshuList.size();i++) { TFenshufenshu=(TFenshu)fenshuList.get(i); fenshu.setShitiName(shitiDAO.findById(fenshu.getShitiId()).getShitiName()); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("fenshuList",fenshuList); returnActionSupport.SUCCESS; }<s:iteratorvalue="#request.fenshuList"id="fenshu"> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#fenshu.shitiName"/> </td> <tdbgcolor="#FFFFFF"align="center"> <s:propertyvalue="#fenshu.fenshu"/> </td> </tr> </s:iterator>5系统测试5.1系统测试目的与意义目的是为了发现系统的问题,一个好的测试是发现了以前没有发现过的问题。系统测试同时也是检验系统是否满足用户的需求,保证系统的质量与可靠性。5.2测试过程5.2.1在线考试模块测试测试流程:1.打开系统首页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工特种作业-建筑焊工真题库-7
- 入学面试常识题目及答案
- 2023-2024学年陕西省汉中市高二下学期7月期末数学试题(解析版)
- 2024-2025学年山西省太原市高二上学期期末考试语文试题(解析版)
- 2025年秋三年级上册语文同步教案 习作:写日记
- rather-than的用法与搭配
- 餐具洗消管理制度
- 食材食品保鲜安全措施
- 作业培训教育管理制度
- 使用单位欠费管理制度
- 2025年河南郑州中原绿色产业生态发展公司招聘笔试参考题库含答案解析
- 2025年中国融通农业发展有限集团有限公司招聘笔试冲刺题(带答案解析)
- 2025民用无人机驾驶员合格审定规则
- 夏令营笔试题及答案保研
- DB43-T 2036-2021 山银花采收与产地初加工技术规程
- 法律文化-形考作业4-国开(ZJ)-参考资料
- 2025年中考物理押题猜想卷(山西卷)(全解全析)
- 模具外发加工与验收标准及流程
- 空调水管、流量、流速、管径自动计算以及推荐表和水管各种参数对照表47729
- 《架空输电线路防鸟挡板技术规范》征求
- 浙江省高速公路服务区建设指南
评论
0/150
提交评论