网络考试系统的实现.docx
《网络考试系统的实现.docx》由会员分享,可在线阅读,更多相关《网络考试系统的实现.docx(34页珍藏版)》请在冰豆网上搜索。
网络考试系统的实现
网络考试系统的实现
摘要
本论文叙述了考试方式的历史、现状以及ASP语言和SQLSEVER2000数据库管理系统的概况。
重点介绍了网络考试系统的实现过程:
包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统物理配置方案、系统实现、系统测试和调试。
总结了本系统的特点:
节约考试成本,提高考试工作的效率。
本系统主要面向普通学生、教师(管理人员)使用,使用时他们拥有不同的权限。
使用的过程是通过试卷的制定、生成、考试结果的公布与查询来实现网络考试,从而使考试可以方便地通过Internet和局域网进行。
关键词:
网络考试系统,ASP,SQLSERVER2000
ABSTRACT
Thisthesisdescribedtheexaminationhistory,presentconditionandtheASPlanguagewiththeSQLSEVER2000-thedatabasemanagesystem'sgeneralcondition.Iemphasesintroducedtheprocesstorealizethenetworkexaminationwithoutpapersystem:
Includethesystemtheanalysis,systemtoinvestigate,dataprocessanalysis,functiondesign,databasedesign,thesystemphysicsinstalltheproject,systemtorealize,thesystemtestanddebug.Summarizedthecharacteristicsofthissystem:
Economyexaminationcost,increasetheexaminationwork'sefficiency.Thissystemprimarilyfacetothreepersonneluse:
Commonstudent,testpersonnel,leader,theyownthedifferentlegalpowerwhenusethissystem.Theusage'sprocessofstandardizeexaminewithoutpapersisanannouncementforofexaminationestablishment,examining,examinationresultandsearchofannounce,thusmakeexaminationcanexpedientlypasstheInternetandintranettheproceeding.
Keywords:
networkexaminationsystem,ASP,SQLSERVER2000
目录
1绪论
1.1项目开发背景
在上个世纪90年代中期以前,各个学校的各种类型的考试基本上都是靠手工进行,大体上要经历出卷、印刷、测试、阅卷、统计分数等过程。
后来随着电脑的普及以及计算机软硬件的发展,市场上出现了一些随机出题软件并被一些学校采用,但仍然需要大量的人工参与考试过程之中。
考试是一项极其繁琐的工作,通过手工计算不但效率低并且很容易出错。
数据库技术是一门历史弥坚的学科,不像其它的计算机技术会随着时间的推移而变得越来越没有声息。
考虑其原因,则是因为信息的爆炸对数据库技术的要求只增不减。
在互联网日益发展、壮大的背景下,在因特网普及浪潮持续高涨的情况下,如何让原来在单机中使用的数据库可供多机使用,也成了必然的趋势。
近几年,随着计算机技术的发展和互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校传统的管理方法和办学水平都受到了极大的挑战。
Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。
绝大部分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。
通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。
以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。
与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。
在此开发的网络考试系统,旨在探索一种以互联网为基础的考试模式。
通过这种新的模式,为大学计算机系的考试创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。
基于这些优点,在本次毕业设计之际,我作为一名计算机专业的毕业生,着手开发了网络考试系统。
1.2项目开发的目的
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!
客观!
更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
为了适应新形势的发展,在这次毕业设计之时,我选择了这一网络考试系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
1.3项目开发的目标及意义
(1)建立网络考试系统,进一步提高办学效益和现代化水平。
帮助主管考试的人员提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。
(2)通过使用本系统可以访问INTERNET轻松设置审批考试,不论主管考试的管理人员身在何方,考试结束后也不要传统的繁琐的阅卷过程,实现无纸化考试。
网络考试系统不仅适用于计算机系的进行考试,也可以用作其它专业或院系进行考试,在具体的考试过程中用网络实现考务人员、领导和学生进行考试工作的计算机化,同时也可作平时练习测试之用,基本上摆脱以前的人工操作模式。
1.4论文的结构
本文共有六章,具体组织如下:
第一章通过分析,提出了开发网络考试系统的目的与意义,以及开发的目标;
第二章主要介绍了开发网络考试系统所采用的相关技术,包括:
ASP、SQLServer;
第三章对系统的需求进行了分析,在此基础上进行了系统的概要设计及数据库的概要设计;
第四章阐述了系统的详细设计;
第五章介绍了系统的实现和系统的部分测试内容;
第六章对全文进行了总结,给出了系统设计的体会与收获,及系统需要改进的方面;
附件内容为软件开发过程中各阶段形成的文档。
2技术背景
现在市场上好多Asp+SQLServer2000组合建设动态网站的书,那为什么现在这样的组合这么风靡呢?
使用其他的数据库不行么?
例如:
access数据库、Asp+SQLServer2000适用于那些人群呢?
由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态Web页面技术所无法实现的,所以采用动态网页技术。
目前动态网页技术有很多,可以说是层出不穷,比如CGI、PHP、JSP、ASP等。
本设计采用ASP技术。
ASP的入门门槛最低,语法很简单。
ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。
在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。
由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。
目前主要的数据库有:
Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。
本系统采用的是微软公司的SQLServer2000。
原因如下:
第一,SQLServer与Windows2000Server服务器紧密集成,而Windows2000Server服务器具有很好的安全策略,能够排除所有XX的非法用户的访问,确保了SQLServer2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQLServer2000数据库中的数据,符合系统远程访问数据库的要求。
第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。
Asp+SQLServer2000都是微软开发的最新语言,简单好学,这是未来的趋势,access安全性不好,是小型数据库,一般超过1000就访问速度慢了,SQLServer2000属于中型数据库,存够1000万数据速度也没问题,大型数据库,就要考虑用Oracle这些了。
SQL适合入门的人,而且跟ASP一样是较成熟的产品,跟WINDOWS兼容最好,不过如果要做大型的数据库就要学一下ORACLE之类的。
[1]
基于以上原因,我选择Asp+SQLServer2000作为我开发网络考试系统的实现方案。
2.1数据库系统(SQLServer2000)
SQLServer2000是Microsoft公司推出的关系型网络数据库管理系统,它的工作环境可以是WindowsNT(Server或Workstation)、WindowsCE、Windows2000或Windows98。
SQLServer2000和Microsoft公司的其他软件,如MicrosoftOffice或MicrosoftVisualStudio,设计风格一样,并能互相配合。
SQLServer2000支持多层客户机/服务器结构,具有完善的分布式数据库和数据仓库功能,能够进行分布式事务处理和联机分析处理。
SQLServer2000还具有强大的网络功能,它与Internet高速集成,能够轻易地将Web应用程序与企业营运应用程序集成在一起。
SQLServer2000支持ANSISQL(标准SQL),并将标准SQL扩展成为了更加实用的Transact-SQL。
[2]
MicrosoftSQLServerSQLServer2000是建立在MicrosoftSQLServerSQLServer7.0可扩展基础上的,代表着下一代Microsoft.NETEnterpriseServers(企业服务器)数据库的发展趋势。
MicrosoftSQLServer2000是为创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系型数据库管理与分析系统。
[3]
MicrosoftSQLServer增强的功能
、XML支持
、联合数据库服务器
、新数据类型
SQLServer2000引入了三种新的数据类型:
bigint是8字节的整型类型,sql_variant类型允许存储不同数据类型的数据值,table类型允许应用程序临时存储结果供以后使用。
table类型可用于变量,并可作为用户定义函数的返回数据类型。
、INSTEADOF和AFTER触发器
SQLServer2000还增加了指定AFTER触发器激发的先后顺序的功能。
、排序规则增强
、全文检索增强
2.2ASP技术
ASP(ActiveServerPages动态网页)是微软公司推出的一种用以取代CGI(CommonGatewayInterface通用网关接口)的技术。
[4]目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。
简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。
通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet上的许多站点,仍然提供"静态"(static)的主页内容。
所谓"静态",指的就是站点的主页内容是"固定不变"的。
当浏览器通过Internet的HTTP(HypertextTransportProtocol)协议,向站点服务器(WebServer)要求提供主页的内容时,站点服务器收到要求后,就传送原已设计好的静态的HTML的文件数据给浏览器。
一个"静态"的站点,若要更新主页的内容,必须手动的来更新其HTML的文件数据。
而随着Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。
当在浏览器上填好表单(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML文件。
站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。
根据用户请求生成动态主页的传统方法有CGI、ISAPI等。
CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。
当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。
这两种技术和另一普遍使用的开发动态网页的技术Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。
而较简单的开发技术如javascript和IDC(InternetDatabaseConnector)等功能有限,不敷使用。
ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。
ASP与常见的在Client端实现动态主页的技术如Javaapplet、ActiveXControl、VBScript、javascript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行。
由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。
ASP通过后缀名为.asp的ASP文件来实现,一个.asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。
当用户从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给WebServer,如果WebServer上装了ASP,就调用ASP。
ASP读出相应.asp文件,解释并执行命令,动态生成一个HTML页面回传WebServer,然后WebServer再把结果发送给浏览器。
ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中(将HTML文件的后缀名改为.asp),这使得HTML文件的编写与脚本的开发融合在一起。
通过ASP内置的对象、服务器组件(ServerComponent)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。
ASP比较网关及服务器扩展模式有着以下优点:
(1)完全与HTML文件融合在一起;
(2)容易创建,不需要其它编译、链接程序;
(3)面向对象的并通过ActiveXServer对象可扩展。
[8]
ASP内部6大对象:
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。
这6个对象及其功能描述如表2.1所示。
表2.1ASP内部6大对象及其功能
对象名称
功能描述
Request
从客户端取得信息
Response
将信息送给客户端
Server
提供一些Web服务器工具
Session
储存在一个Session内的用户信息,该信息仅可被该用户访问
Application
在一个ASP-Application中让不同的客户端共享信息
ObjectContext
配合MicrosoftTransaction服务器进行分布式事务处理
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
我
们可以用以下的语法直接使用这些对象:
对象/属性/方法/数据集合。
2.3系统开发方法的选择
建立一个信息系统,是一项复杂的软件工程的实施。
近30年来,软件工程发展成为新科学,至今已经成为软件产业的重要支柱。
多年来被人们沿用的手工作坊的软件开发方法,在软件产品的开发效率和产品质量、成本等方面都无法满足需求。
20世纪60年代末期开始出现“软件危机”后,人们开始寻找新技术来指导软件的开发。
1968年,首先提出了“软件工程”这一名称。
80年代以来,国际社会的信息化浪潮一浪高过一浪,管理信息系统建设需求紧迫,已有的信息系统建设方法不能满足日益增长的系统建设的需要。
[9]70年代以来系统建设的主流方法—结构化生命周期法遇到一系列挑战,主要问题是手工操作多、工作效率低、开发周期长、应变能力弱,不能对用户需求的变更和环境的变化做出迅速反应。
所以软件工程思想经过人们的归纳和整理,又提出了许多工程方法,如原型法、企业系统规划法、战略数据规划法等。
1、结构化生命周期法简介
结构化生命周期法是一种传统的管理信息系统开发方法。
其基本思路是把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术完成一个或者多个任务,形成符合给定规范的产品。
结构化生命周期法的主要原则,归纳起来有以下四条:
(1)用户参与的原则
(2)先逻辑后物理的原则
(3)自顶向下的原则
(4)工作成果描述标准化的原则
其开发大致分为以下四个阶段:
(1)系统规划:
主要目标是制订系统的长期发展方案,决定系统在整个生命周期内的发展方向、规模和发展进程。
(2)系统开发
a、系统分析
•系统初步调查
•系统的可行性研究
•现行系统的详细调查
•新系统逻辑方案的提出
b、系统设计
•系统总体结构设计
•系统总体功能设计
•系统总体物理结构设计
•系统详细设计
•数据库设计
•代码设计
•输入输出设计
•处理过程设计
系统实现
•程序设计
•系统测试
•系统转换
(3)系统运行及维护
(4)系统评价
2、原型法简介
原型法的基本思路是用户与系统分析、设计人员合作,根据用户提出的最基本的问题和想法,先很快建立一个应用软件的骨架,作为应用开发的实验模型,这个实验模型叫做系统原型。
用户先运行这个原型系统,熟悉它,使用它,受到启发并取得经验,然后对系统的目标和功能提出精确、具体的要求,在对系统的需求最后决定后,再用传统的方法建设系统,通常原型系统的部分程序可以在后来的系统建设中直接采用。
该方法是传统方法和用户开发相结合的方法。
建立一个管理信息系统的原型可分四步进行:
(1)明确用户基本信息需求
(2)建立初始的原型系统
(3)使用原型系统,进一步明确用户需求
(4)修改和完善原型系统
快速原型法的开发过程可分为快速分析、构造模型、运行模型、评价模型、改进模型等。
3、本系统开发方法选择
基于上述两种开发方法的优劣,本系统利用软件工程思想和方法,总体上是采用结构化生命周期法从上而下地进行系统分析和设计的,但系统实现等步骤采用了自下而上的快速原型法。
3系统的分析与概要设计
3.1需求分析
本系统的用户可分为管理员,教师,学生和普通用户四类。
考虑到系统的安全性,本系统共分成两个界面:
一个界面用于管理员和教师登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个界面用于考生和普通用户登录,主要负责注册个人资料、在线考试、查询以往考试成绩等。
从总体上考虑,系统应该实现下列功能:
对教师来说,包括试卷管理、题库管理、成绩管理。
1、试卷管理:
教师可以从课程,难度级别,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,在学生考试时,由系统根据试卷规则自动组卷生成满足教师要求的试卷,而不用手工组卷。
同时,教师还可以对库中已有的试卷进行修改和删除,添加新试卷等。
2、题库管理:
教师可以根据教学需求对题库中的试题进行三种基本操作:
添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、单选题和多选题;对于每种类型的试题,教师可以设置题干、答案、试题难度系数、解析、添加时间等属性。
3、成绩管理:
教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。
对学生来说,包括在线考试、查询以往考试成绩。
1、在线考试:
学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
2、查询以往考试成绩:
学生可以在线查询以前参加过的每门课程的考试相关信息。
对管理员来说,主要包括管理基本资料(包括教师、学生、普通用户资料的增、删、改以及个人资料修改)、保障系统的安全性,防止非法访问。
3.2系统功能模块划分
图3.1系统功能模块划分
3.2.1前台子系统功能模块划分
网络考试系统——前台子系统
图3.2前台子系统功能模块
3.2.2后台子系统功能模块划分
网络考试系统——后台子系统
图3.3后台子系统功能模块
3.2.3数据字典
数据流
名称
定义
说明
学生
登录要求
学生信息=编号+学生准考证号+姓名
学生信息主要有两个用途,一个是判别登录者的身份,另一个是参加科目考试学生进行统一管理。
学生信息
学生信息=[学生登录成功|学生登录失败
当学生请求提交后,如果数据库记录同输入信息一致,登录成功,反之,登录失败。
管理登录
要求
管理登录=管理用户名+密码
管理登录主要有两个用途,一个是判别登录者的管理身份,另一个是对网上考试系统进行统一管理。
学生查看
成绩
成绩表=准考证+姓名+试卷名称+成绩+考试日期
学生做完试题,系统自动评分,然后将学生所有参加过的考试成绩反馈给学生。
查询要求
查询要求=[考试科目|单个考生查询|多个考生复杂查询]
管理员教师利用此项功能可以快速查找到所需要的学生成绩信息,进行升、降序查询,分值查询。
作统计数据用。
试卷管理
试卷信息=[试卷名称+创建日期]
试卷进行有效的管理,试卷目录信息由试卷信息表管理。
题库分别放在各各科试卷表中。
3.3数据库设计
3.3.1数据库需求分析
针对一般考试系统的需求,设计如下所示的数据项和数据结构:
管理