张景韶,周利平,冯 立
(四川广播电视大学教学处,四川成都610073)
随着计算机技术的飞速发展,计算机辅助的题库系统作为智能计算机教学系统的核心,越来越受到人们的重视.传统考试的组织管理方式不仅工作任务繁重,而且对于试卷的标准化程度、难易程度、涉及知识点的多少等问题难以进行很好地控制.如何提高教学质量,规范考试过程,尽量减少人为因素对考试的影响,使考试更具有客观性、科学性,是教育界多年来追求的目标.利用计算机自动生成试卷,并通过积累逐步形成有效的试题库,能使试题和试卷的管理变得高效而便捷,对于提高教学效率,有效利用资源和试卷管理逐步走向正规化、自动化都将起到十分重要的作用.
我们在深入调研分析现有题库系统后,结合实际学校工作的需求,讨论了网络题库平台的结构,并对网络化的题库系统进行了设计和实现.应用题库平台可以很大程度上减小广大教师在试题命制及试卷审核工作上的工作量,提高工作效率,保证试卷的质量,也带动其他与题库相关资源的建设.为此,根据广播电视大学教学资源技术标准的技术规范[1],四川广播电视大学于2010年上半年开始建设基于B/S网络模式下的网络化题库平台(Item Bank Online Platform,IBOP).
根据电大教学教务管理的实际运行模式,平台的设计思想如下:(1)平台应具有技术先进的开放结构,并能够合理地利用现有设备和存储空间;(2)人机界面清晰、友好,具备良好的可操作性和人机交互功能;(3)平台与教务数据能接口,能与其他信息系统集成及与学校已有应用系统数据耦合;(4)运行在开放的网络环境中,因此平台应提供有效的安全服务机制.
在上述设计思想的指导下,为了提高系统的封装性、科学性和可靠性,更好地复用代码,IBOP采用了基于B/S模式的四层架构[2-3],自上而下分别是界面层(UI)、业务功能层(BFL)、业务对象层(BOL)和数据访问层(DAO),结构如图1所示.
图1 IBOP的四层架构
IBOP由主控模块和多个功能模块构成,采用自顶向下的方法进行编程,每个功能模块完成其特定的工作.根据B/S模式下,按数据流划分为以下4种角色,如图2所示.
系统管理者:其主要功能是对平台管理.具体有:平台初始化、平台的运行和维护,具有定义用户和分配用户权限.
教学管理员:教学管理员主要对命题单、任务书、试卷终审、试卷抽卷进行管理.
教研室主任:主要是涉及本教研室的试卷审核工作,初审通过后提交给教学管理员.
教师用户:该用户是平台中最重要的一类用户,每门课程为一个用户,一般根据课程任务书中教师担任.其最重要的任务是建立课程题库,根据考试命题单编组试卷试题.
图2 数据流划分的角色模块研究图
1)主控模块:由主菜单及操作提示行组成,是系统的控制核心,主控模块包括系统各项菜单.用户角色不同,功能模块权限不同.
2)题库管理:包括课程题型、课程结构、试题建立等功能,题库必须是在收集和编审高质量大量实体的基础上进行,通常一个课程的试题数量不少于四、五百道试题.
3)组卷策略:能根据不同考试要求,设置组卷的参数(总分值、难度系数等).
4)题库组卷:根据用户设定的组卷策略,系统根据题库数据自动地生成一份结构良好,分布均衡合理的试卷.用户可再依据出题要求,进行手动调整.
5)命题任务:根据教务处命题通知单,设置课程与题库之间的关系.
6)试卷管理:包括试卷合成、试卷审核、试卷抽取、试卷分析、试卷打印等功能.
7)系统模块:包括用户管理、教研室管理、教师管理、系统数据维护等功能.
1.3.1 硬件安全性
IBOP基于B/S架构开发的特性使得系统可能遭到恶意攻击.系统服务器安装在学校中心机房,通过内网进行访问,这样物理上有效的避免了外网的影响.若需外网访问,则通过VPN连接建立虚拟局域网.因此,外网和内网之间的屏障非常重要,目前机房硬件为整套Cisco网络安全设备,使用Cisco ASA5520SERIES Adaptive Security Appliance防火墙以及Cisco ASA 5500系列自适应VPN,Cisco防火墙可以实现分级管理,对不同的VLAN实施不同的安全防范措施,大大提高了系统防范外界攻击的能力.每台服务器还安装了瑞星企业版软件防火墙,其出色的拦截技术能够有效防止服务器受到来自内网的各种恶意攻击.
1.3.2软件安全性
题库系统中,用户的信息安全非常重要.我们从下面四个方面来解决.
1)对关键字段加密
用户密码以密文形式存储,保证了用户数据的安全.当登录系统进行用户验证时,对用户密码加密后与数据库中的密文进行比较.具体利用ASP.NET中System.Web.Security.FormsAuthentication类的静态方法.HashPasswordForStoringIn-ConfigFile(string password,string pwdword)对字段进行MD5加密后存储起来.
2)防止SQL注入攻击
(1)替换危险字符,防止攻击者修改SQL命令的含义.我们采用SafeRequest(string str)函数在实现过程中替换危险字符.
(2)用存储过程来执行所有查询.SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击.
3)动态生成随机校验码
系统动态生成5位数字的验证码(由字母和数字组成),用户正确输入验证码才能进行关键操作.
4)做好系统日志
做好数据库操作日志,为系统安全分析提供依据.
课程章节知识点的管理和操作是题库系统的核心,包括对知识点的添加、删除、修改与移动,如图3所示.设计中,采用了课程知识节点树的方式来实现资源的管理.节点实际就是一个容器,它下面可以包涵各种设计题型.知识节点树利用节点的递归计算,利用泛型作为入口参数,可以有效避免C#编程语言的装箱和拆箱操作,并且泛型类型检查是在编译时间进行,而不是在运行时间进行的,这样就大大提高了平台的运行效率.
图3 课程章节知识点管理
为了科学组卷,题库中的单元试题具有多种属性:题型、知识点、分值等.每一项性能指标对应一个约束条件.组卷时,教师先选择题型,再为每一种题型选择一个或多个约束条件,这些约束条件的实现都通过题型的性能指标完成[3-6].假设单元试题为n维向量(试题分值为a1,难度系数为a2,课程知识点为a3,试题题型为a4,估计时间为a5,……),m为一份试卷包含的试题数目(组成试卷的试题不存在重复的现象),那么,一份试卷的m个试题,n项指标就决定了一个m×n的矩阵:
按照组卷的要求,建立数据模型,目标矩阵应满足以下的基本约束条件:
约束条件一=100,试卷100分制,用户给定的试卷分数;
约束条件三=Zj,Zj为j知识点的题分,其中当ai3=j时,C1i=1;否则,C1i=0;
约束条件四:=Qj,Qj为j题型题分,其中当ai4=j时,C2i=1;否则,C2i=0;
从上述的试卷的构成可以很容易地得知,无论试题库的结构如何,都需满足用户所给出的这些条件,或者说只要是满足这些条件的解,都是可以满足用户要求的一个解.因此,组卷算法的求解问题实质上是一个具有多个约束条件的0/1背包问题.0/1背包问题可抽象为如下的模型:
式中:m对应试题库中的单位试题的数量,n对应于每个单元试题所具有的属性类型数,aii为第i道试题的第j种属性类型所对应的属性值,bi对应于用户针对i种属性所给定的约束范围,X(x1,x2,…,xm)对应某组卷算法的一个解,其中xi的取值为0或1,当xi=1时,表示在组卷过程中第i道单元试题入选;xi=0则表示在组卷中没有选择该道试题.组卷信息数据以XML格式[7]回传给客户端,客户端解析回传数据更新页面.
试题最终以Word文档形式生成,以便教师修改及印刷制卷.因此,我们采用了SOAOFFICE中间件组件,将ASP.NET与Word很好地集成在一起,为用户提供了强大的文字处理功能.设计中运用Word Basic宏命令结合VBA技术[5],解决了自动生成的试卷还需要手工调整其格式的弊端,完全实现了试卷的全自动排版功能,输出的试卷标准如图4所示.
图4 Word的Web中间件
平台采用C#为服务器端脚本开发语言,数据库访问接口采用的ADO.NET.在对数据库的读取方式中,利用DataAdapter、DataSet、DataTable等对象,可以实现SQLServer数据库的各种操作[8].
在平台系统中,很多方法、数据是可以共享的.为了尽量减少重复开发,可以通过建立一些公共的类的方法,提供统一的数据读写方法.利用ADO.NET提供的API函数封装数据库操作类(CD-bOperHandler),实现对数据访问的方法.其中包括执行带返回值的SQL语句、执行数据查询以及一些用户控件的数据绑定,通过对这些操作方法的封装,方便开发.需要调用时,通过传递参数来选择不同的方法,进行不同的操作.
网络题库平台定位于构建题库和试卷库资源的管理与建设作为设计开发关键思想.同时,在资源的建设中引入了电大的教学与考务管理模式.因此,平台具有极强的针对性和实用性.平台采用框架结构,在网页左边的框内显示各章标题,单击章标题号后目录展开显示本章下面的节标题,如图5所示.点击节标题后,在右侧框架中显示对应页的内容.网络题库平台实现了建设管理简单、维护方便、安全可靠、兼容性强等特点,为各专业课程教师提供了易于操作与维护的工具.
图5 平台展示
本文设计的基于B/S的网络化题库平台,可动态、分布式、实时地对题库资源进行维护和管理.课题的研究方法和内容来自于教学教务管理实践,使研究的结果具有极强的针对性和实用性,符合目前学校的教学实际,具有实用价值和可操作性.文中提出的网络化题库平台建设思想,将对推动教学改革、实现教学管理的科学化、规范化起到积极的促进作用.
[1] 中央广播电视大学资源协会.广播电视大学教学资源技术标准(2010)[M] .北京:中央广播电视大学出版社,2010:68-91.
[2] 李中华.基于WEB环境的通用在线考试系统的设计与实现[J] .电子科技大学学报,2007(12):89-93.
[3] 黄江波.一种基于自适应遗传算法的统一潮流控制器[J] .重庆理工大学学报:自然科学版,2010(3):65-68.
[4] 鲁立,刘桢.基于ADO.NET在线考试意外中断处理机制的研究[J] .微计算机信息,2010(9):89-93.
[5] 李美满,夏汉铸,易德成.基于COM技术的通用考试系统的设计与实现[J] .计算机工程与应用,2007(1):245-248.
[6] 张爱文,樊红莲.自适应遗传算法用于自动组卷中的数学模型设计[J] .哈尔滨理工大学学报,2006(5):57-61.
[7] Youshikawa M,Shirnura T,Uemura S.XREL:A path-based approach to storage and retrieval of XML documents using relational databases[J] .ACM Transactions Internet Technology,2008(2):110-118.
[8] 王月敏.基于遗传算法的智能组卷系统研究[J] .云南民族大学学报:自然科学版,2009(2):36-38.