摘要:
随着计算机技术的发展及计算机的日益普及,基于B/S结构的考试系统与无纸化办公一样已成为大势所趋。论文详细论述了一个基于B/S结构的计算机等级考试系统的设计过程。软件采用ASP.NET 2005作开发平台,C#作编程语言,SQL Server 2005作数据库管理系统,实现了试题管理、试卷生成、在线考试、试卷评判、权限管理、在线报名及站内公告等功能。系统符合全国计算机等级考试的要求。论文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的开发工具及技术基础;接着对系统的需求进行了分析,并提出了具体的设计方案和数据库模型;然后展现了整个系统的具体实现,包括数据库的设计和连接,各功能模块的实现;最后对该软件进行了严格的测试。

因为考试是有特定的对象的,所以考生在进入该系统前应该进行在线报名。报名时填写相应的个人信息(如身份证号、报考科目等),报名后到相关部门进行交费。由管理员进行审核后,考生进入考试系统,根据报名时选择的考试科目,参加相应的考试。鉴于计算机等级考试为全国性统一考试,考试时间有相应的规定。因此要对登录了考试系统进行参考的用户进行考试时间判断,避免在非考试时段参加考试。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。在考试过程中要防止考生作弊,要禁止避免某些按键(如ALT、F5等)的操作。考试者选择答案提交后,应该由计算机自动判卷,得到成绩先保存,在阅卷人审核后在考生信息页面显示出来。考试完毕后,系统关闭考试页面,回到考试前页面。1.试题管理:管理员利用账号和密码成功登录以后,进入管理页面,管理员可以通过系统做的手动添加试题页面自己手动添加试题,并对相关信息进行添加、修改以及删除。2.试卷生成:事先设定好考试题目数量,考试日期,分数等信息。3.在线考试:考生根据准考证号和密码成功登录后,进入考试界面。考生有开始考试,提交试卷,查询成绩权限。考生根据报名时选择的考试科目,在规定时间段内参加相应的考试,点击开始考试后,进行考试界面,并要防止考生刷新及点击右键等操作,对考试时间计时,考试时间到,系统强制提交试卷。4.试卷评判:主、客观题目均事先由系统自动判断,主观题目阅卷人登陆后,可以根据情况手工判卷并做出相应的分数修改。5.权限管理:管理员拥有除阅卷外的所有权限,管理员根据账号和密码成功登录后,可以对教师和考生的信息、公告、试题、试卷等进行管理。6.在线报名:考生通过在线报名页面,获取系统自动分配的准考证号,添加相应的考生信息(包括身份证、性别、考试级别以及相应的科目)完成报名。在相关部门交费后,由管理员审核成功后获取考试资格。7.站内公告:发布计算机等级考试的相关信息,如考试要求、时间等。管理员通过登录进行相关的添加、修改和删除。该考试系统的技术可行性,可以从硬件(包括外围设备)的性能要求、软件的性能要求(包括操作系统、程序设计、语言、软件包、数据库管理系统及各种软件工具)、能源及环境条件、辅助设备及备品配件条件几个方面去考虑。计算机硬件要求:软件要求:WINDOWS操作系统或XP操作系统,.Net 2005和Microsoft SQL Server2005就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。经济可行性分析主要是对开发项目的成本与效益做出评估,即分析新系统所带来的经济效益是否超过开发和维护网站所需要的费用。用户在使用该系统后只需花一定资金购买一部分计算机与软件就能实现。本系统仅用于全国计算机等级考试,无法律和政策方面的限制。基本设计思想:在用户认证之后,系统根据考生的资料随机的从试题库中选取试卷,在考生做完试卷且交卷之后,将会自动在服务器端保存考的答案。要求能保证考生顺利的作答以及考试的保密和安全性。


本系统采用ASP.NET应用程序典型的三层架构模式,其结构如图1所示

数据访问层:系统最低层,提供数据库操作的接口和存储本系统所有数据;业务逻辑层:处于页面展示层与数据访问层之间,与数据库直接关联,同时又为页面展示层服务。实现业务的具体逻辑,如考生报名、登录参考、试卷试题管理等;页面展示层:系统最外层,将业务功能在浏览器上显示出来,用户通过界面对系统进行操作。数据访问层完成所有与数据库交互的工作,本系统只包括一个类SQLHelper。这个类的功能是向数据库提交SQL语句,并返回相应的操作结果。配置数据库连接:在Web.config文件中指定数据库连接字符串配置信息,代码如下<add name="ExamDBConn" connectionString="Data Source=.;Initial Catalog=ExamDB;Persist Security Info=True;User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
|
|
|
保护变量,数据库连接SqlConnection对象 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
首先在SQL Server 2005的管理器中创建一个名为ExamDB的数据库。数据库ExamDB包含以下6个表:考试科目表(Exam_Category)、用户信息表(Exam_Member)、站内公告表(Exam_News)、试卷信息表(Exam_Paper)、试题信息表(Exam_Question)、分数信息表(Exam_Score)。下面分别介绍这些表的结构。

实现对数据访问的一些辅助和包装及某些通用功能,包括三个类。4.5.1 获取安全数据(GetSafeData)包含一系列从DataRow对象中,安全获取数据的静态方法。
|
|
|
从DataRow中获取字符串,如果不存在,返回System.String.Empty |
|
从DataRow中获取整数,如果不存在,返回System.Int32.MinValue |
|
从DataRow中获取浮点数,如果不存在,返回System. Double.MinValue |
|
从DataRow中获取时间数据,如果不存在,返回System. DateTime.MinValue |
GetQuotedString:将字符串加上SQL语句中常用的单引号“’”;GetConditionClause:构造SQL语句中的条件子句,这个方法接收一个哈希表参数,利用哈希表中的每一项都是一个DictionaryEntry对象的<key, value>对特征,构造SQL语句中的条件子句。









