2024年1月21日发(作者:)
软件开发 《中国教育信息化》编辑部:mis@moe.edu.cn 构建基于Java平台的网上考试系统米 刘水立 (北京财贸职业学院信息物流系,北京101101 1 摘 要:本文以“北京财贸职业学院网上考试系统”为蓝本.重点论述了构建基于lava平台的网上考试系 统的必要性和关键技术;给出了系统需求分析报告、数据库设计、功能模块设计以及故障处理方法:提出了试 题库建设过程中应该注意的问题并给出了参考意见 关键词:网上考试:随机组卷:Java平台 中图分类号:TP311.52 一文献标识码:B 文章编号:1673—8454(20I 1)09—0046—05 2.在节能环保的同时.减轻监考的压力和教师判卷 的负担 、引言 近几年,各类院校信息化建设都取得了很大进展.其中 基于计算机网络平台的考试模式改革取得了很多成果 本文将以“北京财贸职业学院网上考试系统”为蓝本.重 网上考试不需要任何纸质试卷,学生可以通过浏览 器随时参加考试.大大节省了纸张,符合低碳经济的要 求;网上考试时.每人一台机器.随机抽取试题,瓦不十 扰.试卷也互不相同.一场考试只要求1至2名监考教师 即可(若随堂考试.监考教师可南任课教师担任).大大减 点讨论网上考试系统构建的必要性、关键技术、系统需求 分析、数据库设计、功能模块设计等。该系统应用于实际教 学一年的时间,效果良好 系统欢迎界面如图1所示 在 以下论述中.“本系统”即指该网上考试系统 轻监考的压力:网上考试系统的自动评分功能比较完备. 考试完毕后.教师可以立即得到学生的成绩(一般系统会 将考试成绩导出为电子报表).大大减轻教师判卷的压力.. 3.能够有效提高学生的成绩 网上考试系统可以开启练习模式.住练习模式下.系 统长期对学生开放.对于一些需要反复练习和记忆才能 掌握的问题.学生可以进行重复练习.从而确保学生有足 够多的训练时间.有效提高学生的成绩:另外,网上考试 系统的特色之一就是“随机抽取试题”.也就是“随机组 卷”,这一功能确保试卷和试题的唯一性.因此会大大减 少作弊的可能性.学生的成绩更加真实可信 图1“网上考试系统”欢迎界面 4.有助于实现数据共享、数据管理和无纸化办公 与传统考试相比.网上考试可以借助数据库系统的 强大数据管理和数据维护功能,实现课程数据、学生数 据、成绩数据的各部门共享.有利于学生和教师在学习和 T作中及时查看相关数据.满足学习和T作的需要. .二、网上考试系统的优越性 1.试题库建设灵活、高效、及时 教师可随时通过网络平台添加反映最新科技信息和 时政信息的试题、修改旧试题、删除过时的试题,确保试 题库中的试题最新、最全、最准确 特定情况下,可以在平 三、构建网上考试系统时应注意的问题 1.确保试题库中的题量满足随机抽题的要求 时训练中将部分试题向学生开放.以便增多学生练习的 机会.尤其是对于一些需要取得证书的实训课程.这种做 法更是有效。而在传统考试和测验中.教师在考前才会提 供给教务部门2~3套备选试题,试题陈旧,试题量少.学 生缺乏练习的机会 为了使得抽取的试题具有随机性.系统在随机组卷 时通过随机数产生试题编号.然后在试题库中选中该编 号的试题,将其加入到试卷中 因此.试题库中包含足够 多的试题是确保随机抽题能够顺利进行的前提..经过多 次测算.笔者认为.当试题库中试题总量达到试卷题量的 ¥基金资助项目:2009年北京教委人文课题,项目名称:商业连锁物流发展研究(sm200900001003) 46中国教育信息化/201 1.o9(高教职教
《中国教育信息化》发行部:cyl@moe.edu.cn 5倍以上时可以基本满足网上考试的要求 当然.试题库 的建设是一个长期的、循序渐进的过程,试题库越完善. 得到的随机试卷越科学、合理 2.任课教师应充分考虑各章节在课程中的权重 任课教师在编辑章节信息时需要考虑到每个章节在 课程中的权重。举例来说,课程A包含四章,分别是:A1、 A2、A3、A4,各章的权重分别是:0.2,0.3,0.4,0.1。假设试 卷中的题型分为:是非题、单选题、多选题,这三类题型在 试卷中的题量分别是:20、30、20,也就是在每份随机产 生的试卷中是非题2O道,单选题30道.多选题20道。那 么课程A各章节在试卷中及在题库中的题量如表1所 示.括号中的数字是各题型在题库中题量的最低要求 表1课程A各章节在试卷中以及在题库中的题量分布 题量\题型 是非题 单选题 多选题 \ A1 4(20) 6(30) 4(20) A2 6(30) 9(45) 6(3o) A3 8(40) 12(60) 8(4()) A4 2(1()) 3(15) 2(10) 合计 20(100) 30(150) 20(100) 3.避免针对同一知识点多次出题 前面已经提到.系统随机抽题时基于计算机产生的 随机数,因此,试题库中任何一道试题都可能会被抽到。 若在同一章节或同一题型中.针对某个知识点重复出题. 可能造成随机产生的试卷中.针对该知识点出现两道或 多道试题.这样一来.试卷便失去了科学性和公平性。 四、网上考试系统需求分析及主要功能模块设计 网上考试系统的用户分为三类:管理员、任课教师、 学生。 1.管理员的日常操作 (1)数据库数据的初始化:导入/编辑学生数据、导入/ 编辑任课教师数据、导人/编辑课程数据。学生数据、教师 数据、课程数据的数据量都比较大,可以借助系统的导入 功能完成批量数据的导入.当个别记录出现问题时可以进 行单条记录的修改和删除 (2)考试模式设置:将指定课程设定为“考试”模式或 “练习”模式 在“考试”模式下.学生只能有一次抽取试卷 的机会,并且系统会倒计时.时间一到.系统会自动交卷 当然,学生也可以随时主动交卷:在“练习”模式下,系统 不会倒计时.也不会自动交卷,只能由学生主动交卷.给 学生充足的思考时间和练习时间 另外.在“练习”模式 下.学生可以多次抽取试卷.反复练习 (3)密码修改:管理员根据实际情况,可以定期修改 软件开发 管理员登录密码.确保系统安全 (4)成绩查询/成绩导 :查询指定课程所有学生的 成绩.并将其导出为Excel报表格式 2.任课教师的日常操作 (1)设计并编辑所任课程的试卷信息、章节信息、试题 库:任课教师根据课程的特点设计试卷信息,主要是题目 类型(本系统第一版只包括如下三类题型:是非题、单选 题、多选题)、每类题目在试卷中的题量、每类试题的分值、 试题数目、考试时间等信息:任课教师根据实际情况设定 课程中每个章节在试卷中所占的权重:任课教师应手动添 加试题或将试题编辑为Excel表.然后导入到试题库中 (2)考试初始化:由于系统平时向学生开放.因此保 存了学生在平时练习过程中的试卷信息和成绩.在正式 考试之前.任课教师需要将这些历史记录清空.为考试做 好准备。 (3)考试模式设置:任课教师可以设定所任课程的模 式。平时练习时,将系统设定为练习模式:正式考试前.将 系统设定为考试模式 任课教师只能设定自己所担任课 程的考试模式.管理员可以设定任何一门课程的考试模式 (4)查询学生信息:正式考试前.任课教师需要检查 自己的学生信息是否完整.一旦发现某个学生的信息未 被导人到数据库中.应及时通知管理员.以便所有学生都 能够正常参加考试 (5)随机抽题:试卷信息和试题库创建完毕后,为了 检验试卷的合理性以及试题的准确性.任课教师可以在 考前进行测试,随机抽取试题.并进行组卷.发现问题后 及时修改.确保试题库和试卷信息的正确性 (6)考试管理:正式考试过程中.学生只能进行一次 抽取试卷的操作和一次交卷操作 但是也可能会遇到一 些网络问题.造成不能正常抽取试卷或试卷提交失败 万 一遇到这种情况.任课教师可以针对考场的实际情况手 动修改学生的试卷信息(主要是修改登录次数).帮助学 生获取试卷并确保试卷正确提交 (7)成绩查询:考试完毕后,任课教师可以查询所任 课程所有学生的成绩.并将成绩导出为Excel报表格式 (8)密码修改:为了确保系统安全,任课教师在首次 登录后.应该及时修改自己的登录密码.平时使用过程 中.也应该定期修改密码 3.学生的日常操作 (1)随机抽取试题:平时练习阶段,学生可以随时通 过浏览器登录到系统.进行任何一门课程的练习.练习成 绩不会被教师记人最终成绩中:正式考试期间.学生在指 定的教室,指定的时间登录到系统,参加考试,随机抽取 试卷.此时系统会按照教师设定的时间倒计时 China Education Inf0 47
软件开发 《中国教育信息化》编辑部:mis@moe.edu.cn (2)查询成绩:学生可以随时登录系统,查看自己任 何一门课程的成绩 MySQL Server 5.0后.安装Navicat8软件.该软件是一款 不错的MySQL Server的客户端工具软件 2.框架和库文件 (3)修改登录密码:学生的初始密码与学号相同 为 确保数据安全.学生应该在首次登录后.修改自己的登录 密码。 构建基于Java平台的JSP程序可以直接采用MVC 模型进行构建,也可以采用某些软件架构,如:Struts、JSF、 RichFaces等.这些架构都是在MVC模型的基础上进行开 发的。 总体来说.通过网上考试系统.任课教师负责设定 试卷题目类型、每类题目的分值、题量.并负责导人/编 辑题库数据、查询成绩:学生可以随机抽取试卷进行考 试或练习.并能够查看自己的成绩:管理员负责管理教 师数据、课程数据以及完成数据库初始化工作。因此.该 系统不但具备信息管理系统的特征.同时必须具备成绩 RichFaces是JBOSS公司开发的Web应用程序框架. 其基础框架是JSF.但在JSF基础上进行了扩展.提供了更 为丰富的JSF控件;它支持Aiax技术,使程序员能够轻松 一试一课一学一教 一 一一一~一一 一个一考一试一题一学一教一课 地构建RIA(Rich Internet Applications)Web应用程序 评定和随机组卷的功能 网上考试系统的主要功能模块 如图2所示 数据导人 网 数据导出 H成绩数据导出 上 考 试 数据查询 系 统 考试管理 数据管理 图2网上考试系统的主要功能模块 五、构建网上考试系统的关键技术分析 本系统是基于B/S结构的动态站点.主要由两部分 组成:客户端(浏览器);服务器端(Web程序)。在服务器 端需要Web服务器(Web程序的运行环境)、数据库管理 系统等软件的支持.在客户端只需要浏览器即可 构建Web程序可从如下两种技术中选择.基于微软 IIS Web服务器的ASP/ASP.NET技术:基于Java平台的 JSP技术 本系统采用第二套方案.主要是考虑 ̄UJava平台 的开放程度较高.有丰富的插件.且构建成本较低 1.开发工具的选择 本系统基于Java平台.需要按次序安装以下软件:jdk1.6. Netbeans6.1,GlassFishV2,MySQL Server 5.0。Netbeans6.1 作为Web程序的开发环境.不但内嵌了GlassFish Web 服务器.而且利用该IDE可以非常方便地连接MySQL Server数据库 为了便于操作数据库.可以在安装完 48中国教育信息化/201 1.o9(高教职教) 本系统基于RichFaces框架进行开发.需要在 Netbeans6.1中添加RichFaces框架所需的相关JAR文 件 另外.由于在数据导人和导出过程中需要操作Excel文 件.所以还需要ixl开源组件 系统所需的主要JAR文件如表2所示f所有文件都 可从网上下载) 表2系统所需JAR文件列表 用途 TAR文件名 conlnlons——beanutils.jar;colrmlons—— TSF框架基础文件 collectionsjar;cormnons—digester.jar; commons——loggingdar;jsf——api.jar;jsf—— imp1.jar JSTL(JSP标准标记库、所需文件 jst1.jar standard.jar 操作Excel文件 jx1.jar FZichFaces—api一3.3.0.GAdar IP.ichFaces框架基础文件 R.ichFaces—impl一3.3.0.GA.jar RichFaces—ui一3 3.0 GA.jar 连接MySQL Server 5.0数据库 mysql—connector-java一5 1 5-bin.jar 3.数据库设计 首先通过Navicat8客户端软件在MySOL Se nrer 5.0 数据库管理系统中创建数据库“exain”.然后在该数据库 中建立如表3中所示的数据表 课程表course中的字段分别为:课程ID、课程名称、 是非题数目、是非题分值、单选题数目、单选题分值、多选 题数目、多选题分值、考试时间、任课教师ID、考试模式 (练习或正式考试);章节表chapter中的字段分别为:章 节ID、章节名称、所属课程ID、该章在课程中所占权重; 试题库表question中的字段分别为:试题ID、试题类型、 试题内容、选项A、选项B、选项C、选项D、正确答案、所 属章节ID;教师表teacher中的字段分别为:教师ID、教 师姓名、登录密码、角色;学生数据表student中的字段 分别为:学号、姓名、性别、登录密码、所属班级;试卷表
《中国教育信息化》发行部:cyl@moe.edu.cn 表3系统所需数据表 名称(用途) 包含的字段 id,name,numrw, _valuer w,numone s, course(课程表,存储所有课程数据) valueone —.s,nummultiS,valuemulti_s,period, manager,exammode chapter( ̄节表.存储所有章节数据) id,name,courseid,percent question(试题库表。存储所有试题数据) id,wpe,content,a,b,C,d, answer r,chapterid teacher(教师表,存储所有教师数据) id,name,password,role student(学生表,存储所有学生数据) id,naive,sex,password, className id,studentid,courseid, testpaper(试卷袁.存储学生随机抽取到 log ̄ncount,score,cfientip, 的考卷的基本信息) clientmac,submitsuccess, usedtime testpaper_item(试卷详细信息表.存储所 有随机产生的试卷所包含的所有试题的 id,questioneid,userchoice, 详细信息 testpaperid,ordefinpaper testpaper中的字段分别为:试卷ID、学号、课程ID、登录 次数(正式考试时,若不出现任何网络故障和设备故障, 每份试卷的登录次数一般不能大于1.除非故障出现后. 进行二次登录,有可能造成登录次数大于1)、成绩、客户 端IP、客户端网卡信息、是否成功交卷、考试用去的时间; 试卷详细信息表testpaper item中的字段分别为:考题ID (在随机试卷中的编号)、试题ID(在题库中的编号)、考 生的选择、试卷ID、考题出现在试卷中的位序。 需要特别注意的是.正式考试时.为了防止考生多次 登录到系统进行答题,在数据表testp即e中设置一个字 段“logineount”.用来记录考生参加本门课程考试的次 数 一旦考生成功获取试卷,该标志位便被设置为“1”:另 外设置一个字段“submitsuceess”.用来记录该考生是否 成功提交试卷 考生登录系统后.系统若发现该考生已经 成功提交过该门课程的试卷(submitsuccess字段为真). 则不允许该考生重新抽取试卷:相反.若考生计算机出现 故障.或由于网络瘫痪等原因,造成考生重新登录系统. 则submitsuccess字段一定为假.此时系统将允许考生重 新答题.但不会重新抽取试卷.仍然采用故障发生前的那 套试卷.并且将登录次数字段“logiHCount”累加 4.随机组卷的实现方法 随机组卷的基本思路是:通过随机数函数.产生一个随 机数列,然后以该随机数列为基础.在试题库中抽取试题 当然.得到的随机数列的每项都应该大于0且小于题库中 对应题型试题总量。另外.为确保同一试题在同一试卷中只 出现一次.构建的随机数列中各数据项应该互不相同 如何 软件开发 产生满足要求的随机数列.方法很多.也比较简单.本文不 做阐述.下面只给出随机试卷生成过程中是非题的创建方 法,重要代码及说明如下所示(限于篇幅,代码有删节)。 public ArrayList createTestpaper_r w Random() throws IOException,ClassNotFoundExceptjon f ,/变量1是最终试卷中是非题的列表 ArrayList 1=new ArrayList0; //外层f0r循环开始;变量array—Chapter中包含章节 列表 for(int i_0;i<this.array_Chapter.1ength;i++){ ,/首先获得第i章的所有是非题 ArrayList all=new ArrayList(); all=new ManageQuestion().getAllQuestion(” where chapterid=”+” + array—Chapter[i].getld()+” ’+”and type=”+” ’+ ”r_w”+” ’); //若没有找到任何记录.则结束本次循环 if(al1.size()<=0){continue;} //定义变量mt.类Mv‰ls中包含产生随机数的方法 myRandom() MyTools mt=IleW MyTools0; /*questionHash中保存抽取到的试题: 方法getNumberOfQuestions_r_w() ̄回试卷中第i章 的是非题个数 冰/ int[]questionHash=new int[array—Chapter[i]. getNumberOfQuestions—Lw()】; //随机获取第i章的是非题.保存在变量 questionHash中 questionHash=mt.myRandom(array_Chapter[i]. getNumberOfQuestions—r__w0,al1.size()); //若questionHash为空.结束本次循环 if rquestionHash==null I}questionHash.1ength <=0){continue;} //将抽取到的试题添加到到变量l中 for(int j=0;J<questionHash.1ength;j++){I .add(al1.get(questi0nHashD]));) l,/外层for循环结束 if(1 1=null&&1.size()>0){ / 利用addQuestionID—Show()方法为所有 抽取到的是非题添加试题编号.该试题编号将最终显示 在随机试卷中 赤/ l=this.addQuestionID_Show(1); China Educati0n Info 49
软件开发 《中国教育信息化》编辑部:mis@aloe.edu.cn 基于校园一卡通平台的高校体检管理信息系统 田晓芳 (北京语言大学网络信息中心,北京100083) 摘 要:高校体检管理信息系统结合医院体检中心的特点,以体检人员为中心,以体检流程为依据,提高 了体检工作的效率。系统依托于校园一卡通平台,能够自动提取个人基本信息,同时也简化了收费流程。本系 统的应用,不但可以提高体检效率,还能方便受检者了解自身健康状况,实现了体检系统的自动化、智能化。 关键词:一卡通;高校体检:管理信息系统 中图分类号:TP315 一文献标识码:B 文章编号:1673—8454(2011)09—0050—03 单,过程非常繁琐,重复性强,消耗大量的人力和时间, 、引言 高校教师担负着教学和科研的两大社会责任.是社 会发展和进步的栋梁.是高校办学的主力.对他们的健康 给予关注和研究.是学校卫生工作者的重要任务 因此, 高校对体检工作越来越重视.很多校医院成立了体检科 室 目前.传统的体检一直沿用手工管理的方式.主要存 在以下问题: 且易出错 其次.体检项目繁多.需要专门抽调多名医务 人员对体检结果进行反复的收集、校对、整理,再由主检 医生逐一写体检结论 手工汇总体检资料劳动强度较 大.效率极低 大量数据的统计也是十分困难和复杂的 工作 更重要的问题是医务工作者忙碌于这些琐事,以 至于他们无暇对每一位体检者做详细的健康指导 而且 传统的体检不能充分地利用体检结果进行各种统计和 数理分析.缺少对单位体检结果的综合分析。另外.体检 首先.因为体检工作量大.体检人群相对集中,工作 人员手工书写各种体检通知、化验单和影像检查申请 (接上页) //若创建的是非题多于试卷的要求.则去掉 多余的试题 比较安全可靠 另外一种替代办法是将答题信息存入客 户端.这种办法虽然可以减轻网络负担.但是一旦客户计 算机由于病毒等原因出现问题时.可能会造成更大的损 失(在多媒体机房中,这种情况很常见),因此,本文并不 推荐此种方法 while(1.size 0>this.num_r_w){1.remove(1_ size()一1);} lHif语句结束 return l: 另外.为确保系统的稳定可靠。客户端每隔5秒钟向 服务器发送一个探测数据包.一旦发现无法与服务器正 _—}//方法createTestpaperr wRandom()结束 5.故障处理方法 常通讯.及时弹出警告信息,通知考生和监考人员.以便 尽早发现问题.避免考生的无效工作 ⑩ 参考文献: [1】张全和.关于考试阅卷系统开发的必要性和可行性[c】. 重庆大学计算机基础教学研讨会论文集.2004.4. 任何系统都不能做到无故障运行。网上考试系统在 运行过程中,可能会出现如下问题:答题开始后,由于客 户端计算机故障、网络故障等问题造成答题信息丢失,考 生不得不重新抽取试卷。如此一来,不但影响考生的情 绪,还将拖延考试时间,造成考试秩序混乱。为了防止此 【2】全渝娟,范荣强.基于Web的远距离考试系统Ⅲ.计算机 应用与软件.2003(7). 类情况发生.必须实现试卷信息及答题信息的及时存储 试卷信息的及时存储.解决的办法是在考生正式答 [3]http://www.netbeans.org[DB/OL]. [4]http://www.javaeye.com/[DB/OL]. [5]http://www.mastertheboss.com[DB/OL]. 题前将其抽取到的所有试题存人数据库中.一旦出现问 题.需要重新答题时.系统直接从数据库中读取试卷,避 免重新抽题对考生心理的影响 考生答题信息的及时存储.解决的办法是每当考生 【6]殷兆麟Java语言程序设计[M】.北京:高等教育出版社, 2002:1 15—132. 【7】刘永立,白地动.基于JAVA平台的网上成绩管理系统 的设计与实现 中国教育信息化,2010(1). 答完一道题.立即将该考生的答题信息暂存到数据库.当 然.这样做会在一定程度上加重网络负担.但是相对来说 (编辑:金冉) 50中国教育信息化/2011.09(高教职教)
发布者:admin,转转请注明出处:http://www.yc00.com/web/1705841867a1425269.html
评论列表(0条)