基于VFP的计算机应用基础考试系统设计与实现
2019-09-26邵士媛王艳萍
邵士媛,王艳萍,李 咚
(郑州铁路职业技术学院,河南 郑州 451460)
VFP是Microsoft公司推出的最新可视化数据库管理系统平台,是目前最快捷、最实用的数据库管理系统软件之一[1]。VFP 9.0增强了设计器的功能,比如窗体设计器、菜单设计器、查询和视图设计器等,使得用户界面极其友好,具有良好的兼容性和较强的安全性[2]。
1 系统总体结构
计算机应用基础考试系统,是一个用数据库管理系统Visual FoxPro 9.0开发的考试管理系统,总体结构如图1所示。
图1 系统总体结构
考生登录考试系统后,根据组卷规则从题库中随机抽取试题,考生可在限定的90分钟内进行五个模块(理论选择题、Windows操作、录入测试、Word、Excel)的测试,其中录入测试模块须在10分钟之内完成。每个模块均有各自的评分系统,并可反复多次评分,还提供相应的正误说明。评总分则是在退出考试系统后进行,只能评一次,不能修改。
1.1 考生登录系统
考生必须以合法有效身份登录,比如,输入准考证号(即学号),系统会显示其姓名、身份证号并核对,如果有误,系统会提示错误,要求重新输入。
1.2 抽题组卷系统
考生每次正确登录后,将清空上一次登录的所有文件,这样可避免试题与答案评分不一致的现象。从题库中随机抽题组卷,重新生成考生文件夹和试题文件。如果在考试中途因机器故障或其他原因须重新进入考试时,考生已完成的部分模块可以不必重新抽题重做,而是直接利用模块评分,重做其他模块即可。
1.3 试卷评分系统
评分系统是最关键部分,将评分分为两类,一类是模块评分,一类是评总分。模块评分可以用于学生练习,边练边测边发现错误点,在更正的过程中能更准确地掌握知识点。总分评定则用于最终考试,得出总分后将退出考试系统结束考试。
2 系统功能设计与实现
2.1 数据库设计
主要的数据库表如下:
(1)考生登录信息表主要字段有:考生考号,考生姓名,身份证号。
(2)理论选择题信息表主要字段有:题目套号,题目题号,题型编号,考试题目文本,四个选项,答案。
(3)汉字录入题信息表主要字段有:题目题号,考试题目文本。
(4)Windows操作题信息表主要字段有:题目题号,考试题目文本,创建命令行文本,评分命令行文本,分数。
(5)Word操作题信息表主要字段有:题目题号,考试题目文本,题目标准答案代码,程序入口文件。
(6)Excel操作题信息表主要字段有:题目题号,考试题目文本,题目标准答案代码,请求程序入口文件。
2.2 功能模块设计与实现
(1)模块随机抽题组卷功能
从五个功能模块的题库中,随机抽取题目并随机组合成试卷,是考试系统最关键的问题。以Word操作题为例,用VFP设计的程序如下:
PYTHSELE = MOD(INT(RAND() * 1000),100) + 1
PYTHWIN = MOD(INT(RAND() * 1000),100) + 1
PYTHWORD = MOD(INT(RAND() * 1000),100) + 1
PYTHDZ = MOD(INT(RAND() * 1000),100) + 1
PYTHEXL = MOD(INT(RAND() * 1000),100) + 1 &&利用随机函数抽取五个模块题目
DO CR_WORD &&运行WORD模块测试程序
当抽到题目后,需将包含题目要求的文本文件和指定的.docx文档显示出来,显示.docx文档代码为:
OLE2 = CREATEOBJECT(’WORD.APPLICATION') &&创建WORD对象
OLE2.WORKBOOKS.OPEN(FNAME) && 打开文档文件
OLE2.VISIBLE = .T. &&设置WORD对象可见
(2)窗体菜单功能
窗体菜单实现了两级菜单功能,选择“考试项目”菜单,其二级菜单有“选择题、汉字录入、Word题、Excel题”四个标题项目,可以进一步选择进入。用VFP设计的程序如下:
……
DEFINE MENU (M.CMENUNAME) BAR IN (M.OFORMREF.NAME)
DEFINE PAD _0CX05OG75 OF (M.CMENUNAME) PROMPT ’考试项目( DEFINE PAD _0CX05OG76 OF (M.CMENUNAME) PROMPT ’评分( DEFINE PAD _0CX05OG77 OF (M.CMENUNAME) PROMPT ’帮助( ON PAD _0CX05OG75 OF (M.CMENUNAME) ACTIVATE POPUP (A_MENUPOPS(1)) ON PAD _0CX05OG76 OF (M.CMENUNAME) ACTIVATE POPUP (A_MENUPOPS(4)) ON PAD _0CX05OG77 OF (M.CMENUNAME) ACTIVATE POPUP (A_MENUPOPS(5)) DEFINE POPUP (A_MENUPOPS(1)) COLOR SCHEME 4 SHADOW MARGIN RELATIVE DEFINE BAR 1 OF (A_MENUPOPS(1)) PROMPT ’选 择 题’ DEFINE BAR 2 OF (A_MENUPOPS(1)) PROMPT’汉字录入’ DEFINE BAR 3 OF (A_MENUPOPS(1)) PROMPT ’Word 题’ DEFINE BAR 4 OF (A_MENUPOPS(1)) PROMPT’Excel 题’ …… 评分系统是整个考试系统最重要的部分。对于客观选择题,评分系统根据评分标准会自动、准确、迅速地评出相应的成绩;对于主观操作题,评分系统将考生操作的答案与程序中用答案关键字组成的数据组进行比对,如果一致,就认为考生操作正确[3]。 评总分与模块评分的区别主要表现在退出方式上,在评完总分后界面不能再进行操作,并且分数始终显示在屏幕上,用VFP设计的程序如下: IK=1 DO WHILE IK=1 AAAA=’选择题部分:’+STR(FS_SELE,2)+’分’+CHR(13)+’打字题部分:’+STR(FS_DZ,2)+’分’+CHR(13)+’操作题部分:’+STR(FS_WIN,2)+’分’+CHR(13)+’Word题部分:’+STR(FS_WORD,2)+’分’+CHR(13)+’Excel题部分:’+STR(FS_EXL,2)+’分’+CHR(13)+CHR(13)+’总分:’+STR(FS_SELE+FS_DZ+FS_WIN+ FS_WORD + FS_EXL,3) + ’分’+ CHR(13) IF MESSAGEBOX(AAAA,0)=1 IK=1 ELSE IF INKEY(0)=27 QUIT ELSE IK=1 ENDIF ENDIF ENDDO INZF=.F. PFBZ=.F. ON SHUTDOWN 计算机应用基础考试系统通过计算机限时考试、随机出卷、机器阅卷、自动评分及统计,实现了对学生的理论知识和上机实际操作能力的考核,增强了考试的全面性和客观性。同时,开放的系统还可以随时更新题库,大大提高教师的工作效率。2.3 评分设计与实现
3 结语