苏少禧
(广东省商业职业技术学校,广东 广州 510360)
随着个人电脑的普及以及信息技术的发展,无论是社会对人们的电脑操作熟练程度还是企业对员工的办公软件操作水平都要求越来越高,为了适应这样的要求,基本上中等职业技术学校都会开设《计算机基础》作为必修课,以让学生在校期间能熟练掌握电脑的基本操作和办公软件的使用。电脑操作最基本一点就是文件夹的操作,办公软件的使用则主要是Word、Excel和Powerpoint三个软件的使用。
办公软件的教学,大部分的中职学校都是分成若干个学期来学习,如第一学期学Word、Powerpoint模块,第二学期学 Excel、Internet模块。那在第一学期和第二学期考试时考核的模块就不一样了,目前多数考试系统一般都没有具体做到考试模块的可选性;无论你要考什么,系统都是固化地由理论、文件操作、Word、Excel、Powerpoint、Internet几个模块里抽题组成试卷,这样难以符合现实的教学进度,而且试卷回收后,基本上还是需要教师手工改卷,也不提供试卷的评估分析。
针对以上不足和根据现实的教学需要,有必要开发一套办公软件无纸化考试系统,以更好地提高教学质量和效果。
目前常见的客户-服务器体系结构分为两种,一是B/S模式,即基于Web的浏览器-服务器体系;二是C/S模式,即客户机-服务器体系。
B/S模式是通过互联网进行信息传输, 因此它完全突破了时间和空间的限制。但这种方式依赖于浏览器和专用的服务器,必须以HTML语言为基础,只能按页面传输。
C/S模式可分为两层C/S模式和三层C/S模式,三层C/S模式包括数据服务器、应用服务器和客户机三个层次。数据服务器存储和管理被整个系统共享的数据,提供对这些数据进行查询、更新、一致性维护等操作的服务。应用服务器提供按照应用系统需求和业务逻辑进行业务处理服务。客户机层处理与用户的交互,并请求应用服务器提供给服务,完成用户所要求的业务处理。由于应用系统主要的业务逻辑都由应用服务器上的服务来实现,优点是实时性较高,传送速度较快,不足之处是软件升级不方便。
由于考试一般都是局限在学校机房,所以,系统结构体系采用三层C/S模式。结构图如图1所示。
图1 系统体系结构
系统的功能分布在服务器端与客户端上,在服务器端设置面向教师的功能, 在客户端设置面向考生的功能。
服务器端功能逻辑上分成四大模块:基本信息管理、试题管理、考试管理和自动阅卷,如图 2所示。下面介绍这四个模块具体功能。
(1)基本信息管理模块:①登陆验证,对用户身份进行管理,服务器端接受用户登录的请求并进行认证、记录用户的一系列信息以供其他模块认证和身份确认使用;②用户管理,用户权限管理主要完成系统用户的添加、删除、修改以及用户权限的设置、用户密码更改等功能;③学生信息管理,对考生的基本信息进行添加、删除、修改等操作。
(2)试题管理模块:对试题库中各类型模块的试题进行添加、删除、修改等操作。
(3)考试模块:①试卷发布管理,选择考试内容模块,如 Word、Excel、Powerpoint等,选择考试班级和批次、选择试卷保存的目录;②考试监控,查看当前考试情况,如考场里已领取试卷情况,已提交试卷情况,处理考生考试过程中出现的异常情况;③试卷回收,把已提交的试卷按照一定的格式压缩汇总。
(4)阅卷模块:自动查阅考生的试卷,根据参考答案,给出评分以供查看。
图2是系统结构和各功能模块图:
图2 服务端功能模块图
客户端(学生端)的功能包括:登陆、领取试卷、提交试卷、生成试题答案。如图3所示。
图3 客户端功能模块图
系统主要需求体现在教师能通过登陆后修改试题库里的试题,设置试卷参数后发布试卷,回收试卷后自动阅卷产生成绩;学生通过登陆后领取试卷考试,考试完毕后提交试卷,最后查看成绩。
根据以上分析,使用 E/R模型作为概念设计的工具。整个系统的E/R图如图4所示。
图4 E-R图
根据以上E-R图,转换为关系模型如表1至表10所示。
(1)教师信息表
表的结构如表1所示:
表1 教师信息表
设计说明:在设计教师信息表的时候,预留了系统的扩展需求,增加了级别字段,主要是考虑到以后用户也许提出这样的要求:在教师里面要分级别,考试人员有权力发布回收试卷,监控考试,但不允许增加、修改试题库的试题;有权力修改试题的老师则不允许发布试卷,防止考试的不公平性。
(2)试题库表
表的结构如表2所示:
表2 试题库表
设计说明:Test_Mo_ID是指考试模块ID,考试系统的模块包括理论题、文件操作题、Word、Excel、Powerpoint和Internet。Test_typ_ID为考试题型ID,如Word模块中,考试的题型就有文字设置题、表格题、段落修饰题、页面设置题、图片排版题;Sub_code为题号,属于自动编号,为主键,主要作用是因为题库里面包含了所有试题,为了区分唯一性,就用自动编号为主键,当用随机算法抽题时,不会因为题号的一致而导致抽到重复的题目;Sub_cont为试题的题目;Score为该题目的分值;Sour_file为该题目所要提供的资料文件,如Word、Excel、Powerpoint、文件夹操作等试题,就需要提供资料文档;Key_file为答案文件,主要作用是系统要从答案文件中提取出关键考点,如考Word字体设置题,系统就需要从答案文件中提取出标准答案的设置值;Key为该题答案的关键值,保存系统从答案文件中提取出来的标准答案值。
(3)考试模块表和考试题型表
考虑到用户使用方便,需另外设计两个表,用来保存考试模块和考试题型的中文名称,因为从表 3-7可知,考试模块ID和考试题型ID都是用编号来表示,如考试模块ID为1000表示理论题,ID为2000表示文件操作题,ID为3000为Word操作题……;考试题型ID也一样,如ID为3001表示Word操作题的字体设计,ID为3002的表示Word操作题的段落设置……这样对用户来说比较难记,所以要设计两个表来存储和表达,结构分别如表3和表4所示。
表3 考试题型表
表4 考试模块表
(4)试卷表
表的结构如表5所示:
表5 试卷表
设计说明:试卷的结构基本上和试题库的结构一致,只是增加了Paper_ID(试卷号)。试卷号的值其实就是学生的准考证号。这个表是一个临时表,在发布试卷的时候会生成,当考试结束后,阅卷时会从这表读取试题的参考答案,与考生的答案比较,实现阅卷效果。在下次发布试卷时,表里面的内容先会清空,然后再生成新的试题。
(5)学生信息表
表的结构如表6所示:
表6 学生信息表
设计说明:Test_ID为准考证号,是考试时唯一的;Stu_ID为学生的学号,之所以还保留学生的学号,是为了和学校现有的校园网对接上,现有的校园网,学生的学号是唯一的。但为什么又不用学号作为学生的准考证号?主要是考虑到要是考试场次不止一次,那就可以从准考证号中读取出考试场次,从而区分出学生是否在本次考试中,防止学生作弊。Class字段主要是为了在考试发布时,方便老师选择学生,因为在现实教学中,都是整班教学,考试的时候,座位安排也是按照整个班级编排的。
(6)考试状态表
表的结构如表7所示:
表7 考试状态表
设计说明:考试表主要是记录学生考试过程的一些基本信息,Test_ID为学生的准考证号;Paper_ID记录学生领取了哪套试卷;Get_Paper_Tim记录学生领取试卷的时间,从而计算学生剩余考试时间;Pos_Paper_Tim记录学生提交试卷时间;Stu_Name记录学生姓名;Log_Pc_name记录学生登陆所用的电脑名,这样方便监考人员快速找到该学生的位置。该表的内容会在试卷发布前清除,以保存最近一次考试状态。
(7)答卷表
表的结构如表8所示:
表8 答卷表
设计说明:该表保存学生考试结果,Stu_Key保存从学生答题文件中提取出来的关键属性,以便与标准答案比较,从而得到评分。
(8)成绩表
表的结构如表9所示:
表9 成绩表
设计说明:成绩表是通过考试系统的阅卷功能,从答卷表、试卷表、试题库表、考试题型表和考试模块表得来。Score保存的是一小题的分值,并不是总成绩,所以,总成绩还需要把各小题分值相加才能得到。
(9)考试参数表
表的结构如表10所示:
设计说明:考试参数表是保存发布试卷时的参数,Server_dir是保存试卷发布所存放的目录,该字段的作用是当学生端登录后,从该表中读取出试卷目录,然后通过 FTP读取相应以准考证号为文件夹名的目录内容(试卷);Test_ord是保存当前考试的批次,该字段是用来验证当前准考证号有效性条件之一,主要是考试安排时已经安排好学生所参加的考试场次,这可有效防止学生随意考试,而导致机房电脑不足或过多。Test_tim则保存改次考试的总时间。
各功能模块与数据库中的表对应关系如表11所示:
表11 各功能与相对应的表
(1)试题管理模块
试卷管理模块的功能主要是对试题库中的试题进行增加、删除、修改管理。其中,试题中的考试模块分为理论题、文件夹操作题、Word、Excel、Powerpoint、Internet,每个模块的试题保存要点会有所不同,保存和管理难度也不一样。如理论题相对容易,只要保存好题目和正确答案就可以了。而 Office软件的操作题就相对困难多。下面以介绍 Office试题的管理为主,介绍其实现算法。
Office软件操作内容比较多,考点也比较多,而且Office软件内容的读取比较麻烦,为了实现起来简单,特把Office中各软件的考点逐一区分出来。以Word为例,Word的考点包括字体格式的设计、表格操作、图片设置、页面设置、段落设置……编辑试题时,每一个考点就作为一类题目。对该题目的增加、删除、修改功能流程图分别如图5所示:
图5 增加功能流程图
流程图说明:提交试题内容包括题目、所属模块、所属题型、分值、源操作文件、标准答案文件,分别对试题库表中的 Sub_cont、Test_Mo_ID、Test_Typ_ID、Score、Sour_file和Key_file字段;所提交内容齐全后,根据所属模块和所属题型从标准答案文件中提取出相应的形式化答案,如模块为Word、题型为字体格式设置,则从标准答案文件中提取出形式化答案:%字体%颜色%字号%加粗%倾斜%,其中,“%”为各关键点之间的分隔符。若有以下形式化答案:%宋体%#000000%小四%1%0%,则对应表示该段落的字体设置为:宋体,黑色,小四号,加粗(1表示要加粗,0表示不加粗),不用倾斜(1表示倾斜,0表示不用倾斜),然后把形式化答案和试题内容写入到试题库表中。
对于不同的考试模块、题型,提取出来的内容是不一样的。如Word表格操作中,提取的内容就包含有:行数,列数,行高,列宽,单元格对齐方式,边框,边框大小,边框颜色,边框样式……Word图像设置就包含:图像宽,高,离页面左边的距离,离页面顶端的距离,围绕方式。
对于Word试题模块的管理功能用伪代码可表示为:
If 试题内容齐全 then
Case 试题类型 of
Case 字体格式设置
读取答案文件的文字格式(字体、字号、颜色、加粗、倾斜)并保存为形式化答案
Case 段落设置
读取答案文件的段落格式(对齐方式、缩进、间距、行高、特殊格式……)并保存为形式化答案
Case 表格操作.
读取答案文件中表格相关属性(行数,列数,行高,列宽,单元格对齐方式……)
并保存为形式化答案
Case 图像设置
读取答案文件中图像相关属性(图像宽高,在页面的位置,围绕方式……)并保存为形式化答案
Case页面设置
读取答案文件页面相关属性(纸张大小,上下、左右边距,页眉,页脚,装订线……)并保存为形式化答案
……
End Case
把答案和试题内容写入试题库表中
End if
对于试题管理的另外两个功能:修改和删除,修改的流程和增加的流程差不多,修改时只是要对形式化答案重新再生成一次,并保存;而删除功能则是简单的数据库删除数据操作。
(2)试卷发布功能
试卷发布功能主要是指根据选定的考试模块、学生生成试卷,并把试卷放在指定的目录下,以提供学生读取。
主要流程是:根据所选定的考试模块,在试题库中随机抽取相应模块的试题,组成一份试卷,并用学生信息表中的准考证号作为试卷编号,在服务器指定的目录下创建以准考证号为名称的目录,把试卷存放在里面。如有一个学生的准考证号为 1001009051001,服务器指定保存目录为 d∶ 905HS,系统要自动生成试卷,试卷号为1001009051001,并把试卷保存到d∶ 905HS1001009051001目录下,以便学生领取试卷。
算法用伪代码可表示如下:
If 考试参数设置齐全 Then
For 每一个学生 Do
For 每一个考试模块 Do
For 模块中每一个题型 Do
随机抽取该题型中的一道题目
把题目保存到试卷中
把该题其它信息(所属考试模块、考试题型)保存到参数文件
Next 题型
Next 模块
以该学生的准考证号为试卷的编码,在相应的目录下生
成试卷内容(试卷题目、试题参数、所需源文件)
Next 学生
End IF
(3)试卷回收功能
试卷的回收功能主要是指对学生提交的试卷按照特定的格式压缩、保存,以便日后复查的需要。
主要流程是:根据学生登录领卷的情况,把未在本机房参加考试的学生的目录删除,然后根据监考老师填写的考场纪录和签名生成监考情况文件,最后把试卷发布所在的目录压缩保存。
算法用伪代码表示如下:
If 考场信息不完整 Then
重填考场信息
Else
生成考场记录,并保存到试卷回收目录下
读取试卷回收目录下的文件夹
While 文件夹不为空 Do
If 该文件夹的学生未参加考试 Then
删除该文件夹
End If
读取下一个文件夹
End While
按照格式压缩试卷回收目录
End If
(4)自动阅卷功能
自动阅卷功能主要作用是能根据给出的标准答案,批改学生所提交的答案,再给出得分,并保存在成绩表中。
主要流程是:对于答卷表中的每一条记录,得到学生提交的试题和答案,再从试题库中找到相应试题的答案,对两个答案进行比较,算出得分,最后保存到成绩表中。
主要算法用伪代码可表示为:读取答卷表中的首记录
While 当前记录不为空 Do
读取当前记录中学生所提交的答案
根据当前记录中题号从试题库表中读取相应的标准答案和分值
比较两个答案的准确度,参考分值计算出得分
把得分保存到成绩表中
读取下一条记录
End While
其中:计算得分是根据形式化答案来判断学生答案的准确性,如Word中字体格式设置中,标准答案为%宋体%#000000%小四%1%0%;而学生提供的答案为%宋体%#000000%小四%1%1%;则比较出来是对了4个,而错了1个关键点,相似度为80%,如果该小题的分值为5分,则学生的得分就是5*80%=4分。最后,把得分保存到成绩表中。
(1)学生登录功能
学生登录功能主要是验证输入的准考证号是否为有效号码,如果是第一次登录,记录登录的时间和电脑名。
流程是:学生端提交准考证号,到服务器进行验证,如果是有效证号并且是第一次登录,则在服务器端记录登录的时间和所用到的电脑名,以方便后期管理。如果不是第一次登录,则读取相关信息。
(2)学生领卷功能
学生领取试卷功能主要是学生成功登录后,通过FTP,在服务器端领取属于自身的试卷到本地电脑目录下。
流程是:通过验证成功登录后,读取服务器端的考试参数表,得到试卷发布的目录和考试时间,然后通过FTP,把试卷发布目录下,以相应准考证号为名的文件夹拷贝到本地电脑上。最后读取服务器端的当前时间,并把时间保存到考试状态表中。开始计时考试。
(3)学生考试功能
学生端的考试功能主要是把试卷的题目显示出来,并提示剩余时间。
(4)提交试卷功能
提交试卷功能的主要作用是对学生的答卷文件提取出形式化答案,提交到服务器端的答卷表中,并且通过FTP,把学生试卷目录传到服务器端相应的目录下。
流程是:读取试卷参数文件,对于Office软件的操作题,根据参数文件中的考试模块、题型对学生的答卷提取出形式化答案,把结果保存到服务器端的答卷表中;再把学生答卷目录通过FTP,传到服务器端试卷发布目录下相对应的目录。最后修改服务器端考试状态表中的提交试卷时间。
系统的设计能较好地解决了组卷无法选择考试模块的问题,能让考试与教学进度相一致,试题的管理功能能让老师根据学生的具体能力,修改试题的难易度;自动阅卷功能更能减轻老师繁重的改卷工作,并以形式化答案的方式,较好地解决了办公软件操作题如何改卷的问题,并为老师提供了试卷分析,更方便了解学生对知识的掌握程度;试卷的发布与回收采用 FTP方式,速度更快,稳定性更好。不足之处在于采用了 C/S三层模式,在互联网上使用不方便,客户端的更新较为困难。
[1] 刘胜珍.谈计算机基础教学改革[J].电脑知识与科技,2010,6(2):365-366.
[2] 苗雷兰,刘瑞新,宋歌.数据库系统原理及应用教程[M].机械工业出版社,2008.
[3] 李菲.考试系统中Excel操作题自动阅卷的实现[J].辽宁师专学报,2009.11:46-97.
[4] 李桂英.叶惠文.柯铭健.计算机文化基础无纸化考试系统的设计与实现[J].现代计算机,2007.251:60-63.
[5] 李乐茹.在线考试系统题库组卷算法设计[J].福建电脑,2009,1:66-67.
[6] 曹志宏.计算机信息技术网络化考试系统的设计与实现[J].应用科技,2009:108-109.
[7] 李丁.计算机考试系统中自动评分策略的研究与实现[J].计算机与现代化,2002.9:56
[8] 李桂成.张永奎.闰锐.Word操作题自动阅卷的设计与实现[J].计算机工程与设计,2002.23:29-33.