基于局域网的考试系统.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章绪论
1.1网络考试系统的研究背景
当今,随着计算机的普及和Internet的发展,计算机辅助教学及远程教育得到迅速发展,目已有100多个国家开展了远程教育。

美国的远程教育发展迅速,正在实施第二代Internet工程,加快网络运行的速度;法国教育部制定了为期两年的紧急培训计划,即从1998年秋季开始,在各培训学院对学校的领导和教师进行有关培训,以便引导儿童能够提前熟悉网络,使教育能够提前实现现代化。

我国政府也非常重视远程教育。

早在1998年初,教育部出台《面向21世纪教育振兴行动计划》,就涉及到对这一问题的认识和考虑:“及早使我国现代远程教育资源建设走上科学、系统、规范的轨道,完成现代远程教育资源建设任务”,强调实施“现代远程教育工程”,形成开放式教育网络,构建终身学习体系。

国家教委在1999年提出了远程教学规范,指出现代远程教学的核心是教学资源建设。

前教育部长陈至立在教育部2000年年度工作会议的讲话“着眼未来,面向世界,积极推进教育现代化建设”中一再强调:“要充分认识现代远程教育与教育信息化对21世纪教育发展至关重要。


1.2网络考试系统的重要性
学习和考试总是紧密结合在一起,在学习方式走向电子化、远程化的同时,考试也在实现无纸化。

无纸化考试系统就是采用计算机为工具替代人类的手工出题、发题、身份验证、监考、收卷、阅卷、统分和试卷分析等过程,使考试更加严格、真实可信,降低考试成本,提高考试效率。

同时组织考试的机构也可方便地利用计算机组织考试,通过计算机简化了发卷、收卷、评卷等烦杂的考试过程,也可利用软件分析考生的答题情况,反馈指导教与学的活动。

1.3 国内外网络考试系统的发展现状
目前国际上著名的考试如托福、GRE等都将实行网上考试。

国外教学考试平台较具典型代表的有:Lotus公司的Learning Space;英属哥伦比亚大学计算机科学系开发的Web CT(Web Course Tool)、WBT System公司的Top Class和加拿大Simon Fraser大学开发的Virtual—U。

国内上海交大的WBCL(Web Classroom)模型在构建主义CAI理论的基础上,结合CSCL(Computer Supported
Collaborative Learning)模型,引入WBCL(Web Based Collaborative Learning)的概念,为身处异地的师生提供了一个基于Web的有效的教学环境;人大远程教育中心的V—Class(visual—class)模型则以学生自主学习的“个性化”探索和协作式教学模式为基础,发布了一个基于互联网的涵括教学管理系统、教学子系统、网络课程开发工具和教学资源管理等在内的教学支持平台。

此外市面上较具典型代表的有无忧、杰佛考试软件,它们功能较为强大,通用性较强,能融练习、考试、培训等功能于一体。

1.4 本文研究内容
本文主要研究网络考试系统的现状、设计和开发。

文章组织如下:
第一章为绪论,主要研究网络考试的背景、意义和国内外发展现状;第二章介绍网上考试系统的相关设计开发技术,包括开发模式等。

第三章研究系统需求,分析系统用户需求,功能需求和非功能性需求。

第四章介绍系统设计开发的相关情况,包括系统安全。

第五章是系统运行效果展示。

后面是结论和参考文献。

第二章网上考试系统的相关技术
2.1 B/S模式
B/S模式也就是我们常说的浏览器/服务器模式[6]。

目前,C/S模式和B/S模式是计算机信息管理系统中比较常用的两种模式[5]。

比如表2-1:
表2-1 C/S结构和B/S结构的比较
根据上表可知,两种模式的优点和缺点各不相同。

上世纪八十年代至九十年代,C/S模式一直占据计算机管理系统中的老大地位,该模式基本上能够在客户端实现全部的工作和表示逻辑以及数据通道代码。

不过,面对用户越来越高的需求,运算程度越来越复杂以及不断提速的数据交换频率,致使C/S模式下的计算机系统的维护和升级变得越来越不方便,再加上C/S模式要求客户端必须同数据库进行连接的要求,导致系统支持的用户数量受到一定限制。

伴随着Internet 以及Intranet的不断发展进步,采用Web技术为基础的浏览器/服务器模式被研发出来,该模式一经出现,就以其具有的开放性、极佳的伸缩性以及较低的维护成本等特点,迅速取代了C/S模式,成为当下计算机管理系统中的“新宠儿”[6]。

