温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于局域网的考试系统设计和实现
计算机专业
基于
局域网
考试
系统
设计
实现
第一章 绪论
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结构的比较
Table2-1 C/S structure and architectural comparison of B/S
传统的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 系统用户需求
本人具有多年考试管理工作经验,在网上考试系统设计的初始阶段,本人曾针对现有网上考试情况进行了详细的调查和研究,并对调查结果进行了科学系统的分析,从而对网上考试系统有了更深、更广的认知,并确定了同网上考试系统有直接关系的三个报名用户。这三个用户角色分别为主管部门用户、考生用户以及中心管理用户。下面分别对这三个用户的具体需求进行介绍。
第一,主管部门用户需求。主管部门用户希望能够随时掌握网上考试情形,以便针对现场情况对现场报名时间及地点做出科学合理的安排,对整个报名系统的实时情形进行掌控。同时下载报名考生的数据、安排考生考场、并发布一些同考试相关的信息,为考生提供报名指导,帮助其顺利完成网上考试。
第二,考生用户需求。作为考生用户希望能够更加方便的在网上进行考试,可以随时对网上考试信息进行查询和修改,以及上传本人照片、下载准考证等功能。假如出现考生忘记网上考试账号或登录密码的情况,可以为考生提供查询功能。考生可以通过网络对考试机构发布的相关信息进行了解。
第三,中心管理用户需求。对于中心管理用户来说,随时了解网上考试情形、对网上考试的各种参数进行修改、对网上考试数据进行维护以及对用户权限进行设置等都是他们的需求。
网上考试系统的设计应该以最大限度满足上述用户需求为目标。为所有用户提供更加丰富多彩的与考试有关的内容以及美妙的用户界面,使得系统的各项功能的操作尽可能的简单容易,能够及时发布同考试有关的咨询,并随时更新,从而满足各个用户之间的交互需求,确保对每一位考生认真负责;网上考试系统要对所有同考试相关的信息实施统一规范管理,根据不同用户的需求特征,有针对性的设置不同用户的权限,对于那些拥有较大数据量的资讯信息,为了提高其访问效率,给予各个用户最