摘 要:运用Visual C++程序设计技术与SQL Server2000数据库技术相结合,开发了学生网上考试系统。根据学生考试的特点和学校的实际情况,网上考试系统中设置两种用户,分别是学生和教师。学生进入考试界面抽取试卷、网上考试、交卷、查看成绩。教师进入后台可以设置试卷科目和考试的试题、查看学生的考试成绩和各题得分,以及进行学生成绩的统计、学生的信息管理等,实现了教考分离以及考务工作全自动化管理,在一定程度上减少了影响考试的人为主观因素,同时减少了教师的工作量。
关键词:网上考试; 数据库; 试卷; 题库
随着计算机网络技术和网络教育的不断发展,传统的基于纸笔的考试形式已不能适应现在的教育发展需要,而网络考试则是一个很重要的发展方向。网络考试是传统考试的延伸,它充分利用了数据技术,大大简化了传统考试的过程,提高了教学的灵活性,是电子化教学不可缺少的一个重要环节。网络考试系统具有很大的优势:考试时间和地点灵活,考生可以在规定时间段内的任意时间参加;网上考试阅卷快,系统可以在考试结束时当场给出考试结果;计算机判卷,避免人为错误,又节约成本,并且缩短传统考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷这个漫长而复杂的过程,使考试更趋于客观、公正。
1 系统分析
网上考试基于网络环境,试卷应该从服务器的数据库中抽取试题生成。另外,考生选择答案提交后,应该由计算机自动阅卷,得到成绩后显示出来;其次,应该能够方便、快捷地对网上考试系统进行后台管理。如图1所示系统功能需求图。
2 系统设计
2.1绘制用例图设计系统功能
考生登录客户端考试系统后,可以抽取试卷、网上考试、提交试卷,之后还可以查看本次考试成绩,如图2所示学生用例图。教师作为考试系统进行管理员,在考试系统后台可以对考试系统进行试卷管理、试题库管理、学生信息管理、成绩管理,如图3所示教师用例图。
2.2 系统流程图
进入本系统需首先选择登录身份,如果是学生登录,则验证成功后进入考试系统答题或者查询成绩;如果是教师登录,则登录成功后会进入系统管理界面,网上考试系统流程图如图4所示。
3 数据库设计
网上考试系统中对数据的安全性和稳定性要求较高,因此采用SQL Server2000作为本系统的数据库。
3.1数据库需求分析
通过上述对系统设计分析,根据网上考试系统的需求,共需创建以下信息:
(1)考试信息表:用来记录考试信息;
(2)客观题信息表:用来记录客观题信息;
(3)主观题信息表:用来记录主观题信息;
(4)考生信息表:用来记录考生的基本信息;
(5)客观题临时表:用来记录考生抽取的客观题;
(6)考生主观题做答表:用来记录考生主观题作答信息;
(7)成绩信息表:用来记录考生的成绩;
(8)教师信息表:用来记录教师的基本信息。
3.2 数据库表之间关系
根据前面对数据库的需求分析,创建8个表的关系图,如图5所示。
4 系统的实现
4.1登录模块设计
系统主框架是使用MFC创建向导创建的基于对话框的应用程序,根据用户的身份(考生或教师)构建两种不同的主界面窗口。系统启动时,首先弹出登录对话框。只有输入正确的用户类型、用户名和密码后,才能进入系统。
4.2 考生考试模块设计
考生考试模块主要窗口包括答题主界面窗口、选择试卷对话框和考试结果显示对话框,主要功能包括选择试卷、显示试题、答题、交卷、查看考试结果等。
4.2.1 答题主界面窗口
答题主界面窗口对应的对话框类为CExanSystemDlg。当登录用户的权限为学生时,系统就会创建答题主界面窗口。在窗口初始化时,首先弹出试卷选择对话框,选择考试试卷,然后显示答题主界面窗口。此时,主界面窗口显示的。该试卷的第一题及答案选项。
4.2.2 选择试卷对话框
考生登陆系统后,弹出选择试卷对话框。该对话框实现的功能是通过下拉列表框列出所有试卷供用户选择,用户选择后,将该试卷的ID及第一题的题目传递给答题对话框。选择试卷对话框对应的对话框类为CExamInfo,在其初始化函数onInitDialog中,从subject表中查询所有试卷名称,并将其添加到对话框的下拉列表框中。
4.2.3 考生答题模块
考生答题对话框创建完毕,考生就可以实现答题了。答题操作是通过单击相应的单选钮实现的,考生答题时,从第一题开始依次作答,在完成当前试题后,可以通过单击“上一题”和“下一题”按钮,遍历作答考试试题。
4.2.4 考生交卷模块
考生在以下3种情况下可以实现交卷操作:(1)考生答题做到最后一题单击“下一题” 按钮,系统弹出提示 ,询问是否交卷,此时可实现交卷操作; (2)考生单击“交卷”按钮,则实现交卷操作,退出考试;(3)考试时间到,自动实现交卷操作,退出考试。答题结束后,考生提交试卷,系统会弹出考试结果对话框,通过列表框的形式显示考生的答题状态和最终得分。
4.3 教师试题管理模块设计
教师可以通过试题管理模块对试卷、试题进行管理和维护,能够实现查看试卷和试题、增加或删除试卷以及增加、删除和修改试题等操作。
4.3.1 教师后台管理对话框的创建
教师后台管理对话框对应的对话框类为Cback,当登录用户的权限为教师时,系统就会创建教师后台管理对话框窗口。在教师后台管理对话框中,包含了一个标签控件,用于试题管理、学生信息管理、成绩查询标签页创建。其中,标签页的创建是在Cback类的初始化函数OnInitDialog中实现的。
4.3.2 试题管理标签页窗口的创建
试题管理标签页窗口对应的对话框类为CTertManage ,在树形控件中,显示试题科目,而在列表框中,则显示该试卷包含的试题和试题答案。通过对话框下方的功能按钮,实现对试卷和试题的操作。
4.3.3 增加、删除试卷
要添加考试试卷,教师只需单击“增加试卷”按钮,将弹出“新增试卷”窗口,在窗口中输入新增试卷的名称后,单击“增加”按钮,即实现了向数据库中添加试卷,“增加试卷”按钮的响应函数为ObAddsubject。教师如果要删除试卷,只需要在树形控件中选中试卷,然后单击“删除试卷”按钮,按钮的响应函数为ObDelsubject。首先获得要删除试卷的名称(即树形控件选中节点的标题),而后通过Delete语句删除Subject表中该试卷的记录即可。
4.3.4 增加、修改和删除试题
(1)增加试题。要为考试试卷增加试题,教师只需要单击“增加试题”按钮,将弹出“新增试题”窗口,在窗口的下拉框中选择试卷,输入试题题目、答案选项、正确答案及分值后,单击“增加”按钮,即实现了试卷中添加试题。
(2)修改试题。教师要修改试题,只需在列表框中选中要修改的试题,单击“修改试题”按钮,即弹出“试题修改”窗口,在窗口可以修改题目和答案。“修改试题”按钮响应函数为OnChange。
(3)删除试题。教师要删除试题,只要在列表框中选中要删除的试题,单击“删除试题”按钮,即可删除试题。“删除试题”按钮响应函数为OnDel。
4.3.5 学生信息模块设计
教师在学生信息管理标签页中,可以添加、修改、删除学生的基本信息。
4.3.6 成绩查询模块
教师可以通过考生成绩查看模块查询所有考生的考试成绩,并可按照分数进行查询操作。
(1)考生成绩查询窗口的创建
考生成绩查询窗口标签页对应的对话框类为CResultSelect,窗口创建时,在列表框中列出所有考生的成绩。
(2)成绩查询功能
在考生成绩查询窗口中,教师可以查询大于或者小于某一成绩的所有考生成绩记录,“查询”按钮的响应函数为OnSelect。
该系统是面向学校以及社会各种形式的网上考试,所以所设置的模块基本可以满足考试的要求。本系统使用身份验证机制,能更好地保护页面防止非法访问。考试结束后,客观题部分由系统自动阅卷,主观题部分由教师网上阅卷后提交成绩,系统对两部分成绩汇总后存入数据库中,提供学生查询成绩。系统不足之处是:现在的系统只限于客观题的自动阅卷,主观题需教师手工完成,离全面自动阅卷还有一定的差距。因此,在今后的工作中,需要不断完善该系统,让系统功能更齐全,更利于学生与老师之间的交流。
参考文献
[1] 张莉, 王强, 赵文,等. SQL Server数据库原理及应用教程[M].北京:清华大学出版社,2003.
[2] 吴俊良.管理信息系统开发与应用[M]. 北京:科学出版社,2006.
[3] 丁贵广,郭宝龙.ASP动态网站建站实例与技巧[M]. 成都:电子科技大学出版社,2001.
[4] 思志学.程序天下J2EE[M].北京:电子工业出版社,2008.
[5] 雷进辉,范秀平,高守传,等.Visual C++项目开发案例精粹[M].北京:电子工业出版社,2010.
[6] 刘锐宁,梁水,李伟明.Visual C++项目开发案例全程实录[M].北京:清华大学出版社,2011.
[7] 王改书,胡书敏.Visual C#2008程序设计与项目实践[M]. 北京:电子工业出版社,2011.
[8] 王小科,吕双.C#开发典型模块大全[M].北京:人民邮电出版社,2010.
[9] 吴明辉,胡煜,窦亮.ASP网络办公室商务应用系统开发实例导航[M]. 北京:人民邮电出版社,2003.