该系统的B/S模式如图2-1:
图2-1 本系统B/S结构
Fig2-1. B / S structure of the system
2.2 JSP技术
随着科技的发展以及网络化社会的到来,互联网已经成为人们生产生活过程中不可或缺的一部分,人们可以通过互联网实现学习、购物以及交流等多项服务,可以说,人们当前的生产生活方式正在被网络所改变。

特别是以WWW为基础的互联网,因其具有更加优良的交互性以及绚丽多彩的内容,成为众多网民眼中的“宠儿”,与此同时,也为Web技术的快速发展创造了机会,各种以Web为基础的技术以及计算机语言,受到越来越多的网民的喜爱。

由一开始的HTML发展到目前的JSP、PHP以及ASP等技术,都表现出Web技术正在向着越来越完善成熟的趋势发展,特别是JSP技术独有的无关性及较为容易的维护性特点,再加上引进Java语言所具有的特点,使其被人们认为是当下以及未来最有发展前景的动态网站技术。

JSP技术的全称是JavaServerPages、使用该技术能够把纯Java代码镶嵌在HTML中,从而达到实现动态功能的目的。

它可以让Web研发以及网页设计等相关人员方便快捷的开发出,既实现动态又易于维护的Web主页。

利用JSP技术开发出来的Web应用程度,能够在包括Windows及Linux等在内的多种操作系统上运行。

JSP技术一经发布,就引起了人们的广泛关注。

2.3 表单技术
表单的作用就是对用户输入的各种信息进行收集和提交,它是HTML中的不可或缺的组成部分。

在一对<form>...</form>标记中会含有一个表单,其中name 及action等都是表单的属性,name代表的是表单的名字,在每一个表单内系统都会默认一个名字为form,如果一个界面里有多个表单的话,系统就会以form1、form2…的形式进行表单名字的默认;action代表的是接收数据服务器的URL,也就是说将表单数据交由哪个页面进行处理;method代表的是数据提交方式,提交方式主要包括get和post。

如果采用get方式实施数据提交任务的话,所提交的数据将会以明文显示的形式出现在浏览器的地址栏内,该方式不适用于那些敏感数据的提交;表单控件主要包括input、text area、select以及button 等控件。

Input控件即输入控件,它的type 属性对其类型进行了规定,如text 类型代表该控件是一个单行文本输入框,password 代表密码输入框,当用户输入数据后,数据会以******的形式显示在界面中,此种形式能够保证用户某些重要信息的安全性,check-box代表多选控件,radio代表单选控件,hidden 代表隐藏控件,也就是说它不会在界面中显现,它的作用就是存储一些通用户没有关联的控制数据,image代表图片控件,能够进行图片资源的存储,比如验证码之类的,不过采用图片类型过程中,要同另外一个属性为 src="..."相配合,该属性代表图像的URL。

当然一些事件也属于控件,比如,on-focus 代表的是某些元素被系统选中过程中所生成的事件,当元素状态发生变化时所生成的时间由on-chang 表示。

能够允许用户实施多行输入的文本框用textarea 控件来表示;而select 控件表示的意思是对用户的各种选择创建多个选项,而这些选项用
<option>...</option>的形式显示;button 控件代表的就是按钮,而它的属性又包括一般按钮以及提交按钮等[23]。

2.4 验证码技术
验证码指的是用户在实施注册、登录以及发帖等活动中所输入的由系统随机生成的字符串。

验证码是一种安全技术,它的作用是对非法用户的暴力破解密码进行防范。

在使用验证码技术后,将会在表单上显示一个验证码文本输入框,同时在其一旁会配有一副图片,该图片由数字以及字符混合而成。

用户在进行提交表单活动前,首先要将验证码图片内的内容填写到验证码文本框内。

服务器在接收到用户提交的表单后,会先将用户所输入的验证码同实际的进行对比,如果对比正确,则该用户为合法用户,反之则为非法用户,系统会阻止其下一步操作。

为了防止非法用户破解识图程序和验证码,通常会在一个合适范围内提高验证码的识别难度,比如通过对色彩、形状以及位置等方面执行变异处理,从而使自动生成的图片及验证码不具有规律性。

不过在难度的提升上一定要掌握好尺度,如果提升过高的话,就会导致用户也感到识别较难而影响其积极性。

利用验证码技术会导致生成的验证码占有CPU时间及服务器内存,因此大多在登录页面中使用该技术。

此外,由服务器随机生成的验证码明文不允许存储于客户浏览器内,因为这样的话,就无法体现验证的作用[25]。

