在线考试系统的设计与实现毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉工业学院毕业设计(论文)设计题目:在线考试系统的设计与实现
姓名: 张守龙
学号: 070505202 院系:计算机与信息工程系
专业:软件工程
指导教师: 周建芳老师
2011年6月2日
目录
目录 (2)
摘要 (4)
ABSTRACT (4)
第一章绪论 (5)
1.1 研究背景 (5)
1.2 研究问题的提出 (5)
1。
2。
1 研究内容 (6)
1。
2.2 研究目标 (6)
1.3 研究意义 (6)
1.4 研究思路与研究方法 (7)
1.5 论文框架 (9)
第二章开发环境介绍 (10)
2.1 开发环境配置 (10)
2。
2Web概述 (10)
2.3 ASP技术 (11)
2。
5.3 SQL Server介绍 (13)
2.5。
4 Ajax介绍 (14)
2.4 开发环境及技术的选择 (15)
2。
5 小结 (16)
第三章系统设计 (18)
3。
1 系统需求分析 (18)
3.1.1 系统可行性分析 (18)
3。
1。
2 系统功能需求分析 (18)
3.2 系统总体设计 (19)
3。
2.1 系统的体系结构 (19)
3。
2。
2 系统的用例图 (21)
3.3 系统详细设计 (23)
3.3.1 后台总体架构介绍 (23)
3.3。
2 身份验证模块 (24)
3。
3.3 组卷模块 (25)
3.4 数据库设计 (26)
3。
4。
1 创建数据库 (26)
3。
4.2 数据表结构 (26)
3。
5 小结 (31)
第四章详细设计 (32)
4.1 界面制作 ........................................................................................ 错误!未定义书签。
4.2 程序编码 ........................................................................................ 错误!未定义书签。
4。
3 系统测试 . (44)
4。
3。
1测试环境 (44)
4。
3。
2测试过程 (44)
4。
3。
3 测试结果 (45)
4。
3.4 调试及回归测试 (45)
4.4 系统评估 (47)
4。
5 小结 (47)
第五章总结 (48)
5.1 研究内容的总结 (48)
5。
2 主要创新点 (48)
5.3 存在的不足点及今后的研究方向 (49)
致谢 (50)
参考文献 (50)
基于Web的在线考试系统的设计与开发(后台管理)
摘要
作为对传统考试方式的改革,网络化考试是近年来研究的一个热点课题。
在线考试是网络化考试系统的重要组成部分,本论文的主要工作是设计并实现一个在线考试系统。
利用在线考试系统,试卷动态生成,使用计算机自动判卷,大大提高阅卷效率。
在服务器端,系统平台采用Windows XP,数据库平台采用SQL Server 2000,采用ASP技术实现用户界面层设计。
采用管理员、教师、考生三级授权方式,提高系统安全性.
关键词:在线考试,题库,试卷,动态生成
THE DESIGN AND DEVELOPMENT OF ONLINE
EXAMINATION SYSTEM BASEWEB (BACKGROUND MANAGEMENT)
ABSTRACT
As the reform of traditional test, the examination system in network is a hot point study in recent years topic. The online examination system is the important part of the examine system in network。
The main work of this thesis is design of an on-line examination system。
With online examination system, test paper can be produced dynamically and can be corrected by computer efficiently。
The operating system in server machine is Windows XP. SQL server 2000 is used as database development platform. ASP technology is adopted to design user interface. The system provides good security in the fashion of three—tier authorized system including administrator, teacher and student。
KEY WORDS:online examination,question database,test papers,produced dynamically
第一章绪论
1。
1 研究背景
随着计算机技术的发展和互联网时代的到来,人们已经进入了信息时代,也有人称之为数字化时代。
在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习,同时希望能够得到科学的评价;老师希望有效改进现有的考试模式,提高考试的效率;教育机构也希望给网上的学生提供更全面灵活的服务,同时希望全面准确地对学生进行跟踪和评价。
在线考试系统正式迎合这一市场需求而开发的,它旨在探索一种以互联网为基础的考试模式。
通过这种新的模式,为学校创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以随时、随地通过网络完成考试[2]。
1。
2 研究问题的提出
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。
现在,计算机硬件技术的发展已经达到了相当高的水平。
但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。
其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。
在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析.显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户[3]。
1。
2.1 研究内容
让系统在Windows98/2000/XP平台环境下运行稳定,对软、硬件要求低,运行速度快、操作简单、界面友好、易于管理和维护;而且具有较强的针对性、实用性和可操作性,初步解决了校园理论考核层次广、次数多、内容全,以及保密性和公平性差、评卷困难等问题。
并对其详细的设计方案、实现技术和运行情况做了分析和研究,最后对未来的工作做了研究与探讨。
论文主要围绕系统设计开展研究,保证了考核的公平、公正、公开,有力地促进了理论学习的全面开展。
本文重点研究了以下几个方面:
(1)系统的体系结构、工作方式、主要功能模块、主要数据的工作流程、后台数据库的设计、数据库配置与连接;
(2)系统各功能模块的详细设计、开发及其关键技术[4]。
1。
2。
2 研究目标
我们设计的在线考试系统是一个基于Web的实时在线考试系统,系统的目标是实现一个基于Internet的智能化远程考试系统,采用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合[5]。
1.3 研究意义
考试是教学中最后也是一个重要的环节,可以帮助教师了解学生对知识的掌握情况,同时也是对自己教学方法的一种检测,利于改进教学。
但是这又受到考试本身的各种因素的影响,比如试卷的难易程度、评分标准和考试作弊等。
因此在21世纪,推进教育改革的同时,考试改革也是研究的一个重要课题。
传统的考试需要经过很多复杂的步骤才能进行。
步骤如下:组织教师命题;印刷大量试卷;安排考场、考试时间、监考老师等;进行考试,统计成绩等。
这整个过程存在了大量的问题。
第一,科学性.试题由部分教师完成,所以出题老师一定对难度和内容的把握非常小心,否则达不到预期的效果。
并且每套试题涵盖的知识点固定,造成了对知识考察不全面。
第二,保密性.由于从出题到印刷一直到最后的考试,很多人参与,导致保密工作难度较大。
第三,公平性。
考生考试时所考内容相同,杜绝作弊是考试的一个普遍的难
题;考试结束后人工评卷可能造成评分标准较大偏差,从而影响考试的公平性。
第四,灵活性.时间地点都是经过统一安排,所以如果考生耽误考试就要参考补考.
传统的考试从出题、组卷、印刷,到试卷分发、答题、收卷,再到判卷、公布成绩,整个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,使得整个考试的成本较大。
所以组织多人参考的考试相当麻烦。
当前网络迅速普及,以Internet技术为代表的信息技术为人们创造了一种新的不受地域、时间和计算机约束的信息交流、共享和协作方式.21世纪是信息化的社会,数据信息应用已进入大规模服务阶段。
考试作为最直接体现信息化社会中人们的知识水平的一种方式,是目前使用最为广泛的形式之一。
实现无纸化、网络化、自动化的在线考试系统,具有深远的现实意义和实用价值.当前,信息技术的发展突飞猛进,特别是网络技术的兴起,使得考试信息化、自动化成为可能。
三层结构的出现为出题、组卷和答题提供了良好的系统架构,从而实现统一管理题库、动态组卷、自动判卷,极大地节省了人力、物力,提高了效率[6]。
本研究是对在线考试系统进行设计并实现。
这个题目已经有人在研究,但是现在存在的考试系统,都存在一定的缺陷,没有一个可靠的、实用的在线考试系统。
所以本研究具有挑战性和较强的实用性。
1。
4 研究思路与研究方法
论文采用了总体规划、分步实施、软件技术与网络技术相结合,管理模式研究和技术开发相结合,研究与应用相结合的技术路线。
首先通过分析在线考试的实际需求,设计考试的组织与管理模式;分析并设计用户登录、考试科目、专业课程等多约束条件下与考试相关的其他信息的关系结构;继而设计考试试卷的组成规则、题型和题量的分布及程序实现方法,分析计算机答卷的技术要求和阅卷评分的准确性要求,并设计解决方案:设计考试系统的模式结构、功能、安全性和网络适应性等;最后,制定系统应用规范。
(1)题型和题量的设计
在基于Web的在线考试系统中,题库中的题型设计是一个重要因素,决定了考试是否能够产生科学、合理的测试效果。
本系统处理的题型有:单项选择题、多项选择题、判断题、填空题和简答题等,并设置有标准答案、试题分值、试题
归类、难度级别,满足考试抽题及自动阅卷的参数要求。
同时,通过录入充足的题量,以满足考试抽题的随机选择空间。
(2)计算机答卷的技术要求
考生试卷中所有试题均为单项选择题、多项选择题、判断题、填空题或者简答题等。
考生答题时,使用鼠标选择各题目中认为正确的选项,单项选择题和判断题仅能够选择选中一个答案,多项选择题能够选择两个以上答案,填空题和简答题将答案填入相应的框中。
对考生而言,只需要掌握鼠标的使用方法和键盘输入方法即可.很显然,这样的操作技能,针对社会中具有中、高级文化程度的人员来说,不存在任何障碍.因此考生利用计算机进行考试答卷是完全可行的。
(3)阅卷评分的准确性保障
在在线考试系统中,对于客观题型的阅卷通过将考生答案与试题标准答案进行字符串比较的方式来判别,保证了阅卷的准确性,对于主观题型的阅卷通过教师的人工阅卷评分,评分可通过累计正确答题的试题分值来获得,算法简单、快速、准确,程序编制容易。
(4)系统开发及应用模式
基于Web的在线考试,充分利用Internet,采用B/S模式的数据库体系,客户端软件仅需浏览器支持,维护简单。
系统开发周期短,应用程序页面简单、轻量,具有很强的伸缩性,对客户端硬件配置要求极低,易于达到要求,可以选择不同厂家的设备和服务。
系统资源的冗余度小,部署方便,容易维护且可扩充性良好.
(5)选择合适的开发工具
开发工具的选择对一个系统来说很重要,既决定了开发人员的开发效率,也对页面的美观和操控性起着重要作用,同时也对系统的易维护性和扩充性有着重要影响.
(6)建立多客户环境下数据库应用模式
以Web技术为基础的B/S模式正日益显现其先进性,当今很多基于大型数据库的应用系统正在采用这种全新的技术模式。
B/S模式由浏览器、Web服务器、数据库服务器三个层次组成。
在这种模式下,客户端使用一个通用的浏览器,代替了形形色色的各种应用软件,用户的所
有操作都是通过浏览器进行的。
该结构的核心部分是Web服务器,它负责接受远程(或本地)的HTTP查询请求,然后根据查询的条件到数据库服务器获取相关数据,再将结果翻译成HTTP和各种页面描述语言,传送回提出查询请求的浏览器,由后者与数据库联系完成这些工作。
1。
5 论文框架
本文主要分析了现有的在线考试系统的优缺点,并针对这些缺点,利用Ajax 技术改进了基于Web的在线考试系统。
提供了一个人性化,高交互性与高响应性的在线考试系统。
本文各章节的主要内容如下:
第一章绪论。
主要介绍了本文的研究背景,概述了本文的内容安排和研究目标,并给出了研究意义,研究思路与研究方法。
第二章开发环境介绍。
本章主要介绍本在线考试系统设计的开发环境,以及开发中应用关键技术。
第三章系统设计。
介绍了系统的需求分析、总体设计和详细设计。
第四章详细设计。
本章介绍了系统的界面制作、数据库开发、程序编码、系统测试和系统评估.
第五章研究结论与未来研究。
介绍了研究内容的总结、主要创新点、存在的不足点及今后的研究方向。
第二章开发环境介绍
2。
1 开发环境配置
本考试系统的开发环境如下:
(1)信息服务器:Internet Information Service。
(2)开发技术:ASP技术,ajax技术。
(3)开发工具:Macromedia Dreamweaver 8、Adobe Photoshop CS。
(4)数据库:SQL Server 2000.
(5)浏览器:IE浏览器。
(6)服务器操作系统:开发过程采用Windows XP Professional操作系统,系统实施后可采用Windows 2003 Server服务器操作系统。
在创建系统的时候,将online_Examination创建在IIS服务器的主目录下面,例如C:\Inetpub\wwwroot\online_Examination;Images文件夹用于存储系统中的图片文件;Database文件夹用于存储备份的数据库文件。
2。
2Web概述
(1)Web定义
Web是WWW(World Wide Web)的简称,又称万维网。
简单的说,Web是建立在客户机/服务器(Client/Server)模型之上,以HTML和HTTP协议为基础,能够提供面向各种Internet服务的、一致的用户界面的一种信息服务系统[17] (2)Web的结构和工作原理
Web的结构主要分为两部分,一为服务器端(Server),也就是信息的提供者,二为客户端(Client),也就是信息的接受者.在客户机/服务器体系结构中,通常比较容易理解为两端的计算机。
但事实上,“客户机”和“服务器”概念更多的是指软件,是指两台机器上相应的应用程序[17]。
对于Web系统,客户机上所运行的浏览器程序基本上是标准化的,所以建立客户机/服务器系统的主要任务就落到了服务器端.Web的体系结构因而可以称作浏览器/服务器结构,如图2—1所示。
图2-1Web的体系结构[17]
Web使用超文本传输协议HTTP(Hyper Text Transfer Protocol)在Web服务器和浏览器之间传输Web文档。
而HTTP是一个无连接、无状态的协议。
一个完整的HTTP事务由以下4个阶段组成:客户与服务器建立TCP连接;客户向服务器发送请求;服务器响应请求,发送应答,在发送中包含状态码和请求的HTML 文档;客户与服务器关闭连接。
其过程可以用图2—2表示。
图2—2Web的工作原理
2。
3 ASP技术
(1)ASP简介
ASP(Active Server Pages)是微软开发的基于Windows NT Server和IIS服务器端脚本运行环境,利用它可以产生和运行动态的、交互的、高性能的Web 服务应用程序。
可以看出,ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,其主要功能是为生成动态的交互式的Web服务器应用程序提供一种功能强大的方法或技术[18].ASP的主要特性是能够把HTML、VBScript、Jscript 等脚本语言和ActiveX Server Component(ActiveX服务器组件)等有机地组合在一起,形成一个能够在服务器上运行的应用程序,并把按用户要求专门制作的标
准HTML页面送给客户端浏览器。
由于本课题研究主要使用ASP技术实现Web 与数据库互连,因此这里对ASP技术做详细的介绍。
当需要针对不同使用者使用不同浏览器访问服务器资源时,Client端的应用是不够的。
ASP是一种Server端的应用环境,它的命令和脚本语句由服务器端解释执行.开发者可以不必考虑浏览器是否支持ASP。
同时,由于只是标准的HTML 页面送到浏览器,在浏览器上看不到ASP程序,因此可以防止程序被窃取,保护了开发者的利益。
(2)ASP工作原理和配置
通过ASP访问数据库的工作过程如图2—3所示。
图2-3ASP工作原理
(3)ASP的特点
从软件的技术层面看,ASP有如下的特点:
错误!无需编译。
ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行.
错误!易于生成。
使用常规文本编辑器(如WINDOWS下的记事本),即可进行asp页面的设计.若从工作效率来考虑,不妨选用具有可视化编辑能力的Dreamweaver。
错误!独立于浏览器。
用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页。
ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。
错误!面向对象。
在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过ActiveX Server Component(ActiveX服务器组件)来扩充功能。
错误!安全性好。
源程序码不会外漏,ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。
2.5.3 SQL Server介绍
(1)SQL Server特点
本系统所采用的后台数据库为Microsoft SQL Server,它是一个可伸缩的高性能的关系数据库管理系统,其主要特点[19]有:
·与Windows系统集成
·允许集中管理服务器
·提供企业级的数据复制
·提供并行的体系结构
·支持超大型数据库
SQL Server是一个独立于网络的,并且特别适用于那些运行时需要在异构环境下进行连接的应用程序.Windows下的SQL Server;支持绝大多数的网络协议,如IPX/SPX、TCP/IP等,支持在这些协议下客户与服务器的连接。
SQL Server集中了诸如数据一致、存储、触发器、索引、视图、事务处理、加锁、备份恢复等管理机制,利用分布式框架(DHF)集中管理整个企业范围的服务器。
从数据库管理角度来看,SQL Server实现了以下几方面的功能:
错误!数据完整性。
错误!安全可靠。
错误!并发执行.
错误!集成管理。
(2)SQL Server安全性
良好的数据库的安全设计,可以有效地保护数据库,防止不合法的访问和破坏。
在开发数据库系统时,安全性设计是开发者不能回避的重要环节.SQL Server 安全性用于保护服务器和存储在服务器中的数据,它提供了完善的安全机制来决定可以登录到服务器的用户、用户可以操作的管理任务、用户可以访问的数据库、数据库对象及其他方面的管理任务。
2。
5。
4 Ajax介绍
Ajax这个概念的最早提出者Jesse James Garrettl[20—22]。
Ajax全称为“Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
它包括:
(1)使用XHTML和CSS标准化呈现;
(2)使用DOM实现动态显示和交互;
(3)使用XML和XSLT进行数据交换与处理;
(4)使用XML HTTP Request进行异步数据读取;
(5)最后用JavaScript绑定和处理所有数据.
Ajax不是一项新技术,而是很多成熟的技术的集合。
和Applet,Flash相比,Ajax则是一种轻量级的解决方案。
因为它操作的基础是HTML或者是XHTML,使用的脚本语言是JavaScript,这可以保证它的纯文本性质;利用XML,Ajax可以和其他应用程序方便的进行通信。
Ajax可以迅速赢得别人的关注的另外一个重要原因还在于它完全是基于成熟的技术,作为异步调用的基础设施XML Http Request,早在1999年就被引入了IE浏览器,随后又被其他浏览器支持。
Aja x 以一种崭新的方式来使用所有的这些技术[24],使得古老的B/S方式的Web开发焕发了新的活力。
见图2-4.
图2—4各种技术在Ajax引擘中的引用
Ajax是一个结合了Java技术、XML、以及JavaScript的Web开发模式[24],可以构建基于Java技术的Web应用。
和传统的Web更新技术不同,传统的Web 应用允许用户填写表单(form),当提交表单时就向Web服务器发送一个请求.
服务器接收并处理传来的表单,然后返回一个新的网页.这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的.由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间.这导致了用户界面的响应比本地应用慢得多。
与此不同,Ajax技术可以仅向服务器发送并取回必需的数据,它相当于在客户端和服务器之间加了一个中间层,即Ajax引擎。
并不是所有的用户请求都提交给服务器,一些数据的验证和处理由Ajax自己来做,只有确实需要从服务器读取新数据时,才由客户端通过JavaScript 调用Ajax引擎向服务器端发出Http请求,但它并不等待请求的响应,用户可以继续浏览或交互。
当服务端的数据以XML形式返回时,Ajax引擎接收数据,并指定JavaScript函数来完成相应的处理或页面的更新,而不是刷新整个页面,从而实现用户操作与服务器响应的异步化。
如图2—5所示。
图2-5Aj ax工作原理图
2。
4 开发环境及技术的选择
传统的Web页面重载机制已经严重的制约着网络应用软件的开发,因此,关于页面的载入技术的研究也就成为Web应用程序设计的关键.然而这种状况一直没能彻底改变,直到Ajax技术的出现。
在Ajax技术之前,在线考试系统的在线考试都经历提交答案、等待响应、重新加载页面这样的过程。
为了保护答案数据的完整,这类系统往往需要进行大量的提交动作,这种独占式请求操作总是与服务器的“响应时间”同步,即当请求未得到服务器完全响应时,用户只能等待,
而不能进行其他操作;或者当页面只需更新小部分数据时,浏览器必须重新加载整个页面。
这些频繁交互请求的过程不仅让考试处于不连续的状态中,同时也消耗了大量服务器资源。
与此不同,Ajax采用独特的远程脚本调用技术,可以异步的实现页面数据的更新,彻底解决了传统页面的重载问题,开启了全新的网页应用程序设计模式。
其典型应用有google的GMail、Google Suggest等。
在国内,Ajax技术已经成功的应用到网易的邮件系统。
基于Ajax开发的B/S模式系统将继承其所有优势,在面对大数据量与服务器通信时,不但不容易引起数据丢失、服务器死机等现象,而且用户操作页面也会流畅很多,这是一种新的B/S模式上C/S模式速度的Web操作体验。
虽然目前计算机技术以及网络技术都在高速发展,但在诸多场合现在的Web 系统仍不能完全满足用户的需求.比如:WebGIS领域的实时查图功能,这不仅需要足够的带宽支持,而且需要用户有足够的耐心,同时这对服务器也是一个不小的负担。
再如:大多数在线考试系统往往由于带宽不足或是服务器配置不够,经常出现种种问题。
尤其是各高校在“数字校园”建设中,经常会遇到类似的问题。
网络教育是“数字校园”建设中的重要组成部分,由于校园网的用户众多,网络资源也相当有限,这给网络教育系统的建设带来了一定的困难。
这种问题在校园网内的在线考试系统突显严重,因为在固定的考试时间内,大批的考生要同时在线答题,考试结束时,所有考生要同时向服务器提交试卷结果,这给服务器带了巨大的负担。
因为同时向服务器提交大量的数据,经常致使无法正常提交试卷,造成页面响应超时,甚至造成丢失数据、服务器死机等现象,考生的操作页面此时也是停滞不前,严重影响在线考试的效果
2.5 小结
本章主要是对本系统设计的一些基本知识进行介绍.由于本系统是使用ASP 技术实现的,所以对ASP技术做了一个详细的介绍,包括其工作原理、功能以及使用ASP技术的优点。
本章还介绍了SQL Server的特点,它是一个可伸缩的高性能的关系数据库管理系统;接着介绍了它的安全性,因为在开发数据库系统是,安全性是设计师开发者不能回避的重要环节;在本章,介绍了系统运行过程。