基于.NET的公务员考试模拟系统的设计
摘 要
随着互联网的迅速的发展,基于互联网的各种应用日益受到人们的重视,基于Web的在线考试系统在这种形势下应运而生,它可以利用网络,随时随地对学生进行考试,是传统考场的延伸。
本文在基于一般在线考试系统的设计与实现技术上,结合公务员考试的特点,通过对系统的结构设计、后台设计、前端开发,构建了一个基于B/S三层结构的、以ASP.NET 2.0为开发平台和SQL Server 2000为数据库的公务员考试系统。本系统基本实现了学生在线考试、试卷生成、教师试卷评阅、管理员对用户及角色进行管理等功能。
本公务员考试系统采用的技术较为新颖,在今后的应用将会很广泛。该系统既可以用于考生平时对自己的能力进行测评,也可用于实际的考试。
关键词:在线考试系统;在线考试;试卷生成;ASP.NET 2.0;C#目 录
论文总页数:27页
1 引 言 1
2 相关理论技术基础 1
2.1 C#.NET 1
2.2 ASP.NET 2.0简介 2
2.3 SQL Server 2000 3
2.4 B/S模式 3
3 系统需求设计 4
3.1 用户角色需求 4
3.2 功能需求 4
3.2.1 考生 4
3.2.2 教师 4
3.2.3 管理员 5
3.3 性能需求 5
4 系统总体设计 5
4.1 系统功能描述 5
4.2 数据库设计 6
4.2.1 Exam_User数据库 6
4.2.2 Exam数据库 7
5 系统主要功能的实现 10
5.1 用户登录和注册 10
5.2 公告查看 10
5.3 在线考试模块 11
5.3.1 客观(行政能力测试)考试 13
5.3.2 主观(申论)考试 15
5.4试卷管理模块 15
5.4.1 组卷模块 15
5.4.2 试卷题目修改与删除 17
5.4.3设置考试试卷 18
5.5 试卷评阅模块 18
5.5.1 客观题(行政能力测试)评阅 18
5.5.2 主观题(申论)评阅 19
5.6 用户及角色管理 20
5.6.1 用户管理 20
5.6.2 角色管理 20
5.7 公告管理模块 21
6 系统测试 21
6.1 测试环境 21
6.2 测试结果 21
6.3系统安全性设计 21
6.3.1 密码的安全性 21
6.3.2 角色访问控制 22
6.3.3 数据库安全 22
结 论 22
参考文献 23
致 谢 24
声 明 25
附 录 26
2.1 C#.NET
C#以C和C++为基础,是一种面向对象的程序设计语言,它适用于微软基于“.Net"平台的XML基础应用开发。C#组件可以成为基本的Web服务,这些服务可以被运行在任意平台上的任何应用所调用。微软宣称,C#提高了程序开发进度,减少了可能导致开发费用增加的程序设计错误,从而大大提高了程序开发速度。C#就是这样一种编程语言,它使程序员能快速地为新一代Microsoft .Net平台开发出应用程序。具体来说,微软的C#具有如下特点:
1) 高效、安全
越来越激烈的竞争要求开发人员尽量缩短开发周期,而这正是C#的设计思想。这种语言被设计来帮助开发人员减少代码量以及代码出错的机会。
2) 符合日渐成熟的Web编程标准
目前,大多数应用方案都与Web密切相关,但现有的开发工具都是在Internet和Web的雏形时期出现的,因此,它们一般不适合新的Web技术。而C#语言开发是建立在Microsoft.Net平台上,可以把组件转化成Web服务,从而被运行在任何平台上的任意应用程序所调用。另外,Web服务框架让现有的Web服务对程序员来说就像本地的C#对象,这使得程序员可以利用他们在面向对象编程方面的经验。
3) 消除编程错误
甚至专业的C++程序员也经常犯一些最简单的错误,例如,忘一记对变量进行初始化。这些最简单的疏忽经常导致不可预测的错误。而一旦程序投入使用,即使是最简单的错误也要花费很大的代价去修补。C#提供的一些新功能可消除常见的C++编程错误,例如,“垃圾收集”减轻了程序员人工管理内存的压力、C#中的变量由环境自动初始化等。
4) 支持版本封装
后续版本可以在旧版本的基础上直接开发,无须修改程序。这一特性简化了开发后续版本的过程并降低了开发升级版本的总成本。
5) 与商业逻辑相关联
大多数编程工具很难把程序代码同商业逻辑联系起来,但C#不同,它可用于任何对象的可扩展元数据。C#可以为一个工程结构定义专域属性,并把它们应用到任何类或接口中,这将确保每个类或接口都能被正确地标识成特定商业对象的一部分,有助于加强程序代码与商业逻辑的联系。
2.2 ASP.NET 2.0简介
ASP.NET 2.0大大提高了编程人员的开发效率,与ASP.NET 1.1相比,减少了70%的编码工作量。甚至在某些情况下,可以实现所谓的零编码。对开发人员来说,ASP.NET 2.0对经常使用的功能进行了封装,如用户管理、数据控件等,可以象使用标准控件一样使用这些功能。新增控件包括数据源控件、站点导航控件、登录控件,新增主题和皮肤、母版页、成员资格和角色服务等功能。
ASP.NET 2.0中,内置了许多基于提供者模型的新服务,常见的就是成员和角色服务。可以采用C:\WINDOWS\Microsoft.NET\Framework\版本号文件夹下面的Aspnet_regsql.exe工具,根据向导来创建或配置用来存储ASP.NET应用程序服务信息的SQL Server数据库。当然,也可以通过Aspnet_regsql.exe命令来安装 SQL Server 提供程序所使用的 SQL Server 数据库。ASP.NET 2.0的成员和角色管理简化了用户管理的功能,用户的管理和验证,只与提供者打交道,不需要关注数据库本身的细节。此外,Visual Studio 2005还增加了一套登录控件,可以方便的实现注册、登录、注销和恢复密码等功能,不需要编写任何代码。
ASP.NET 2.0 引入了一系列可以改善数据访问的新工具,包括几个数据源和数据绑定控件。数据源控件包括SqlDataSource、XmlDataSource等,数据控件包括GridView等。新增种类的数据源控件可以消除 ASP.NET 1.X 中要求的大量重复性代码。可以很容易地将 SQL 语句或存储过程与数据源控件相关联,并且将它们绑定到数据绑定控件。将控件绑定到数据源控件非常简单,并且不需要任何处于代码隐藏中的代码,只需设置数据控件的相关属性即可。当然,也可以根据自己的需要,编写代码以显式的绑定到控件。