1、基于 B/S 的 计算机等级考试系统的设计与实现 摘 要 随着计算机技术的发展及计算机的日益普及,基于 B/S 结构的考试系统与无纸化办公一样已成为大势所趋。 论文详细论述了一个基于 B/S 结构的计算机等级考试系统的设计过程。软件采用 ASP.NET 2005 作开发平台, C#作编程语言, SQL Server 2005 作数据库管理系统,实现了 试题管理 、 试卷生成 、 在线考试 、 试卷评判 、 权限管理 、 在线报名 及 站内公告 等功能 。 系统符合全国计算机等级考试的要求。 论文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的开发工具及技术基础;接着 对系统的需求进
2、行了分析,并提出了具体的设计方案和数据库模型; 然后 展现了整个 系统的具体实现,包括数据库的设计和连接,各功能模块的实现;最后 对该软件进行了 严格的 测试。 关键词: B/S 结构;计算机等级考试;考试系统 The Design and Implementation of Computer Rank Examination System based on B/S Abstract With the development of the computer technology and the popularization of computers, the examination syste
3、m based on B/S structure has become the trend of the times the same as the paperless office. The paper discusses in detail the development and design process of a computer rank examination system based on B/S structure. It uses ASP.NET 2005 as the development platform, C# as the programming language
4、, SQL Server 2005 as the database management system, and includes test questions management, examination paper production, online examinations, examination paper judgment, authority management, online enrollment and site notice, etc. It can accord with the requirement of the national computer rank e
5、xamination. The paper is organized as following: Firstly, analyzes the background and significance; Secondly, introduces the development tools and the foundation of the technology; Thirdly, analyses the demand of the system, gives a specific design project and a database model; Then shows the implem
6、entation of the whole system, which includes the design and linkage of the database and the implementation of every module. Finally gives a test of the system. Key words: B/S structure; Computer rank test; Examination system 第 1 页 1 引 言 目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、
7、成绩评估和试卷分析。显然,随着考试类型的不断增 加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻人们的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 在线考试模拟系统是现阶段研 究开发的一个热点。它是建立在国际互联网
8、上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试模拟系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试模拟系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工 作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用 ,把老师从繁重的工作中解脱出来! 目前,网络应用
9、软件运行的模式主要有二类: Client/server 模式,Browser/Web 模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet 迅速发展起来的一种技术,它与客户 /服务器方式类似,客户端是一个标准的浏览器,服务器端是 Web Server ,而 Web Server 与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系 统、企业的 MIS 系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。 另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。 基于上述考虑,用
10、Browser/Web 模式来设计考试系统比较合适,服务器端我们采用 SQL Server 数据库系统和 .Net 框架来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。 利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的第 2 页 有利优势,应用微软 .NET 技术,我开发了基于 B/S 模式的多用 户在线考试模拟系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端)。现阶段虽只实现了试卷的客观题部分,但已具有用户注册、用户个人信息修改、多用户同时在线考试、试卷生成、时间控制、自动判卷,试题录入、修改
11、题库、用户管理、试卷管理、分数管理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生在规定时间内随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。 2 技术背景 该在线考试系统主要采用 Visual C# 2005、 SQL Server 2005 数据库、JavaScript 等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。 2.1 B/S 结构 B/S( Browser/Server)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对
12、C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端( Browser)实现,但是主要事务逻辑在服务器端( Server)实现,形成所谓三层 3-tier 结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本( TCO)。 以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Internet / Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intr
13、anet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在 JAVA 这样的跨平台语言出现之后 , B/S 架构管理软件更是方便、快捷、高效。 2.2 开发工具 简介 2.2.1 Visual C# 2005 简介 Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、 XML Web Services、桌面应用程序和移动应用程序。 Visual Basic、Visual C+、 Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混
14、合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。 第 3 页 Microsoft Visual C# 2005(读作 C sharp)是一种编程语言,它是为生成在 .NET Framework 上运行的多种应用程序而设计的。 C# 简单、功能强大、类型安全,而且是面向对象的。 C# 凭借它的许多创新,在保持 C 样式语言的表示形式和优美的同时,实现了应用程序的快速开发。 Visual Studio 支持 Visual C#,这是通过功能齐全的代码编辑器、项目模板、设计
15、器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过 .NET Framework 类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。 2.2.2 SQL Sever 2005 简介 SQL Server 是一个关系数据库管理系统,是 Microsoft 推出新一代数据管理与分析软件。 SQL Server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。 SQL Server 是一个全面的、集 成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于
16、企业数据管理和商业智能应用。SQL Server 2005 为 IT 专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力, SQL Server 2005 为不同规模的企业提供了一个完整的数据解决方案。 SQL Server 数据平台包括 如 下工具:关系型数据库 、 复制服务 、 通知 服务 、集成服务 、 分析服务 、 报表服务 、 管理工具 、 开发工具。 SQL Server 2005 数据平台为不同规模的组织提供了 如 下好
17、处:充分利用数据资产 、 提高生产力 、 减少 IT 复杂度 、 更低的总体拥有成本 (TCO)。 3 系统分析 3.1 需求分析 3.1.1 系统需要解决的主要问题 因为考试是有特定的对象的,所以考生 在 进入 该 系统 前 应该进行 在线报名。报名时填写相应的个人信息(如身份证号、报考科目等),报名后到相关部门进行交费。由管理员进行审核后, 考生进入考试系统, 根据报名时 选择 的 考试科目, 参加相应的考试 。鉴于 计算机等级 考试为全国性统一 考试 , 考试 时间有相应的规定。因此要对登录了考试系统进行参考的用户进行考试时间判断,避免在非考试时段参加考试。 另外,系统还应该对考试时间进
18、行控制,时间到了第 4 页 会要求考试者交卷 。在考试过程中要防止考生作弊,要禁止避免某些按键(如ALT、 F5 等)的操作 。考试者选择答案提交后,应该由计算机自动判卷,得到成绩 先保存,在阅卷人审核后在考生信息页面 显示出来。考试完毕后, 系统关闭 考试 页面,回到考试前页面 。 3.1.2 系统应该具备的基本功能 1试题管理:管理员利用账号和密码成功登录以后,进入管理页面, 管理员 可 以通过系统做的手动添加试题页面自己手动添加试题,并对相关信息进行添加、修改以及删除。 2试卷生成: 事先设定好考试题目数量,考试日期,分数等信息。 3 在线考试: 考生根据准考证号和密码成功登录后,进入考
19、试界面。考生有开始考试,提交试卷,查询成绩权限。考生根据报名时选择的考试科目,在规定时间段内参加相应的考试,点击开始考试后,进行考试界面,并要防止考生刷新及点击右键等操作,对考试时间计时,考试时间到,系统强制提交试卷。 4试卷评判:主、客观题目均事先由系统自动判断,主观题目阅卷人登陆后,可以根据情况手工判卷 并做出相应的分数修改。 5权限管理:管理员拥有除阅卷外的所有权限,管理员根据账号和密码成功登录后,可以对教师和考生的信息、公告、试题、试卷等进行管理。 6在线报名:考生通过在线报名页面,获取系统自动分配的准考证号,添加相应的考生信息(包括身份证、性别、考试级别以及相应的科目)完成报名。在相
20、关部门交费后,由管理员审核成功后获取考试资格。 7站内公告:发布计算机等级考试的相关信息,如考试要求、时间等。管理员通过登录进行相关的添加、修改和删除。 3.2 可行性分析 3.2.1 技术可行性分析 该考试系统的技术可 行性,可以从硬件(包括外围设备)的性能要求、软件的性能要求(包括操作系统、程序设计、语言、软件包、数据库管理系统及各种软件工具)、能源及环境条件、辅助设备及备品配件条件几个方面去考虑。计算机硬件要求: CPU:奔腾 1.0GHz 以上 内存: 256MB 以上 显示卡: 显存 16M 及以上 硬盘: 2GB 以上剩余磁盘空间 驱动器: 8 倍速 CD-ROM 以上 第 5 页
21、 高分辨率 (1024*768)彩色显示器 软件要求: WINDOWS 操作系统或 XP 操作系统, .Net 2005 和 Microsoft SQL Server2005 就目前使用 的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。 3.2.2 经济可行性分析 经济可行性分析主要是对开发项目的成本与效益做出评估,即分析新系统所带来的经济效益是否超过开发和维护网站所需要的费用。 用户在使用该系统后只需花一定资金购买 一 部分计算机与软件就能实现。 3.2.3 社会因素方面的可行性分析 本系统仅用于全国计算机等级考试,无法律和政策方面的限制。 4
22、 总体设计 4.1 基本设计思想及流程图 基本设计思想:在用户认证之后,系统根据考生的资料随机的从试题 库中选取试卷,在考生做完试卷且交卷之后,将会自动在服务器端保存考的答案。要求能保证考生顺利的作答以及考试的保密和安全性。 图 1 操作流程图 4.2 系统功能结构图 根据需求分析,在线考试系统的结构图如下: 第 6 页 图 2 系统功能结构图 4.3 系统架构 本系统采用 ASP.NET 应用程序典型的三层架构模式,其结构如图 1 所示 图 3 三层架构模式结构图 各层功能介绍: 数据访问层:系统最低层,提供数据库操作的接口和存储本系统所有数据; 业务逻辑层:处于 页面 展 示层 与 数据访
23、问层之间,与数据库直接关联,同时又为 页面 展 示层服务。 实现业务的具体逻辑,如考生报名、登录参考、试卷试题管理等; 页面 展 示层 :系统最外层,将业务功能在浏览器上显示出来,用户通过界面对系统进行操作。 4.3.1 数据访问层 数据访问层完成所有与数据库交互的工作,本系统只包括一个类SQLHelper。这个类的功能是向数据库提交 SQL 语句,并返回相应的操作结果。 配置数据库连接:在 Web.config 文件中指定数据库连接字符串配置信息,代码如下 页面 展 示层 (WEB )业务逻辑层 (BLL )数据访问层 (DAL )计算机等级考试系统公告管理试题管理在线答题试卷管理用户管理试
24、卷审核第 7 页 SQLHelper 类成员: 表 1 SQLHelper 类成员说明 属性 /方法 功能说明 Conn 保护变量,数据库连接 SqlConnection 对象 ConnStr 保护变量,数据库连接串 Open 连接数据库 Close 关闭数据库连接 Dispose 释放数据库连接资源 ExecutSQL 执行一条非查询 (Select)类型的 SQL 命令 GetDataRow 根据输入 SQL 命令,获取一个 DataRow 对象 GetDataSet 根据输入 SQL 命令,获取一个 DataSet 对象 GetDataReader 根据 SQL 命令,获取一个 Data
25、Reader 对象 Insert 利用一个 Hash 表存储数据,向数据库插入数据 Update 利用一 个 Hash 表存储数据,修改数据库中的数据 4.3.2 业务逻辑层 科目类 Category.cs 公告类 News.cs 试卷类 Paper.cs 试题类 Question.cs 分数类 Score.cs 用户类 User.cs 4.3.3 页面显示层 公告管理模块 News*.aspx 用户管理模块 User*.aspx 试题管理模块 Question*.aspx 试卷管理模块 Paper*.aspx 试卷评分模块 Score*.aspx 页面首面 Default.aspx 考试页面
26、 Exam.aspx 注册页面 Register.aspx 公告信息页面 NewsInfo.aspx 第 8 页 4.4 数据库的设计 4.4.1 创建数据库 首先在 SQL Server 2005 的管理器中创建一个名为 ExamDB 的数据库。 4.4.2 创建表 数据库 ExamDB 包含以下 6 个表:考试科目表( Exam_Category) 、 用户信息表( Exam_Member) 、 站内公告表( Exam_News) 、 试卷信息表( Exam_Paper) 、试题信息表( Exam_Question) 、分数信息表( Exam_Score) 。下面分别介绍这些表的结 构。
27、表 2 考试科目表( Exam_Category) 编号 字段名称 数据结构 长度 说明 1 ID int 4 考试科目序号 2 ExamLevel int 4 考试级别 3 ExamSubject nvarchar 20 考试科目名称 表 3 分数信息表( Exam_Score) 编号 字段名称 数据结构 长度 说明 1 ID int 4 试题序号 2 UserID nvarchar 7 考试科目序号 3 TestID int 4 试题题目 4 StartTime datetime 8 考试 开始时间 5 EndTime datetime 8 考试结束时间 6 TotalScore int 4 考试总成绩 7 sUserAnswer Ntext 用户单选答案 8 sRightAnswer Ntext 单选标准答案 D 9 bUserAnswer Ntext 用户填空答案 10 bRightAnswer Ntext 填空标准答案 11 IsCheck Bit 1 成绩是否审核 12 IsExamed Bit 1 是否参加考试 表 4 站内公告表( Exam_News) 编号 字 段名称 数据结构 长度 说明 1 ID int 4 公告序号 2 Title ntext 公告标题 3 Text ntext 公告内容 4 Time datetime 8 发布时间