软件评测师考试系统的设计与实现*
2018-01-26李洪进
李洪进
(遵义医学院,贵州 遵义 563000)
一、引言
如今计算机技术已相当成熟,各个高校都已搭建校园网,能够根据学校的实际情况、教学需求以及现有的信息化设备,合理开发适合学校使用的考试系统。然而,大部分学校并没有完善的资格证考试系统,如常见的四、六级考试还是采用传统考试模式,没有合理运用好现有的设备实施,造成了一定的资源浪费。而软件评测师考试系统是针对软件测试相关课程设计的,既可以用于平时考试又能用于软件评测师资格证考试。考生能自主进行考试、查看自己的记录及成绩;后台人员不仅能编辑部门、人员信息,还可以实现考试设置、安排和成绩统计等功能。软件评测师考试系统是对以往模式的升华,考生能很灵活地参加考试,后台管理也很简单,使得考试不再那么繁杂。总之,该设计不但提高考试效率、减少工作量,还充分体现了系统的经济性。
本系统借鉴其他在线考试系统的优点,采用了自动评卷和人工评卷两种评卷方式。自动评卷针对单选题、多选题、判断题能给出正确的分数,确实高于教师的效率,但是针对一些主观的题目,例如:简述题。系统无法给出合理的分数,所以系统还设置了人工评卷模块,来提高本系统的公平性。本系统还设置了成绩统计,考试人数、已参加人数、通过率等数字来清晰地表达考生的成绩,反映教师的教学成果。教师可对试题进行添加、删除,以确保试题的完整性以及时效性。教师可以进行考试安排,安排考试所用的试卷以及设置试卷所涉及的相关信息。学生可根据教师提供的考试时间,按时登录本系统完成考试即可。可以看出,本系统无论从界面的美观程度、清晰程度,还是一些功能的完成情况,主要是站在考生的角度,尽量的满足考生的需求。希望本系统能为考生和教师带来方便。
二、系统概要及功能框架图
本系统是基于ASP.NET开发的,为软件评测师提供一个考试的平台,该系统分为四个模块:教师模块、考生模块、管理员模块和超级管理员模块。系统的功能模块如图1所示。教师组卷、评卷是本系统的重中之重,教师通过账号密码进入系统后,可查看功能介绍,其中教师模块的主要功能:题型管理、试卷管理、考试管理、成绩管理。题型管理包括五种题型,教师对试题库中的题型和答案进行添加、删除。试卷管理包括:手工选题试卷、随机抽题试卷、手工输入试卷,教师可设置已经组好的试卷,或重新添加试卷。评卷管理包括:自动评卷、人工评卷。成绩管理包括:查看成绩、成绩统计,教师可查看自动评卷的试卷。考生注册,不同角色登录,在线考试,查看记录、成绩以及部门、人员和考试管理等功能。本系统不仅能更好地方便教师组织考试,更能让组卷合理化。教师客观的批改试卷、查询成绩。
通过常见的IE、360浏览器,考试人员和管理人员就能和数据库建立连接,实现操作。考生信息的修改和在线考试等操作,只有正确登录后才能进行;考生一进入界面就可以看到相应的考试套题,供他们选择;注册用户只要输入账号、安全问题就能轻松找回自己原来的密码。同一个账号只能允许一个考生注册、登录,若已经被用过,后续考生不能再用,系统会提示该账号已被使用。考生答题完毕并提交后,就能查询自己的记录和与之对应的成绩。
管理员维护人员信息、设置及安排考试,也能实现成绩统计功能,而超级管理员还能编辑部门、添加试卷。用户身份验证,不同类型用户只能进入自己对应的功能界面,如:考试人员只能进入考生页面,查看记录、成绩和在线答题;对于数据库,只能由后台管理员来实现。
图1 系统的功能模块图
三、系统详细设计与实现
系统整体基于浏览器/服务器,前台应用Microsoft VisualStudio 2010(c#),后台采用 Microsoft SQL Server2005数据库与前台连接,建立了19张数据表,属于教师模块的有17张表。其中T_Paper表用来保存手工输入试卷的考试信息,T_PaperByManualSelection表用来保存手工选择试卷的组卷信息,T_PaperByManualSelection_Subject表用于存储手工选题试卷的试题,T_SubjectOfFill-Blank表用于保存填空题,T_Test表用于保存考生考试试卷,T_Test_Subject_Scores表用于保存考试试题及成绩,T_TestMark表用于存储成绩统计。试卷表和试题表相关联。如T_PaperByManualSelection和T_SubjectOf-FillBlank。
系统流程图如图2所示,教师通过自己的账号、密码进入系统,首先会看到本系统对教师功能的介绍,可以添加试题,或删除一些形式古板的试题。对于考试的安排,教师须先点击添加考试,选择组卷方式,如选择手工选题,点击添加试卷,针对每类题型选择试题,填写试卷名称,选择试卷所属部门,点击保存。试卷已成功保存,可以查看试卷,对试卷设置分数,针对每个题型,每个小题多少分,得出每道题型的总分,最后得出试卷总分。点击保存。
考生考完试卷后,教师点击评卷管理,教师可进行的操作有两种,分别是查看自动评卷的成绩,教师自己进行手工阅卷。首先要查看该试卷是否过期,过期了则无法继续使用,须到试卷设置界面设置其有效期。点击评卷,会显示参加该考试的考试人员、开始考试时间、交卷时间、已用时、交卷方式、已参加考试、得分、已评卷等项目。点击人工评卷进行评阅就可以了。
教师评阅完试卷后,进行成绩统计,点击成绩管理,会显示考试名称、试卷总分、通过分数、考试人数、已参加考试人数等项目,点击考试成绩,会显示考生姓名、账号、成绩等项目。点击成绩统计,显示考试名称、考试人员、通过分数、评卷人、考试成绩等项目。
图2 系统流程图
经过不断调试和测试,教师、考生、管理员、超级管理员各个子功能都能正常运行,页面间的切换速度快、功能完善、模块间衔接良好,总体上可以认为软件评测师考试系统通过了测试。
四、关键代码分析
1.考试时间监控代码
对于考试来说,时间的限定是必不可少的,因为考试不可能永久进行下去,没有一个终点,本系统使用Timer对考试时间进行了监控,主要源码如下:
代码分析:在考试时间监控代码中,Application.Lock()和Application.UnLock()基本上都是一起出现的,用来锁定Lock与UnLock之间的所有代码。利用语句DateTime now=DateTime.Now获取当前时间。用一个if句来判断考试时间是否结束,若当前时间与考试时长之差大于等于0时,则计时器停止工作。若时间结束,就会弹出警告信息,答题信息则会保存到记录表中。使用TimeSpan函数及其Subtract属性获得时间差值,再利用lblTimeLeft.Text将考试剩余时间显示出来。
2.随机组卷页面代码
该系统为了减轻教师的负担,设置了随机组卷,教师可根据自己的需求规定题型和数量,在教师界面,点击考试安排,点击添加试卷,点击随机抽提即可。保存按钮的单击处理过程如下:
首先创建试卷的对象,将输入Test控件中的数字转换成整型作为试卷的题数,创建试卷所该有的属性,例如:试卷名称、试卷所属部门、创建者、创建时间,再通过if语句来限制试卷每个题型的数量不能超过通过部门检索出来的题数即Label控件中的数字,第一个if语句判断试卷判断题的数量如果大于Label1控件中的数字,则提示“判断题的数量不能超过Label1题”,否则进行下一个判断语句,以此类推,将三类题型判断完,无异后创建试卷成功,重新返回随机抽题界面。
五、总结
本文设计并开发的软件评测师考试系统,对系统进行了详细设计和实现。最后调试与测试,确保每个功能都可以正常运行,满足用户需求,对反映教学效果,改良教学方法,提高教学品质,考取软件评测师资格证都有十分重要的意义和实用价值。该系统将无纸化考试真正运用到学生当中,给广大师生营造更加良好的教学平台。该系统同时在评阅试卷模块与其他系统也有所不同,评卷管理分为自动评卷和手工阅卷,计算机对于客观题目很难给出客观的分数,这就要求教师也可参与阅卷,以此来保证本系统的客观性以及公平性。
[1]杨光.基于B/S模式的机关在线考试系统的设计与实现[D].南京:南京大学,2014.
[2]黄海明.防舞弊在线考试系统的设计与实现[D].硕士研究生学位论文,2015.
[3]兰珊.基于.NET的在线交通常识考试系统的设计与实现[D].电子科技大学,2015.
[4]刘洋.基于ASP.NET的在线考试系统的设计与实现[J].电子制作,2015(5).
[5]廖欧.基于Web的在线考试系统的设计与实现[D].[学位论文]硕士,2015.