第三章系统需求分析
在软件开发过程中,必须以需求分析为基础,因为需求分析不仅仅是其实施的开始阶段,还关系着软件开发的成功与否,同时对软件整个开发过程以及开发产品的质量起着关键作用,只有在开发过程中真正做好需求分析工作,才会全面、细致的了解客户需求,并以此引导软件开发工程的下一步工作方向。

通常情况下,需求分析主要包含三部分内容,分别为用户需求、功能性需求以及分功能性需求。

本章将以网上考试系统为例,对这三部分需求做具体分析。

3.1 系统用户需求
本人具有多年考试管理工作经验,在网上考试系统设计的初始阶段,本人曾针对现有网上考试情况进行了详细的调查和研究,并对调查结果进行了科学系统的分析,从而对网上考试系统有了更深、更广的认知,并确定了同网上考试系统有直接关系的三个报名用户。

这三个用户角色分别为主管部门用户、考生用户以及中心管理用户。

下面分别对这三个用户的具体需求进行介绍。

第一,主管部门用户需求。

主管部门用户希望能够随时掌握网上考试情形,以便针对现场情况对现场报名时间及地点做出科学合理的安排,对整个报名系统的实时情形进行掌控。

同时下载报名考生的数据、安排考生考场、并发布一些同
考试相关的信息,为考生提供报名指导,帮助其顺利完成网上考试。

第二,考生用户需求。

作为考生用户希望能够更加方便的在网上进行考试,可以随时对网上考试信息进行查询和修改,以及上传本人照片、下载准考证等功能。

假如出现考生忘记网上考试账号或登录密码的情况,可以为考生提供查询功能。

考生可以通过网络对考试机构发布的相关信息进行了解。

第三,中心管理用户需求。

对于中心管理用户来说,随时了解网上考试情形、对网上考试的各种参数进行修改、对网上考试数据进行维护以及对用户权限进行设置等都是他们的需求。

网上考试系统的设计应该以最大限度满足上述用户需求为目标。

为所有用户提供更加丰富多彩的与考试有关的内容以及美妙的用户界面,使得系统的各项功能的操作尽可能的简单容易,能够及时发布同考试有关的咨询,并随时更新,从而满足各个用户之间的交互需求,确保对每一位考生认真负责;网上考试系统要对所有同考试相关的信息实施统一规范管理,根据不同用户的需求特征,有针对性的设置不同用户的权限,对于那些拥有较大数据量的资讯信息,为了提高其访问效率,给予各个用户最大的方便,应该将这类信息按层存储;网上考试系统要创建安全可靠的运行环境,确保网上考试系统能够安全稳定运行,保护网络资源不被其他非法用户窃取;网上考试系统必须具备强大的吞吐量,保证不会因报名高峰时期的大访问量而导致系统崩溃。

事实上,网上考试系统的设计初衷就是为了满足各个用户的上述需求,该系统的开发目标是构建一个以Web终端为基础的多功能网络信息平台,为考生及其他用户提供多方面的信息服务。

建立网上考试系统就是为了充分调用丰富的社会资源,以现代信息技术为依托,将考试管理部门、考场报名点与考生这三者之间紧密结合在一起,能够高效快捷地位广大考生服务,确保考试工作顺利开展,并有效降低考试成本。

3.2 系统功能需求
网上考试系统将互联网作为平台,对众多报考用户的数据进行采集工作,同时对这些数据进行统计、分析、整理以及计算等。

出于数据库安全方面的考虑,将这些用户划分为两大类,分别是系统管理员和普通考生。

系统管理员能够直接调阅报名信息,并能够对系统采集的数据进行统计、分析以及整理等工作;而普通考生能够利用网上考试系统进行信息录及修改,并通过网络进行考试成绩及录取等情况的查询。

综上所述,在加之对考试系统的常规要求,本文将网上考试系统需要具有的功能进行总结后得出如下内容:
考生界面:
(1)考生能够利用网上考试系统了解同考试有关的信息;
(2)考生能够通过网络进行报名、上传本人照片以及缴纳报名费用等;
(3)考生能够在规定期限内对自己的报名信息进行变动,或者能够取消自己的考试报名;
(4)考生通过网络在其规定时间下载并打印自己的准考证;
(5)考生能够在考试成绩出来后,利用网络查询自己的成绩;
管理员界面:
(1)管理员能够对网上考试系统进行正常的更新及维护;
(2)管理员能够在制定时间开启网上考试功能,同时在考生报名期间,定期对报名数据进行备份、维护、更新及管理等职能;
(3)管理员在报名截止日关闭报名系统;
(3)管理员能够对考生数据进行筛选、分析和整理,并将准确的考生报名表上交给人事教育考试中心;
(4)管理员能够以银行及第三方系统也就是网上支付系统为基础,实现网络收取考生报名费用的功能;
(5)管理员能够利用网络对考生报名表进行统计报表以及相关费用结算等功能;
(6)在考试中心将考生成绩评判完成并下发后,管理员能够利用网上考试系统将考试成绩上传至网络,以便于考生查询考试成绩;
(7)管理员能够利用网上考试系统对考生成绩进行查询、分析以及打印等工作。

