基于XML的WEB程序设计考核系统
2013-01-10王大东英昌盛王洪君
王大东,侯 锟,英昌盛,吕 凯,王洪君
(吉林师范大学 计算机学院,吉林 四平 136000)
在最近十几年中,万维网(World Wide Web)使人们的日常生活发生了翻天覆地的变化,从新闻、娱乐到购物,人们已经习惯于利用Web做各种事情.掌握Web基础知识及Web程序设计技能已成为计算机及相关学科本科生的必备素质.Web程序设计课程在整个计算机教学体系中所占的地位日益重要,Web程序设计能力已成为计算机相关专业学生核心专业能力之一.由于Web程序设计涉及Html、Css、Javasript、Dom编程等多种语言和技术,学习Web程序设计必须进行大量的编程练习、页面制作练习.Web页面设计涉及的语法多,难于记忆,浏览器的调试功能弱,传统的考试方式并不适合考核学生的Web设计能力,本文介绍一种将练习与考试相结合,基于XML的Web程序设计考核系统.
1 系统文件结构
一个典型的Web页面包括若干个文本文件(html文件、脚本文件、样式文件)和二进制文件(图像文件、音频/视频文件).考试过程中,由于考生设计的页面涉及的文件数量多,需要为每位考生创建文件夹,存储这些文件.系统在每位考生登录时,动态为其用学号创建文件夹,并将随机抽取的考试文件拷贝到文件夹下,相关文件包括:XML格式试卷文件、用户IP地址列表文件、图片文件、音频/视频文件.试卷XML格式定义如图1所示.
图1表示出了系统中使用了三种不同的试题存储形式.(1)文本试题:以图1(a)中所示的文本格式存储.文本试题库可以用任何文本编辑器进行编辑.
(2)试题数据库:SQL Server数据表字段如图1(b)所示,试题数据库内容由文本试题文件导入生成,由系统页面维护,也可以导出为文本试题.
(3)XML格式试卷.根据抽题方案从试题数据库中抽取生成.
系统使用多种形式存储试题,具有如下优点:试题库易于编辑、维护;发挥了数据库的强大功能,简化了试题统计、抽题代码量;XML格式试卷文件小,读取速度快,对服务器的压力小,使用链路带宽低,提高了服务器负载能力;考试过程中服务器不需要数据库支持,服务器易于布置.
图1 XML格式试卷
2 系统总体设计与功能
2.1 系统硬件组成
考核系统采用B/S结构模式,由客户端和服务器组成.学生的作业、试题库、考试试题、程序等都放置在服务器上.客户端只需要安装操作系统、浏览器、文本编辑器后就可以工作,简化了客户端的安装和配置过程.系统的硬件组成如图2所示.
2.2 系统功能结构
考核系统分为作业提交前端、考试前端、后台管理等部分.系统数据库采用SQL Server 2005 Express.主要包括试题库表、试题分布表、试卷库表、学生信息表、学生试卷表等(如图3所示).
图2 上机考试系统硬件组成
图3 数据表
系统用户权限分为两级:教师和学生.以教师帐号登录后进入教师后台管理,可以进行文本试题导入、学生信息导入、试题库维护、修改试题分布表、生成试卷等操作,如图4所示.
图4 系统功能图
(1)试题属性.系统定义试题属性包括知识点、题型、难度、是否包含图像、图像文件名列表、内容、答案等属性.题型包括填空、选择、判断、设计.
(2)试题分布表.试题分布表定义了某一<知识点,题型,难度>的出题数量.根据试题分布表定义数量,在满足条件的试题中随机抽取试题,最后将所抽试题转化为XML格式后生成试卷.
(3)学生信息.考试前需要先将学生信息(学号、姓名、身份证号、专业、教师)录入系统或以Excel表形式批量导入.
(4)XML试卷.XML格式试题由编号、题型、内容、答案、学生答案、分值等标记组成,其中,答案和学生答案为原始数据经过两种不同的变换加密所得结果,主观试题(设计题)答案为文件名.
(5)考试前端.考试前端本质上是一个XML文件读写器.学生通过客户端浏览器登录考试系统,经过身份验证无误后随机抽取一套试题后答题.考试开始后启动系统倒计时,计时时间为0时终止考试.客观性试题和主观性试题(操作性试题)均以Web页面形式呈现,如图5所示.
选择、判断等客观性试题答案经过变换加密后写到试卷标记中.设计题以文件形式存储在服务器考生目录中,文件名写到标记中.
(6)作业提交前端.提供文件上传功能,相当于学生维护自己的一个小网站.
3 系统实现关键技术
3.1 安全性问题
系统采取了如下安全防范措施:
图5 程序设计题
(1)防止多点登录.由于浏览器工作模式具有无状态性特点,Web服务器不记录每次访问主机信息.为防止多点登录,系统通过在IP地址列表文件中记录学生机IP地址方式防止在两台学生机上同时登录.在登录过程中,如果学生机IP地址与已记录IP地址不同,通过输入二次登录密码方式(由监考教师输入)控制登录过程.
(2)屏蔽粘贴功能.在
标记中加入屏蔽输入文本框的粘贴功能,防止抄袭.(3)降低邻座考生试卷雷同可能性.系统采取的措施包括:采用在试题数量非常大的题库中随机抽题,降低邻座同题几率;每位考生抽题时生成随机次序答案.
3.2 试题分布表生成算法
为评价出题方案的难度,设期望难度系数D为试卷所包含试题难度与该题在整个试卷中相对重要度的加权求和.
其中,d为试题难度,w为试题相对重要度.系统试题难度设为三级,每次考试后根据试题错误率与一设定阈值比较,大于该阈值,重新设定该题难度.
设P={p1,p2,…pm}为知识点集合,X={x1,x2,…xl}为题型集合,D={d1,d2,…dz}为难度集合,T={t1,t2,…tn}为试题集合,t1,t2,…tn按知识点、题型、难度升序排序.在试题分布表中定义出题数量ci,j,k,使
其中,s为试题分值.
4 结论
本文介绍的基于XML的Web程序设计考核系统(http://cst2.jlnu.edu.cn)适用性强,提高了考核的科学性和有效性.该系统在吉林师范大学计算机科学与技术专业08级试用以来,经过不断改进,功能逐渐完善.系统提高了学生的学习积极性,保证了考核的公平性和科学性.
参考文献:
[1]张萍,王建忠,周明天.基于教育网格的免疫安全考试系统[J].计算机应用,2006,26(2):349-351.
[2]梅晓勇,颜君彪,侯忠实.网络环境下的考试系统应用设计与实现[J].计算机工程与应用,2003,39(26):129-131.
[3]孙晓捷.开放式考试系统的设计与实现[J].天津理工大学学报,2010,26(3):85-87.
[4]刘相滨,阳波,王胜春,谭剑,杨铁林.基于组件的计算机考试系统研究与实现[J].计算机工程与应用,2006,42(5):210-212.
[5]刘伟,谭振江.用户与角色管理方式的研究[J].吉林师范大学学报,2012,33(3):116-118.