[摘 要] 根据在线考试的具体需求,采用ASP.NET技术开发在线考试系统,比较完整地实现了包括管理员角色的试题维护、试卷维护、科目维护、试卷评阅等功能;学生角色的在线考试、试卷提交、成绩查询、密码修改等功能。系统应用SQL Server数据库技术,对网上考试系统的信息进行科学地、规范化地管理。
[关键词] ASP.NET SQL Server ADO.NET 在线考试
中图分类号:TP311 文献标识码:A
本文为河南省教育厅自然科学研究项目 项目名称:计算机课程(VB/VF)无纸化考试系统的开发 项目批准编号:2007520052 项目负责人:王丽娟
传统的考试方式,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
目前校园网的发展为在各个学校内举行网上无纸化考试系统的建立提供了必要的条件。网上无纸化考试系统可以充分的发挥考试题库的作用,方便了管理部门及参加考试的学生,增强了阅卷的公正性以及成绩的准确性,可以随时产生相应的成绩统计等。
网上无纸化考试系统因其公正性、安全性、准确性、灵活性、随机性、及时性以及方便性等特点,已成为目前国际上普遍采用的一种考试和认证方式。
一、在线考试系统面临的问题
现行的各种在线考试系统大多各自实现了试题的计算机管理、抽题成卷、无纸化考试、自动判卷、对考试结果进行统计分析等各项功能的一部分或者多部分。但也都存在一定的问题和局限性。
(1)我国的专用考试系统主要针对计算机考试,其他行业和科目的考试系统太少。
(2)计算机在线考试系统由于操作类题目自动出题有较大的难度,基本没有实现题库化的管理。
(3)系统对传统的客观题虽然一般建有题库但不大,多采用随机抽题组卷的方式,缺乏教育测量理论作为依据。
(4)考试完成后,分数和试题统计分析比较简单,没有充分挖掘数据所包含的信息。
(5)通过考试系统或题库系统对最终用户(即教师)的需求分析做的不够透彻,忽略教师们渴望能自由地操纵试题库的需求,没有完全实现用户自主初始化试题库、自主维护试题库、自主调用试题库的功能,加上软件实用水平和商品化工作方面的不足。一般的在线考试系统并没有被广大教师认可和使用。
总的来说,我国在线考试系统发展比较迅速,但总体水平不高,与发达国家相比,在理论和实践上都存在一定的差距。
与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。
二、系统功能分析与设计思路
根据在线考试的特点和教师的应用需求,在线考试系统需要实现试题的计算机管理、抽题成卷、无纸化考试、自动判卷、对考试结果进行统计分析等各项功能。
根据高校管理的实际要求,结合考试管理的实际过程,系统应该具体实现以下功能:
(1)掌握考试系统范围内所有用户的基本情况,包括编号,姓名,登录口令等。
(2)基于考试系统的基本管理功能,可以提供给管理员类用户及学生类用户使用。不同的用户类型所能完成的功能不同。管理员类(即教师)用户可以创建试题、删除过期试题、进行题库维护、创建试卷以及对本系统内人员信息进行维护和更新等;学生类用户主要是参与考试,完成试卷,查询成绩。
(3)适时的试题题库更新,试题题型包括判断题、单项选择题、多项选择题等类型。试题库的更新由管理员类用户完成。学生类用户不允许对试题进行更新。
(4)试卷可由系统自动生成,也可以由管理员类用户从题库中选择试题创建。
作为一种软件产品,除了在功能方面必需达到用户的基本要求以外,还必需注意一些非功能方面的因素,例如软件的用户操作界面方便、简洁和美观,以及界面图标的标准化和规范化。软件要有一定的兼容性,应该兼容当前的主流操作系统平台等。硬件方面应当要求配置低一点,像这样的小型开发软件应该适用于现大多数的计算机网络系统。
采用ASP.NET技术,应用C#语言对网站进行标准化、合理化的建设,使开发的在线考试系统具有全新的动态效果,具有更加灵活和方便的交互性,这种应用技术和语言的组合对系统应用的前景做了充分的考虑,方便以后根据实际需要做必要的升级,也符合未来网络技术的发展。同时依据国家《计算机软件产品开发文件编制指南》和《现代软件工程》两项理论与原则的要求,编制标准的软件技术文档。
三、数据库设计
应用SQL Server数据库技术,对在线考试系统的信息进行科学地、规范化地管理,通过实时的试题和成绩数据分析,获取更多有价值的信息。系统采用三层架构模式,分别为表示层、业务层、数据层。数据库是系统的载体,存储所有数据,使用SQL Server2005实现。数据层建立在数据库之上,为业务层提供数据服务,表示层通过业务层接口访问所需数据。
根据系统需求分析和数据库设计的结果,该系统共包含12张表:单选题表、多选题表、判断题表、填空题表、问答题表、科目表、试卷表、详细试卷表、分数表、角色表、用户表、考生答案表。最终设计的表及关系如图1所示。
图1 在线考试系统的表及关系
四、系统实现
系统采用ASP.NET+SQL Server2005开发。开发中采用三层架构,将表现逻辑、业务逻辑、数据逻辑分开,便于系统的扩展和维护。
实现过程中采用模版页方式,布局为上导航条和右侧“仪表盘”双重导航,采用可变“皮肤”。
系统实现了同一界面不同角色的登陆,登陆时根据用户ID和角色标志位来判断系统要导航到的页面。管理员角色登陆成功后导航到管理员缺省页面。该系统为不同的角色提供了不同的功能链接。管理员界面的功能框图如图2所示。
图2 管理员能实现的功能
试题管理包括单选题、多选题、判断题、填空题、问答题几部分的试题列表、添加、删除、查看功能。其中单选题列表实现效果如图3所示。
图3 单选题列表
学生主界面包括三部分:(1)参加考试:维护用户(学生)的考试科目列表。并能进行在线考试,提交考试数据到数据库。同时具备提醒考生是否考过某科目的能力。(2)考试记录:提供成绩查询的功能。(3)用户管理:提供密码修改和退出的功能。
用户管理提供密码修改和退出的功能。
密码修改后台主要代码如下:
protected void imgBtnModifyPwd_Click1(object sender, ImageClickEventArgs e)
{
string userId=Session["userID"].ToString();
string newPwd=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtNewPwd.Text.Trim(), "MD5").ToString();
string pwdMd5=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtOldPwd.Text.Trim(), "MD5").ToString();
if (UserManager.GetSelectPwd(pwdMd5))
{
UserManager.ModifyPwd(newPwd,userId);
lblMessage.Text="修改成功!";
this.txtOldPwd.Text=string.Empty;
}
else
{
lblMessage.Text="原密码不正确!";
}
}
五、结语
本系统较为完整的实现了在线考试系统所需要的整套功能流程。其优势在于极大地简化了考试出题、考试、改卷等工作, 使考务工作自动化, 具有通用性、安全性、稳定性的特点。
参 考 文 献
[1] 马俊,党兰学,杜莹.ASP.NET网页设计也网站开发.北京:人民邮电出版社,2007
[2] 黎卫东.ASP.NET网络开发入门与实践[M].北京:人民邮电出版社,2006.2.
[3] 杨鲲鹏,孟凡奇等.ASP.NET+SQL Server动态网站开发从基础到实践[M].北京:电子工业出版社,2006.6.
[4] 曾登高.NET系统架构与开发[M].北京:电子工业出版社,2003.5.
[5] 刘启芬,顾韵华.SQL Server实用教程[M].北京:电子工业出版社,2007.1.
[6] 马军.精通ASP.NET2.0网络应用开发[M].北京:人民邮电出版社,2006.
[7] 吴晨,张亮,张静.ASP.NET+SQL Server 数据库开发实例[M].北京:清华大学出版社,2006.■