3.3 非功能性需求
非功能性需求指的是对系统在运行可靠性、可用性、稳定性、功能性以及可支持性等多方面的需求,进行另外的补充。

此外那些设计整个系统以及对多方面用例都有一定需求的功能性需求,也能够包括在补充说明内。

1.功能性要求
全部系统错误必须都记录在日志里,一旦出现致命错误的话,系统会自动停止工作,错误的文本描述、错误的操作、数据和时间戳等都属于系统错误。

无论是那种系统错误,都必须在错误日志数据库中有相关记录。

2.可用性要求
系统的用户界面要方便简捷,具有可操作性。

3.可靠性要求
(1)系统应该全天二十四小时保持开机运行状态,在一周内的关机时间不得超出百分之四。

(2)系统的无故障运行时间要超过三百小时。

4.性能要求
(1)无论在什么时候,系统的中央数据库都要确保能够支持最高不超过2000名并发用户请求。

(2)网上考试系统主服务器及部分重要设备必须要具有断电保护功能。

(3)网络带宽能够满足多方通讯的要求,确保通讯流畅。

(4)对于异常现象,系统应具备应急处理功能。

(5)系统应该具备存取报名库功能,同时存取报名库时间不得高于十秒。

(6)系统应该在六十秒内对百分之八十的事物完成处理工作。

5.安全性要求
(1)系统应该采取有效措施防止非法用户恶意篡改考生信息。

(2)系统必须去报考生信息的安全,不得出现信息泄露现象。

第四章系统设计实现
4.1 系统设计原则
网上考试系统信息处理量巨大,功能复杂,应该具备强大的信息存储、信息管理以及信息传输等功能,要求系统必须具有较强的处理能力,并在可靠性及安全性等方面也具有较高要求。

基于此,对网上考试系统设计过程中,应该严格按照以下原则进行:第一,准确性和及时性。

这两方面特性是系统自身必须具备的,不可或缺的重要性能。

对网上考试系统进行设计和开发时,要对系统目前及未来的工作量进行准确预判,并充分考虑这方面因素,以确保系统在投入使用后,能够满足对大量信息的处理请求。

第二,开放性和可扩充性。

在对网上考试系统进行开发时,必须对后期的可扩充性进行考虑。

比如在数据表中,用户有可能对字段方式进行改变,同时,随着社会的进步,用户利用网络进行查询的需求也会随之发生变化。

而上述这些不断更新的用户需求,都需要系统对其功能进行扩充和调整后才能满足。

通过后期对软件的修补和替换,来达到系统升级的目的。

第三,易用性和易维护性。

系统要想具备这些特性,就要在设计过程中尽量采用用户较为了解的术语,还应该使用中文信息界面,对于用户在使用过程中可能产生的问题,要尽可能为其提供在线解决帮助,从而有效减少用户熟悉该系统的周期。


四,系统的数据要求。

系统对数据的要求主要包括数据的准确性、实时性、一致性、完整性以及共享性等。

4.2 系统软件平台
服务器操作系统:在服务器操作系统的选择上,本文选用多用户、功能较强的 Linux系统,由于该系统的性能稳定可靠,并具有较强的可移植性以及网络功能等,在加上该系统是免费的并且源代码对外开放,能够在一定程度上节约系统开发成本。

系统开发环境:因为服务器的操作系统为Linux系统,不过因为它的开发不是很方便,所以采用Microsoft公司开发的网页编辑工具MicrosoftFrontPage2003,以及由Bogland公司开发的JBuilder9.0企业版对该程序进行开发,因为JSP技术和java技术具有较强的可移植性,因此开发后的程序能够较为方便的在不同的服务器件进行移植。

数据库服务器:用Oracle作为数据库服务器,Oracle是目前第一个完整并简单的在互联网应用的,最新一代具有智能化、能够对各种应用软件实施协作的软件基础框架。

Oracle具有较强的适应性,能够在多种系统上使用,比Windows 系统和Linux系统。

而 OracleforLinux并不收取任何费用,所以本文采Orade91forLinux系统,这样能够减少系统成本。

