APP下载

考试系统的架构与设计

2019-10-10

科技传播 2019年18期
关键词:主观题题库答题

陈 瑜

1 应用场景

考试系统是可以在线进行试卷生成、作答、评分的系统,可以开发独立的考试系统,也可以嵌入其他应用系统中作为一个功能模块使用,相比传统的纸质考试,线上的考试系统具有节约纸张资源,可进一步进行统计汇总、大数据分析等优点。

考试系统一般用于培训考核用途,在线教育、培训机构等行业都会建立自己的考试系统,用于检验学员学习成果,另外一些企业也会在信息化建设的过程中,引入考试系统,用于员工培训考核,督促学习、巩固业务知识和检验业务水平。

除了培训考核用途外,考试系统也可用于知识推广、信息普及等用途,例如由中宣部指导开发的学习强国App 中,就有内置在线答题模块;此外,2019 年7 月1 日起,上海市正式实施生活垃圾管理条例,成为网络热点,许多微信公众号、网站也适时推出了垃圾分类考试功能,普及垃圾分类知识。

图1 宿迁广电话务员培训考试系统

图2 上海林业植物检疫云平台在线考试

2 架构设计

2.1 结构模式

根据与服务器交互的主体不同,可分为B/S 和C/S 结构模式,两种模式各有优缺点,应根据实际应用场景和需要进行选择。

B/S 即客户端浏览器/服务器模式,是Web 出现后兴起的一种网络结构模式,这种模式统一了客户端,无需在客户端另外安装部署软件,开发时也无需自行实现底层通信和协议,C/S 即客户端/服务器结构,这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。

一般远程教育、内部培训等应用场景下,因有用户使用地点、系统环境不确定的因素,选择B/S结构更为合适,而类似计算机等级考试等使用场所固定,对计算机本地资源需要有较高操作权限或者在已有客户端程序中嵌入考试模块的场景下,应选择C/S 结构。

2.2 数据库设计

数据库设计是软件开发过程中的关键环节,数据库设计的好与坏,直接影响着软件开发的质量,甚至于决定软件产品的成败,数据库的设计应在一个给定的应用环境下,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。

所以根据系统使用场景的不同,数据库的设计也不尽相同,但是同一种类型的系统还是有很多共通的理念,下面就简单介绍下实现一个考试系统一般必须要有的基本数据元素。

1)题库。题库即题目仓库,可以对试题进行分类归纳和集中管理,题库的表结构设计应只需包含题库名称、是否使用、创建和使用时间等基本信息即可。

2)题目。每一道题目应归属一个或多个题库,题目表中应存放题目的详细信息,包括题型(单选、多选、填空、简答等)、问题、参考答案等,根据需要,可以增加默认分值、题目难度、抽取权重等字段。

3)试卷。题库是试题的容器,但是一场考试不可能要求回答全部问题,好比学校中的考试,也是从题库中抽取题目,并且可以进行修改,制作成试卷,因此需要一张试卷表,和题库表类似,试卷表也只需包含试卷信息等基本信息即可,具体试卷题目应新建一张数据表存储。

4)试卷题目。试卷题目的总体结构和题目表相同,但不能直接使用题库的题目表,因为每张试卷可以根据需要重新编辑题目以及题目分值。

3)答题卡。答题卡信息包括所属试卷、答题人、总得分、开始答题时间、交卷时间等。

6)答题明细。用来记录答题人具体的作答,包括所属试卷问题、回答、得分等,根据需要可以增加批改人、批注等字段。

2.3 功能模块设计原则

1)使用方便:无论是单独的考试系统,还是嵌入其他系统的考试模块,不应在前端操作上设计过于复杂,要避免因操作原因导致对答案的判断不正确。

2)可回顾:考试的目的是为了巩固知识点和检验学习情况,因此需要给参加考试的用户能够回顾自己作答的题目,检查错误原因。

3)准确性:系统应能自动评判回答正确与否,对于主观题,可人工干预评分。

4)可维护性:管理员可以方便的导入题库,生成和调整试卷,能够对考试结果进行统计分析。

3 主要功能点设计

3.1 试卷生成

图3 宿迁广电话务员考试系统试卷生成

试卷生成可以先要求设置抽取参数,包括抽取题库、各题型数量、分值、难度分配、总分等。

设置参数校验无误后,可以进行题目抽取,因题库题目都在一张表中,因此,只需要按照设置逐项获取符合条件的记录即可。

3.2 自动批改

1)选择题。对于选择题的自动批改,最简单的即完全匹配,即使是多选题,也可以对答案进行排序后比较。

但是在实际的使用中,很多系统都要求打乱选项顺序的需求,以达到防作弊或者防止只记答案的情况,对于这类需求,也不难实现,可以在试卷生成的时候打乱选项顺序,但是选项的选中值为实际值,显示值为顺序值。

2)填空及主观题。相对于答案固定的选择题,填空及主观题的自动批改实现较为复杂,一般采用自动批改与人工验证结合的方式,因为这类题目需要参加考试的用户手动输入信息,如果是和选择题自动批改一样完全匹配的方式,哪怕是标点符号错误或者多一个空格,都会判定为错误,笔者就曾经遇到过,因为逗号的中英文区别,导致系统误判的情况。

一般可以通过模糊匹配,关键字判断的方式来实现对填空和主观题的自动批改,对填空题而言,因为字数一般较少,在进行答案比较前,可以将答案与回答中的特殊字符用正则表达式去除后再比较,对于主观题,可以设置关键字,判断回答中是否出现了全部或部分关键字进行给分。

但是以上两种方法,也不能很好的解决误判的问题,也许随着机器学习等技术的发展,日后可以通过大数据分析的方式提高准确率。

3.3 题库题目导入

数据导入的功能,不单单是考试系统,在各种类型的系统开发中是很常见的需求,可能需要从原有系统导入,也有可能需要从统一收集的材料中导入,需要实现数据导入功能,首先需要制定数据格式和规范,对于要从现有系统导入的,需要进行数据分析和适配,对于需要收集导入的,需要制作导入模板。

从中间库导入数据,可以根据使用的开发语言和环境不同,使用ADO.NET 或JDBC 等技术连接双方数据库,获取数据后,进行数据适配导入。

从Excel 导入也是很常见的方式,可以使用POI 等中间件读取Excel 文件进行导入操作。

也有需要从文本文档中或者二进制文件中读取的情况,则需要使用IO 技术,读取文件,然后对数据进行处理。

猜你喜欢

主观题题库答题
浅谈“立体几何主观题”的复习备考
浅谈高中政治“认识类”主观题答题技巧
极坐标方程主观题考点分析
邀你来答题
邀你来答题
邀你来答题
“勾股定理”优题库
邀你来答题
“轴对称”优题库
“轴对称”优题库