1、基于JSP在线考试系统设计和实现专 业:年 级:学 号:作 者:指引教师: 目 录1 绪论21.1 开发背景21.2 系统开发目的21.3 开发工具选取21.4 开发本系统意义22 系统分析32.1 背景分析32.2 可行性分析32.2.1 技术可行性分析32.2.2 经济可行性32.2.3 方案可行性42.3 需求分析42.4 总体设计52.4.1 系统功能模块图52.4.2 系统功能模块53 系统设计73.1 数据库设计73.1.1 数据字典73.1.2 数据库连接93.2 详细设计93.2.1 公共类设计93.2.2 在线考试模块设计103.2.3 查看考生试卷模块设计113.2.4 考
2、试设立信息维护模块设计113.2.5 顾客管理模块设计124 系统测试144.1 系统运营环境144.2 测试目144.3 各功能模块测试144.3.1 在线考试模块测试154.3.2 查看试卷测试164.3.3 成绩查询测试174.3.4 考题管理184.3.5 查看试卷204.3.6 顾客管理测试215 结论23致 谢24参照文献25基于JSP在线考试系统设计与实现摘要:随着计算机技术上越来越进一步而广泛应用,无纸化考试实行在技术上已逐渐成熟。无纸化考试系统是一种不断发展新型学科,学校必要建立与自身特点相适应考试系统。 本次所开发基于jsp在线考试系统打破了原有考试模式,运用既有网络资源构
3、架出一种新考试平台。简化了原有考试中一系列复杂操作,使得学生可以便捷参加各种考试,不再受到任何时空、地区限制。核心词:在线考试;jsp;SSH2;MVC JSP-based Online Examination System Design and ImplementationAbstract:With more and more widespread and profound application of information technology,the implement of paperless examination has become mature step by step. O
4、nline Examination System is a new subject. The school must own their Examination System to adapt to their characteristics. The project breaks the intrinsic teaching mode by using the existing network resources to build up a new test platform. And it also simplifies the former complicated operation,e
5、nables the students to take different exams more conveniently regardless of the limit of space and time.Key words:Online Test;jsp;SSH2;MVC 1 绪论1.1 开发背景指出计算机网络技术飞速发展以及计算机技术发展及计算机日益普及,当前诸多国内外大学和社会其她部门都已经开设了远程教诲,通过计算机网络实现异地教诲和培训,从而为在线考试系统发展提供了坚实基本。当前,计算机硬件技术发展已经达到了相称高水平。但是,在国内远程教诲软件开发当前还处在起步阶段,随着这项技术不断
6、进一步发展,就规定有更好、更完善软件系统应用到远程教诲当中去,这就给软件设计人员提出了更高设计规定123。 在21世纪新时代,随着计算机技术发展及计算机日益普及,基于在线考试与无纸化办公同样已成为大势所趋。在线考试系统也越来越成为学校好帮手,它优势不但体当前人力上也体当前物力上,在线考试系统采用自动评阅、计分、成绩存档功能将有效地避免资源挥霍,有助于环保,减少人员,提高效率4567。1.2 系统开发目的该系统是一种基于B/S模式Web在线考试系统89己所教科目添加相应科目,依照科目出相应考卷。 学生可以进行考试,查看考试状况等操作。当考试完毕后系统能自动地考试题评分。教师登陆时系统可以还原学生
7、考试试卷,可以查看学生总分,并生成各分数段状况信息,供应教师参照,以便可以理解学生学习状况。1.3 开发工具选取本系统开发语言为JAVA,从各IDE性能和价格考虑所使用开发工具重要是MyEclipse。由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用mysql数据库。 Web服务器选Apache开元组织提供TomCat,由于TomCat是一种免费开元软件是SUN公司推荐web服务器101112。1.4 开发本系统意义从电子文档、多媒体应用,到运用Internet做尝试,网络已经渗入到教诲体系各个环节网上考试系统作为这场变革中必不可少环节之一,受到越来越多关注网上考试系统不但和老式
8、考试方式同样要权衡公平性,并且还具备某些新特点131)从管理角度看,在线考试系统可以协助教师完毕一种考试从题目设计,考试安排,考试实行,考卷批改到分数记录总结所有工作,系统实现了无纸化管理,提高了管理效率;所有考试数据和其她数据库需要一种主流方式进行存储和管理,例如使用数据库技术,题库对于每个出题者都只是显示了某些视图,较好地实现了教考分离2)在不变化老式考试基本环节条件下,只要有考试客户端可以连接到考试应用服务器,指定考生可以在任何地方进行身份确认,都能完毕考试3)考试成果反馈及时精确考试成果在提交试卷后就可以懂得,同步提供一种机会让考生懂得自己哪里做错了考生考试成果可以被保存下来,供教师进
9、行分析记录和察看。14152 系统分析2.1 背景分析网络化教诲代表了教诲改革一种发展方向,已经成为当代教诲一种特性,并对教诲发展形成新推动力。随着Internet/Intranet迅速发展和广泛普及,建立在其上远程教诲成为当代教诲技术将来发展方向之一,考试测试作为远程教诲一种子系统也成为一种重要研究领域。当代远程教诲作为一种新教学手段已经开始进入咱们生活,正在给老式教诲模式带来新变革,并对教诲发展形成新推动力。相比老式考试方式,在线考试系统重要好处是一方面可以动态地管理各种考试信息,教师可以网上出题,之后学生便可以网上进行答题,从而使得考教分离1617。2.2 可行性分析2.2.1 技术可行
10、性分析系统开发将要用到JSP、ssh2、JavaBean、mysql数据库技术。此外,硬件只需要一台pc机,装上软件MyEclipse,DreamWeaver等开发工具 ,运用mysql作为后台数据库,运用Tomcat作为Web服务器,因此在这方面来说是可行。已经掌握了开发考试系统办法和开发工具,并且在调查过程中,已经理解和熟悉了在线考试系统业务流程。综上所述本系统开发从技术上是可行2.2.2 经济可行性从经济效益来分析,软件开发成本不大,而其他投入也只是电脑。电脑普及也带来了低成本投入。由于系统运营基本环境均已具备,无需重新开发建设,因此系统开发、运营所需费用是比较低。而系统效益很高可以提高
11、管理效率实现计算机化、系统化、规范化操作,效率不不大于投入,可行性很高。2.2.3 方案可行性依照系统分析,本系统充分从合用性出发,全面为不同使用顾客考虑。使系统许多功能与规则都可依照顾客习惯进行定制,涉及软件界面、操作方式、录入方式等。本系统设计充分从使用顾客和教务教学任务考虑。2.3 需求分析本考试系统顾客重要分为三类:学生,教师,管理员。1.学生需求学生登陆系统重要进行两类操作:在线考试,成绩查询.(1)在线考试学生登录后,学生选取考试科目,之后从备选试卷中选取要参照试卷。学生在考试过程中页面将提供考试时间倒计时功能,使考生随时理解考试剩余时间。在考试时间届时,系统将自动地将学生考试试卷
12、提交。当考试试卷提交时,系统自动评分,并且虽然反馈给考生。(2)成绩查询学生可以登陆系统查询各科成绩,其中成绩查询是查询自己考卷,理解自己考试状况。2.教师需求教师登陆系统重要有三类操作:添加科目,添加试卷,添加学生和查看学生试卷,查看相应试卷各分数段记录。(1)添加科目教师可以登录系统,添加自己所教科目。(2)添加试卷 教师选取所要添加科目后,便可以添加新试卷,试卷涉及试卷考试时间,题目以及每道题目分值及选项,答案等。(3)添加学生教师登陆系统之后可以添加新学生。(4)查看学生试卷教师登陆系统之后可以查看到参加该门考试学生考试状况。(5)查看相应试卷各分数段记录教师登陆系统之后可以查看到考试
13、分数段状况。3.管理员系统管理员登陆系统后重要进行一类操作:添加教师信息以及具备教师一切权限(1)添加教师信息管理员可以添加教师信息。(2)具备教师一切权限 管理员可以查看所有教师出试卷,并进行删除操作,并且自己可以独立进行添加科目,添加试卷,添加学生等操作。2.4 总体设计2.4.1 系统功能模块图依照2.3所述需求,设计出系统功能模块如图2-1所示图2-1系统功能模块图2.4.2 系统功能模块1、在线考试在线考试流程如下:一方面考生进入系统后选取科目,之后进行试卷选取进行答题操作。答题必要在规定期间内进行,此时间是由教师在出试卷时设立好,如在规定期间内没有完毕答题,系统将强制提交学生考试试
14、卷进。考生在试卷提交后系统自动地为试题进行评分,本系统试题重要有单选题,双选题,多选题。其数据流图如3.3所示。图2-2第2层在线考试数据流图2、成绩查询 考生依照顾客编号查询考试成绩信息。成绩信息涉及单选题得分,多选题得分等详细信息。页面提供对相应科目试卷链接,使得学生还可以查询自己考卷,理解自己考试状况。3、试题维护试题维护是后台教师重要功能,它涉及对试题添加,修改,删除操作。为了使界面更和谐,管理员在试题维护时系统会先将考试试题读出,再提供应管理员操作。其数据流图如图2-3所示图2-3 第2层考题维护数据流图4、顾客管理 顾客管理是管理员对系统顾客信息管理。这些顾客涉及学生和教师。顾客管
15、理操作涉及添加顾客和删除顾客。管理顾客时,系统会先将顾客信息读出供应管理员参照,再提供应管理员操作。其数据流图如图2-4所示。图2-4 第2层顾客管理数据流图3 系统设计3.1 数据库设计3.1.1 数据字典通过对系统功能分析可知,本系统重要涉及如下数据库信息:(1)管理员表,该表保存了系统管理员基本信息,属性有管理员编号、管理员名称、管理员密码。其中管理员编号为主码,它是顾客信息唯一标记。表构造如表3-1所示。(2)学生表,该表保存了学生基本信息,属性有学生编号、学生名称、学生密码。其中学生编号为主码,它是顾客信息唯一标记。表构造如表3-2所示。(3)考题表,该表用于保存考题基本信息,属性有
16、考题编号,考题类型,本题分数等。其中考题编号为主码。表构造如表3-3所示。(4)科目表,该表用于保存考试科目基本信息,属性有科目编号,科目名称。其中科目编号为主码。表构造如表3-4所示。(5)试卷表,该表用于保存考生试卷信息,属性有试卷编号,试卷名称,试卷状态,考试时间等。其中试卷编号作为主码。表构造如表3-5所示。(6)成绩表,该表用于保存考生考试成绩信息,属性有成绩编号,考生编号,课程编号,总得分。其中成绩编号作为主码。表构造如表3-6所示。(7)答案表,该表用于保存试题答案信息,属性有答案编号,所属题目编号,答案内容等。其中答案编号作为主码。表构造如表3-7所示。(8)学生答案表,该表用
17、于保存考生考试答案信息,属性有答案编号,所属学生编号,答案内容,试题编号等。其中答案编号作为主码。表构造如表3-8所示。系统表构造如下:表3-1教师或管理员表(t_admin) 字段类型容许为空阐明备注Id int(11)否顾客编号pkusernamevarchar(50)否教师或管理员姓名管理员只有一种,教师可以有各种passwordvarchar(50)否密码表3-2学生表(t_student)字段类型容许为空阐明备注idint(11)否顾客编号pkusernamevarchar(50)否学生名passwordvarchar(50)否密码表3-3考题表(t_question)字段类型容许为
18、空阐明备注idint(11)否考题编号pk 自增长typevarchar(10)否考题类型单选 多选 双选Pointint(11)否考题分数contenttext否题目paperIdint(11)否所属试卷外键表3-4科目表(t_subject)字段类型容许为空阐明备注idint(11)否科目idpknamevarchar(50)否科目名称表3-5试卷表(t_paper)字段类型容许为空阐明备注idint(11)否试卷idpknamevarchar(50)否试卷名称stateVarchar(20)否试卷状态开放和关闭两种状态timeint(11)否考试时间以分钟为单位adminIdint(11
19、)否所属管理员fksubjectIdint(11)否所属科目fk表3-6成绩表(t_score)字段类型容许为空阐明备注idVarchar(10)否成绩编号pkmarkVarchar(20)否成绩值student_Idfloat否考生IDfkpaper_Idfloat否科目IDfk表3-7答案表(t_answer)字段类型容许为空阐明备注idint(10)否答案编号pkaitemvarchar(50)否A选项内容bitemvarchar(50)否B选项内容citemvarchar(50)否C选项内容ditemvarchar(50)否D选项内容contentvarchar(50)否对的答案que
20、stionIdint(11)否所属问题IDfk表3-8学生答案表(t_studentanswer)字段类型容许为空阐明备注idint(10)否学生答案编号pkquestionIdListvarchar(255)否学生答题题目ID序列学生所答试卷题目有序序列answerListvarchar(255)否学生答题答案序列学生答卷答案序列studentIdint(11)否学生IDfk3.1.2 数据库连接在本系统中咱们使用JDBC-ODBC桥连接,要进行数据库连接一方面要配备数据源。按3.3.1设计,设计好数据库exam_online,再建一种名为exam_online数据源。系统连接数据库流程图如
21、图3-1所示:图3-1系统连接数据库流程图3.2 详细设计3.2.1 公共类设计1Domain类设计由于数据库使用类系统模型,而java数据为对象模型,使得其模型不匹配。为了以便关系模型和对象模型间转换,建应Domain类,即数据库中每个表相应一种类,表中类属性相应表各属性,再为各个属性设计一种读办法(get)和一种写办法(set)如学生类:package com.exam_online.model;public class Student private int id;private String username;private String password;public int get
22、Id() return id;public void setId(int id) this.id = id;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;表和类相应关系如下:教师(管理员)表(t_admin
23、)教师(管理员)类(Admin)答案表(t_answer)答案类(Answer)试卷表(t_paper)试卷类(Paper)题目表(t_question)题目类(Question)成绩表(t_score)成绩类(Score)学生表(t_student)成绩类(Student)学生考卷答案表(t_studentanswer)学生考卷答案类(StudentAnswer)科目表(t_subject)科目类(Subject)2.公具类设计依照系统设计需求,设计如下工具类:数据库连接工具类,重要提供连接数据操作等有关办法字符加密类,重要对密码进行加密解决3.2.2 在线考试模块设计在线考试流程为:一方面
24、系统将考试信息和考生个人信息提供应考生,并规定考生核对个人信息。考生在选好试卷后进行答题操作。答题必要在规定期间内进行,此时间是由管理员事先设立好,如在规定期间内没有完毕答题,系统将强制提交学生考试试卷进。考生在试卷提交后系统自动地为试卷进行评分,并将试卷保存,供应教师查看或修改。在线考试流程图如图3-2所示。图3-2 在线考试流程3.2.3 查看考生试卷模块设计教师登陆后,可以对考生试卷进行查看和修改。系统一方面将考生试卷读出,教师也许看到学生大体状况。重要思路:教师点击查看,可以通过数据库成绩表查到考生考试信息,通过考试信息生成jsp页面,显示出考生考卷状况,从而对学生考试状况有个理解。3
25、.2.4 考试设立信息维护模块设计考试设立信息维护是管理员对考试设立信息维护,它涉及对考试设立信息添加,修改,删除。这些考试信息涉及考试时间,各题数量和分值等。设立时,系统先读取已存在考试设立信息供应管理员查询,再提供应管理员操作。考试设立信护流程图如图3-3所示。图3-3考试设立信息维护流程3.2.5 顾客管理模块设计顾客管理是管理员对系统顾客信息管理。这些顾客涉及学生和教师。顾客管理操作涉及添加顾客和删除顾客。添加顾客时,删除管理顾客时,系统会先将顾客信息读出供应管理员参照,再提供应管理员操作。修改顾客时顾客编号和顾客密码不能被修改其他均能被修改;顾客时,系统会先提示管理员与否删除,若果确
26、认删除才干删除顾客。顾客管理流程图如图3-4所示。图3-4顾客管理流程4 系统测试4.1 系统运营环境 数据库:mysql Web服务器:Tomcat6.0及以上版本 操作系统:能运营java虚拟机操作系统均可4.2 测试目系统测试是为了发现错误而执行程序过程,成功测试是发现了至今尚未发现错误测试。测试目就是但愿能以至少人力和时间发现潜在各种错误和缺陷。应依照开发各阶段需求、设计等文档或程序内部构造精心设计测试用例,并运用这些实例来运营程序,以便发现错误。系统测试应涉及软件测试、硬件测试和网络测试。硬件测试、网络测试可以依照详细性能指标来进行,此处所说测试更多是指软件测试。系统测试是保证系统质
27、量和可靠性核心环节,是对系统开发过程中系统分析系统设计和实行最后复查181920。4.3 各功能模块测试将工程导入Tomcat项目文献夹生即webapps文献夹中,再启动TomCat服务器。在浏览器中输入工程URL,如“:8080/exam_online_lxb/frame_login.jsp”可进入系统操作界面,顾客可以选取操作。如图4-1所示。图4-1系统主界面4.3.1 在线考试模块测试在主界面点击学生考试,可以进入学生登陆界面。此界面在提交数据时有简朴验证功能,如学号不能为空等,顾客名与否对的等,如图4-2所示。图4-2学生登陆界面 成功登录后进入考卷选取界面,如图4-3所示。系统通过
28、学生所选科目,产生相应科目考试列表,供应考生选取。下方有考生已考科目列表,已考科目考生不能再考。图4-3试卷选取页面点击开始考试,将进入到考试页面,考生开台答题,如图4-4所示。在答题时系统提供剩余时间倒计时功能,以以便了角答题时间。当考试剩余时间为0时系统将自动提交试卷。图4-4学生考试页面4.3.2 查看试卷测试图4-5 成绩显示考生答完试卷后,点击交卷,系统自动进行批阅试卷,之后可以及时将考试成果反馈给考生,从而使考试理解自己得了多少分以及哪道题出了错误,如图4-5所示。4.3.3 成绩查询测试图4-6学生成绩查询学生在主界面点击“学生管理”,并输入对的登陆信息可以进入学生管理界面。在界
29、面中点击左边菜单栏中“成绩查询”选项,可以查询到学生已考试卷名称,如图4-6所示。点击,学生可以看到该科考卷答题状况,如图4-7所示。图4-7查当作绩详情4.3.4 考题管理在浏览器中输入“:8080/exam_online_lxb/frame_login.jsp”进入管理员登录页面。当提交登陆信息时,系统会进行简朴数据验证,如验证码输入对的性,如图4-8所示。图4-8管理员登陆界面输入对的登陆信息后,进入后台管理主界面,在左边菜单栏上点击“试题管理”选项进入试题管理界面,如图4-9所示。图4-9 管理员管理界面 在试题管理界面上,点击科目管理添加科目,即可进行添加科目操作,如图4-10。添加
30、后在界面上显示所有科目名称如图4-11所示。图4-10添加科目图4-11添加科目JAVA成功现点击右侧导航栏试卷管理中添加试卷,即可进行添加试卷操作,如图图4-12。图4-12添加试卷填写内容,进行出试卷操作,如图4-13.图4-13出试卷4.3.5 查看试卷在管理员界面上点击左边菜单栏上“试卷管理”,进入试卷管理。点击管理试卷,浮现所有试卷信息,如图4-14所示。图4-14试卷管理界面点击detail,可以查看试卷详细信息,从而进行删除题目或者增长新题目操作。如图4-15所示。图4-15查看试卷详细信息4.3.6 顾客管理测试图4-16添加学生界面点击管理员菜单中“学生管理”按钮,进入学生管理界面,点击添加学生,可以进行添加学生操作,例如添加测试顾客test_user,密码为123456。如图4-16所示。点击添加到库,可以进入到顾客浏览页面,管理员可以查看所有存在顾客信息,由于密码是加密解决,因此看到密码都是加密后字符串。添加后如图4-17所示。图4-17查看所有顾客信息点击顾客信息右边删除图标,可以删除该顾客信息。