高校在线考试系统的设计与实现
2018-03-02王栋
王栋
摘要:目前國内已经开发出来很多类似的web在线考试管理系统,并投入了系统测试和运行,本系统结合我校的实际情况,并充分考虑其他高校考试的特点,开发了一套适用于一般高校,可以实现灵活出题策略的在线考试系统。
关键词:在线考试;考试策略;随机选题
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2018)12-0134-01
1 系统分析
1.1 系统的功能模块
在线考试系统的用户主要有管理员、教师和考生三种角色。依据角色不同,系统整体可分为三大模块。管理员拥有最高权限,对教师考生的基本信息、题库信息、试卷基本信息和试题信息进行管理。教师模块可以对试卷、试题信息管理以及修改其个人基本信息等功能。学生通过考试模块可以参加考试、查看参考科目的成绩以及修改个人信息等功能。
1.2 主要功能描述
(1)网上考试系统管理功能。系统管理员输入账号密码登入后台管理界面,管理员可以在此界面对各模块进行操作,如创建角色、分配权限、考生信息导入等,管理员点击增加试题按钮之后,页面跳转到增加页面,管理员输入相关试题或利用规定的模板文件导入信息保存即可。(2)用户个人修改功能。各类型用户登录系统界面之后,在系统右上角点击之后弹出隐藏区域,用户该区域的修改密码按钮即可跳转到修改密码界面,在此界面用户输入新密码之后提交即可完成修改密码操作。(3)教师组卷功能。教师登录系统之后,在左侧导航栏选择创建试卷后,可以设置试卷科目、试卷名称,有两种组卷方式,一种是手动组卷:教师可以从相应题库中选择不同题型的题目,设置每题分值,系统生成的试卷即是教师设置的固定题目,所有同学参加考试的考试题目都是一致的;另一种是系统随机从题库抽题:教师设置试卷各章节及每章的题量、题型、每题分值等试卷内容信息,之后确认所存信息无误之后,点击提交即可。系统依据教师设置的试卷参数,利用随机出题算法从题库中选取满足条件的题目来自动生成试卷,不同考生所答试题都不相同。(4)学生答卷功能。学生登录系统之后,通过左侧导航菜单查看试卷信息,在右侧窗口显示出在允许考试时间段内的各试卷列表,学生选择其中一张试卷点击参加考试之后,系统从数据库取出相应题目信息生成答题页面,考生在该页面作答后点击提交即可。
1.3 系统核心功能实现
1.3.1 展示层实现
展示层主要是指系统的前端界面,接收用户的操作和输入,将请求提交给控制器进行转发,并接收和显示处理结果。
1.3.2 控制层实现
控制层主要由Action类、ActionServlet类和struts-config.xml配置文件组成。系统根据struts-configure.xml中的配置将请求提交给统一的处理对象RequestProcess,RequestProcess对象将接收到请求数据封装成ActionForm对象,再调用合适的Action对象处理,最后将处理结果生成ActionForward对象返回给前端页面显示。
1.3.3 模型层实现
系统模型层由struts框架中的ActionFormBean实现,实现表单信息和业务数据在视图与控制器之间的传递,每一个请求都会有唯一的Bean对象负责对其处理,请求中传递的数据字段和Action FormBean中的属性要满足一一对应的关系。通过ActionForm的validate方法验证表单数据的有效性、合法性。
2 系统实现
2.1 考试页面
2.1.1 使用的数据库组件
考试页面主要涉及到两张表,首先是试题表。在系统考试页面里需要使用该表中的题型、试题分数、试题内容等字段,考试页面会将读取出来的这些有效信息显示给考生。考生个人信息保存在考生信息表中,试卷信息主要是试卷名称、考试时间、当前状态等字段,目的是为了控制开考和交卷状态。
2.1.2 实现技术
生成试卷的单项选择题中,对应自动抽题方式来说,特别要强调的是选题的随机算法。该算法依据教师设置的试卷题目信息表中的题型、知识点所在章节、每章题目数量、题目难度等参数,在整个试题表通过随机生成数来与对应的试题编号对应,生成一个我们需要的试题的向量表,有了上面的试题数组,接着要做的就是读取试题,显示在页面上。
2.2 批改页面
2.2.1 使用的数据库组件
试卷批改页面主要涉及考生答题表和试题答案表两张表格,页面展示方式仍使用与考生答题相类似的页面显示,在此基础之上将考生答题信息和答案表中的标准答案显示在题目后面,方便教师阅卷核对答案。试题答案表中主要有试题编号、题型、试题答案等字段,考生答题表中主要有考生编号,试题编号等字段。将自动评分结果保存到考试成绩登记表中,同时将考生的状态改为已交卷状态。
2.2.2 实现技术
这个页面所实现的功能比较复杂,涉及到多张表的关联查询,核心表是考生答题表,其中主要字段考生编号、试题编号、考生答案等,通过该表考生编号、试题编号与试题表和试题答案表关联查询,最终将题目信息、试题信息和答题信息展示到一个页面中,然后将考生答案与试题的标准答案进行对比,从而判定该题目的正确。如果正确,将正确题目的分值累加起来,总成绩后写入到考生成绩表中。
3 开发难点与解决方法
3.1 随机选题的算法
自动出题随机算法,采用教师设置的出题参数获取需要的考试题数,然后一个1~试题的总数的矩阵,再生成一个随机数,将矩阵打乱,最后按照题型和出题数量从矩阵中取出题目,该算法思想与洗牌的原理类似。
3.2 考生答案实时保存
系统是AJAX技术,当考生每次单击或填写答案时,触发对应事件,将考生所做答案实时提交到后台数据库,即保存了考生答案,同时也保证在断线或电脑意外关机的情况下,考生再次登录系统可以将已经作答试题内容读取出来,给考生提供继续考试的机会。
4 结语
在线考试系统是高校教学系统的一个重要组成部分,可以将老师从繁琐重复的出题中解放出来,将主要精力放在题库的建立上;给学生提供公平灵活的考试环境。该在线考试系统经测试后实际使用,达到预期目标,可以供数百人同时在线考试。
参考文献
[1]曾顺.精通CSS+DIV网页样式与布局[M].北京:人民邮电出版,2012.
[2]张海藩.软件工程导论[M].第五版,北京:清华大学出版社,2008.
[3]王珊,萨师煊.数据库系统概论[M].第四版,北京:高等教育出版社,2013.
Design and Implementation of Online Examination System in Colleges and Universities
WANG Dong
(Liaoning Rail Transit Vocational College, Shenyang Liaoning 110023)
Abstract:At present, many similar online online test management systems have been developed in China, and they have been put into system testing and operation. This system combines the actual situation of our school and fully considers the characteristics of other college examinations, and has developed a set for general colleges and universities. An online test system that can implement a flexible problem-solving strategy.
Key words:online exam; exam strategy; random topic