1、1注:纸型:16K 上、下、左、右页边距:2 厘米页眉:1.5 厘米 页脚:1.75 厘米 装订线:0.5 厘米中国矿业大学毕业论文格式模板2中 国 矿 业 大 学本 科 生 毕 业 论 文姓 名:余谦 学 号: 08053488 学 院: 计算机学院 专 业: 电子信息科学与技术 论文题目: 计算机基础网上考试系统 专 题: 指导教师: 谢林 职 称: 2009 年 5 月 徐州3前言Internet网是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。www 系统是一个大型的分布式超媒体信息数据库,它极大的推动了 Internet的发展,己经成为 Internet中最流行、最主要
2、的信息服务方式。www 技术之所以能在全球普及,一个重要的原因就是它与数据库管理系统相互融合,成为一个处理和共享信息的强大工具。一方面,数据库是一种强大的信息管理工具,另一方面,www 提供了共享数据的方法。两者强强联合取长补短,发挥各自优势,使用户可以在 Web浏览器上方便地检索数据库的内容。随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员
3、提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。4随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐
4、步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。
5、这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!目前,网络应用软件运行的模式主要有二类:Client/server 模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是 Web Server ,而 Web Server与数据库和应用服务器
6、的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的 MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。5另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用 Browser/Web模式来设计考试系统比较合适,服务器端我们采用 Access数据库系统和微软最新的.net 平台及 ASP.net技术来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。1 相关知识介绍该在线考试系统主要采用 Microsoft .net Framework、 Acc
7、ess数据库、C#语言、SQL 以及 Visualstudio2005等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。1.1 ASP 技术简介ASP技术 ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface通用网关接口)的技术。目前,Internet 上的许多基于 Windows平台的 Web站点已开始应用 ASP来替换 CGI。 简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web服务器应用程
8、序,如交互式动态网页,包括使用 HTML表单收集和处理信息,上传与下载等等。通常情况下,用户通过浏览器看到的网页大多是静态的,目前 Internet 上的许多站点,仍然提供“静态“(static)的主页内容。 所谓“静态“,指的就是站点的主页内容是“固定不变“的。 当浏览器通过 Internet 的 HTTP (Hypertext Transport Protocol)协议,向站点服务器(Web Server)要求提供主页的内容时,站点服务器收到要求后,就传送原已设计好的静态的 HTML 的6文件数据给浏览器。 一个“静态“的站点,若要更新主页的内容,必须手动的来更新其 HTML的文件数据。而
9、随着 Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。当在浏览器上填好表单(form)的输入数据,以提供 HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个 HTML 文件。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以 HTML的格式传送给浏览器。 根据用户请求生成动态主页的传统方法有 CGI、ISAPI 等。CGI 是根据浏览器端的 http请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI 针对这一缺点进行改进,利用 dll(动态链接库
10、)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术 Java都还存在着另外一个问题,那就是开发困难,程序的开发和 HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如 javascript和 IDC(Internet Database Connector)等功能有限,不敷使用。 ASP 使用的 ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的 CGI等程序所远远不及的地方。ASP 与常见的在 Client端实现动态主页的
11、技术如 Java applet、ActiveX Control、VBScript、javascript 等不同,ASP 中的命令和 Script语句都是由服务器来解释执行的,执行结果产生动态生成的 Web页面并送到浏览器;而 Client端技术的 Script命令则是由浏览器来解释执行。由于 ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持 ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。 ASP通过后缀名为.asp 的 ASP文件来实现,一个.asp 文件相当于一个可执行文件,因此必须放在 Web服务器上有可执行权限的目录下。当用户从浏览器输入了.
12、asp 文件的地址后,浏览器就将这个 URL请求发给 Web Server,如果 Web Server上装了 ASP,就调用 ASP。ASP 读出相应.asp 文件,解释并执行命令,动态生成一个 HTML页面回传 Web Server,然后 Web Server再把结果发送给浏览器。ASP文件的制作和 HTML类似,且和 HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到 HTML文件中(将 HTML文件的后缀名改为.asp),这使得 HTML文件的编写与脚本的开发融合在一起。通过 ASP内置的对象、服务器组件(Server Component)可以完成非常复杂的任务,而
13、且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。ASP 比较网关及服务器扩展模式有着以下优点:(1)完全与 HTML文件融合在一起;(2)容易创建,不需要其它编译、链接程序;(3)面向对象的并通过 ActiveX Server对象可扩展。由此我们可以看出,ASP 是在 IIS下开发 WEB应用的一种简单、方便的编程工具。在了解了 VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的 ASP系统。71.2、开发环境简介Visual Studio2005 是微软开发的 visual studio系列开发工具的最新版本,微软公司在 2005年 12
14、月初发布新一代企业级应用开发平台.NET Framework 2.0和开发工具 Visual Studio 2005。现代信息部门的开发团队必须因应高度竞争的商业环境,快速进行应用软件系统的设计、开发、测试以及部署带领企业赢得市场。大部分的软件开发团队,都面临以下几项挑战:开发团队间的沟通困难,开发工具形形色色,分散且难以互相整合开发程序、开发标准难以建立。Microsoft Visual Studio 2005 开发工具系列,有许多令人期盼已久的强化功能,提供更高的程序开发效率、更精简的程序代码、与更佳的安全性。包括 .NET Framework 2.0、 ASP.NET 2.0、64-bi
15、t 程序开发支持、新的 Windows Form 程序设计、以及对行动装置解决方案的全新开发支持。数据源:Access 数据库Access是微软 Office中一个极为重要的组成部分。起初 Access是一个单独的产品,后来微软发现如果将 Access捆绑在 office中一起发售,将会带来更加可观的利润,于是 Access第一次出现在 office97中,成为 office中的一个重要成员。现在它已经成为 Office中不可缺少的部件了。由于微软公司投入大量人力和资金进行技术改进和创新,Access 的新版本功能已经变得越来越强大。随着版本的升级,Access 的使用也变得越来越容易。以往很
16、繁琐的工作现在只需几个很简单的步骤就可以高质量地完成了。8很多人都误以为 Access只能用来做数据存储,其实 Access不但能用来做数据存储,还具有非常强大的前台界面开发功能,利用各种控件和 VBA语言,能开发出功能十分强大的软件系统,与此同时,廉价,易用更是其他任何开发工具所不能比拟的。因此人们可以利用它来解决大量的数据管理工作。2 需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对网上考试系统的设计进行需求分析。2.1 系统需要解决的主要问题首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。考试者进入考试系统后,
17、应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。在线考试于一般的单机考试是不同的。鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。此外,应该能够方便、快捷的对在线考试系统管理,此外,用户还应能进行远程注册。2.2 系统应该具备的基本功能9用户登陆:用户
18、通过用户名和密码进行登录。用户信息的管理:管理员可以增删用户试题库管理:可以增加、修改、删除试题。试卷生成:从试题库里随机抽取试题生成一份原始试卷。在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。3 系统总体设计3.1 基本简介该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的 ASP应用程序。它应该具有开放性、方便性和灵活性。考生进行
19、有效的身份验证登录后,要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。3.2 运行环境与系统结构10为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即 Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端: Windows98/2000/XP,IE5
20、.0 以上服务器端:Windows NT/Windows2000,Windows 2000 Server,IIS 4.0及其以上版本。开发环境:.Net framework 2.0,Visual studio 2005,MDAC 2.7数据库:采用 access,运行于服务器端。硬件环境:服务器 CPU:PIII 500 以上 ,内存:256M 以上客户机 CPU:P200MMX 以上,内存:32M 以上3.2 系统结构图根据需求分析,在线考试系统的结构图如下:在线考试系统系统管理在线考试 成绩查询113.3 详细设计详细设计是整个设计过程中,最重要的步骤之一。下面就分如下几个部分对系统进行详
21、细设计:(1)试题设计(2)数据库中表的设计(3)管理功能设计(4)功能模块详细设计3.3.1试题设计鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案 A、B、C、D 中选择唯一正确的答案;3.3.2数据库中表的设计1.question表结构通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间可以很大,也为了更加方便。我们采用把全部试题集中在一起的方案来建立数据表,每道客观题均有四个备选答案项,字段名一般是相应的英文单词。这样,查询起来较方便,会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:表 3-1 ques
22、tion 表 字段名称 类型 说明ID 自动编号 常整型,递增,主键Question 文本 字段大小 200用户管理 试题管理12A 文本 字段大小 50B 文本 字段大小 50C 文本 字段大小 50D 文本 字段大小 50Answer 文本 字段大小 50hasselected 文本 字段大小 8各字段说明:ID是问题的 id号,用来唯一标志该问题,把它设为主键,类型为自动编号。Question字段为问题内容,类型为文本。A字段代表选项 A的内容B字段代表选项 B的内容C字段代表选项 C的内容D字段代表选项 D的内容Answer字段表示答案选项Hasselected字段表示是否已经选择过本
23、题score表字段名称 类型 说明Studentname 文本 字段大小 50Score 数字 常整型Id 自动编号 常整型,递增,主键13Testtime 日期/时间 考生考试的时间各字段说明:studentname字段代表在某次考试记录中学生的名字。score字段为某次考试纪录中考试分数。id字段为某次考试纪录的标志号。Testtime字段代表考试的结束时间。student表结构student表字段名称 类型 说明Studentname 文本 字段大小 50paw 文本 字段大小 50各字段说明:studentname字段代表学生的名字。studentpassword字段代表密码。admi
24、n表结构admin表字段名称 类型 说明Name 文本 字段大小 50Password 文本 字段大小 50Id 自动编号 常整型,递增,主14键各字段说明:name字段代表管理员的名字。password字段代表密码。id字段为管理员的标志号。3.3.3 用户、管理员权限管理员:在此系统中只有一个管理员,即系统管理员。具有一般用户所没有的权限,即具有管理一般用户、试题管理功能。一般用户:主要是指学校的学生和企事业单位的培训对象等3.3.4 功能模块详细设计下面,对各个功能模块分别进行详细讨论,具体情况见系统源程序。3.3.4.1 管理模块管理员可以向题库中添加各种类型且符合要求的试题,也可以对
25、它们进行修改和删除。同时,管理员也能对科目、用户、考试记录等数据进行管理。试题管理(1)试题录入首先,试题的录入是通过一个 asp页面中的 web服务器控件:GridView 完成的。(2)试题修改管理员还可以对试题进行修改。不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操15作,则必须重新操作。(3)试题删除管理员可以删除不再需要的试题。通过在每一条记录的后面放置一个 button按钮并提示用户是否要删除,来完成试题的删除。3.用户管理管理员可以通过管理界面添加或删除用户。3.3.4.2在线考试模块进入在线考场是本系统最重要的部分之
26、一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。系统所选的题是随机选出的,这样就会使每个考生的试卷都不同。考生的其答题信息通过单选按钮选择答案来反映。考试结束采取自主交卷的方式办法予以实现。系统会在考试时间结束前 1分钟提示考生交卷。4 系统实现在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。根据系统总体设计,首先系统要有一个登录界面,用户可以从该界面登录参加考试。管理员也应该有一个进入管理登录界面的通道。进入开始考试界面,由计算机随机提取试题,显示出来组成试
27、卷,并开始进行计时。考生再次进行考试,答完试题后交卷,进入下一个界面。考生提交答卷后,由计算机进行处理-判卷,得出考试分数,显示出来,并把该生考试记录存入数据库。在这个界面上应该可以返回继续进行考试或回到登16录界面。以上是系统进行考试功能的部分,要对系统进行管理,如试题管理、科目管理、用户管理等就需要设计一些管理界面。下面就来逐步进行设计。要进行管理首先要有管理员登陆验证,这里另外设计了一个界面,使它与用户登录区别开来。这个界面与用户登录界面表面上很相似,但是他们是从不同的表中提取数据进行验证的,以便于系统扩充和增加安全性。管理用户的界面可以实现用户的增加、和删除的功能,管理员在此可以对用户
28、进行管理。管理管理员的界面,功能和管理用户的差不多,实现对管理员的增加和删除功能。管理考试纪录界面可以对考生的每次考试进行纪录,管理员科可以对考生成绩、时间及考试各相关纪录进行查询和删除。最后是试题库管理界面,它根据各科进行分类。通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。这样就十分方便灵活的对试题库进行管理。附录部分代码:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;17
29、using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;public partial class test : System.Web.UI.Pageint numberofti = 11;/生成试题的数量int testlist;/存放10个随机数的整型数组DataTable Test = new DataTable();/用于存放随机抽取的试题;Ole
30、DbConnection conn;/数据库连接protected string userselect = new string10;/考生选择的答案protected string trueanswer = new string10; /该题正确的答案protected void Page_Load(object sender, EventArgs e)lblname.Text = (string)Session“username“;lbllogintime.Text = (string)Session“logintime“;Button1.Visible = false;/ / 生成10个
31、随机整数,并存放于数组中/ / / protected void btnbegin_Click(object sender, EventArgs e)testlist = new intnumberofti;string connecionstring = (string)Application“connectstring“;conn = new OleDbConnection(connecionstring);string commandtext = “select count(id) from question“;OleDbCommand comm = new OleDbCommand(c
32、ommandtext);comm.Connection = conn;OleDbDataAdapter da = new OleDbDataAdapter(commandtext, conn);DataTable dt_rowcount = new DataTable(“rowcount“);da.Fill(dt_rowcount);int rows = int.Parse(dt_rowcount.Rows00.ToString();for (int i = 0; i / 按照随机数组里的ID号,抽取试题/ / / private DataTable GetTestTittle(int tem
33、array)19DataTable testTable = new DataTable();/存放试题的表DataTable temptable = new DataTable();OleDbDataAdapter odap = new OleDbDataAdapter(“select top 30 * from question“, conn);OleDbCommand cmdselect = new OleDbCommand();odap.Fill(testTable);return testTable;/ / 根据每一个ID号生成SQL语句/ / / private string Cre
34、ateSQL(string id)return “update question set hasselected=1 where id=“ + id;/ / 得到随机数/ / 随机数的最大值/ private int GetNumber(int maxvalue)Random rd = new Random(DateTime.Now.Second);int result = rd.Next(maxvalue + 1);if (result = 0)result = 1;return result;/ / 判断一个整数数组里面是否包括一个整数/ / 数组/ 一个整数/ private bool
35、ArrayHasItem(int array, int item)for (int i = 0; i / 退出系统,并转到登陆页面,清除session/ / / protected void Button2_Click(object sender, EventArgs e)Session.Clear();Response.Redirect(“default.aspx“);/ / 交卷/ / / protected void Button1_Click(object sender, EventArgs e)int testnumber = Test.Rows.Count;Response.Wri
36、te(testnumber.ToString();for (int i = 0; i testnumber; i+)string selvalue = (RadioButtonList)GridView1.Rowsi.FindControl(“RadioButtonList2“).SelectedValue;userselecti = selvalue;trueansweri = Test.Rowsi“answer“.ToString();参考文献:211 博嘉科技,刘洪海.网络数据库开发实战 ASP 与电子商务.北京:中国铁道出版社,20002 陈峰棋.ASP 与 SQL网站数据库程序设计.
37、科学出版社,20023 李劲,谢兆阳 .SQL Server2000数据库设计与系统管理.清华大学出版社,20014 李晓黎,张巍 .ASP+SQL Server 网络应用系统开发与实例.人民邮电出版社,20045 薛小龙.ASP 典型系统实战与解析.电子工业出版社,2007中国矿业大学毕业论文任务书学院 专业年级 学生姓名 任 务 下 达 日 期 : 年 月 日22毕业论文日期: 年 月 日至 年 月 日毕业论文题目:毕业论文专题题目:毕业论文主要内容和要求:院长签字: 指导教师签字:23中国矿业大学毕业论文指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内
38、容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 指导教师签字:年 月 日24中国矿业大学毕业论文评阅教师评阅书评阅教师评语(选题的意义;基础理论及基本技能的掌握;综合运用所学知识解决实际问题的能力;工作量的大小;取得的主要成果及创新点;写作的规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成 绩: 评阅教师签字:年 月 日25中国矿业大学毕业论文答辩及综合成绩答 辩 情 况回 答 问 题提 出 问 题 正 确基 本正 确有 一般 性错 误有 原则 性错 误没 有回 答答辩委员会评语及建议成绩:答辩委员会主任签
39、字: 年 月 日学院领导小组综合评定成绩:学院领导小组负责人: 年 月 日26摘 要(“摘要”之间空两格,采用三号字、黑体、居中,与内容空一行)(内容采用小四号宋体)关键词:(小四号、黑体、顶格) (内容采用小四号、宋体、接排、各关键词之间有 1个空格及分号)27ABSTRACT(采用三号字、Times New Roman 字体、加黑、居中、与内容空一行)(内容采用小四号 Times New Roman字体)Keywords:(小四号、Times New Roman、黑体、顶格) (内容采用小四号、Times New Roman字体、接排、各关键词之间有 1个空格及分号)28目 录(三号、黑体、居中、目录两字空四格、与正文空一行)以下格式要求参照“中国矿业大学毕业设计格式模板” ,不再举例。