Web服务器:使用由APACHE公司研发的 APache2.0.47版作为本系统的web 服务器,该服务器在 NCSA httpd的基础上进行了数次修改完善后,目前在世界web服务器软件市场处于龙头地位。

它的优点就是能够在多个系统上运行,同时将源代码进行对外开放,而且还具有较高的安全性及稳定性等特点。

应用程序服务器:本系统使用由APACHE公司研发生产的Tomcat4.1.29版作为应用程序服务器。

由于web服务器无法对数据库服务器进行直接访问,所以必须利用一个中间插件来实现访问。

Tomcat是在java基础上开发的Apache Jakarta的一个子项目,
Tomcat4.1.29也是免费提供给广大用户,并且其源代码也全部空开。

Tomcat4.1.29不但能够当做JSP容器使用,还可以为独立的web服务器当做容器使用,不过它对处于静态的HTML文档的解释非常慢,将其作为单独的WEB服务器并不适合大型公司,只适用于个人用户及较小一些的公司 Tomcat4.1.29具有强大的伸缩性、安全性以及较高的工作效率等,因此应用也较为广泛。

本文所说的网上考试系统采用APACHE2.0.47同TOMCAT4.1.29进行搭配,从而建立起一
个具有强大的扩展性能的web服务器平台,开发人员经过合适的配置,本系统的文本服务器为APACHE,而JSP/Servlet容器采用TOMCAT。

Web浏览器:当前市场上普遍流行的Web浏览器主要有两种,一个是微软公司开发的IE浏览器,另一个是网景公司开发的Navigator。

本系统出于浏览器的兼容性,使用Java script语言对客户端和用户动态交互的程序进行编写。

JAVA平台:java虚拟机也是完全免费的,可以在其公司官网进行下载。

不过由于它本身无法支持JSP/Servlet,只能同Tomcat程序搭配使用,从而使
JSP/Servlet应用程序既可以有效利用java类库,又可以在虚拟机上实现高效运作,并通过http协议来满足客户端发送的请求。

4.3 系统功能模块具体实现
4.3.1 系统实现过程
本系统的实现过程由图4-1所示,首先在TOMCAT程序服务器默认的ROOT下对web模块进行部署,将web主机以及数据库主机启动,对ACHE服务器、TOMCAT 服务器以及数据库服务器进行初始化。

APACHE、TOMCA、TORACLE这三个不同的服务器分别在80、8080以及1521端口试试服务监听。

有客户端浏览器将用户请求以http形式发送到Web服务80端口,如果所发送的请求为html文档格式,就会由APACHE进行直接处理,如果发送的请求为JSI/Servlet程序的话,就会采用TOMCAT进行处理。

如果JSP/Servlet程序需要同数据库服务器交互的话,需要利用JDBC驱动程序来完成。

所有发送请求处理完成之后,处理结果会以http 格式返回到客户端浏览器上,从而对用户进行显示。

图4-1 系统的实现过程
Fig4-1. System implementation process
4.3.2 系统功能结构
本系统将用户角色分为四种,分别为考生、考试中心管理用户以及考试主管机构。

系统根据个别用户角色的不同,创建了一个用户公共模块和同四个用户角色相对应的功能模块,从而实现用户功能。

所有网上考试用户和非报名用户都可以进入该网页对公共信息进行浏览。

网站功能模块流程图如4-2,具体说明如下可知:
图4-2 网站功能模块规划流程图
Fig4-2. The website features module planning flowchart 主页:为用户提供教育机构下发的相关资讯、各个考点报名情况以及网上考试地址等。

网上考试模块:能够为考生提供简单容易的信息采集,考生可以通过这些信息对报考学校进行选择,并填写个人信息以及上传本人照片,完成这些后会得到一个专属自己的报名编号,以便于考生在今后对信息进行修改和下载准考证。

用户登录模块:考生输入网上考试编号或者登录账户和密码,由系统进行身份验证,如果系统验证通过,考生可以进入系统进行其他操作,如果系统验证未通过,则视为非法进入,将会自动拒绝用户请求。

考生模块:该模块主要包含以下等功能,如考生查询成绩、对报名信息进行修改以及找回密码等,具体如图4-3。

图4-3 考生模块
Fig4-3. Candidates module
主管部门模块:该模块的功能有:对网上考试的各项参数进行设置,对考生信息进行查询,为考生安排考试场地等,具体如图4-4。

图4-4主管部门模块
Fig4-4. The department in charge of module
系统管理员模块:系统管理员模块的功能包括:对网上考试数据库的日常维护以及对系统参数进行设置等,具体如图4-5。

相关文档
最新文档