网络考试系统的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络考试系统的实现
摘要
本论文叙述了考试方式的历史、现状以及ASP语言和SQL SEVER2000数据库管理系统的概况。
重点介绍了网络考试系统的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统物理配置方案、系统实现、系统测试和调试。
总结了本系统的特点:节约考试成本,提高考试工作的效率。
本系统主要面向普通学生、教师(管理人员)使用,使用时他们拥有不同的权限。
使用的过程是通过试卷的制定、生成、考试结果的公布与查询来实现网络考试,从而使考试可以方便地通过Internet和局域网进行。
关键词:网络考试系统,ASP,SQL SERVER2000
ABSTRACT
This thesis described the examination history, present condition and the ASP language with the SQL SEVER2000 -the database manage system's general condition. I emphases introduced the process to realize the network examination without paper system: Include the system the analysis, system to investigate, data process analysis, function design, database design, the system physics install the project, system to realize, the system test and debug. Summarized the characteristics of this system: Economy examination cost, increase the examination work's efficiency. This system primarily face to three personnel use: Common student, test personnel, leader, they own the different legal power when use this system .The usage's process of standardize examine without papers is an announcement for of examination establishment, examining, examination result and search of announce, thus make examination can expediently pass the Internet and intranet the proceeding.
Keywords:network examination system,ASP,SQL SERVER2000
目录
1 绪论
1.1 项目开发背景
在上个世纪90年代中期以前,各个学校的各种类型的考试基本上都是靠手工进行,大体上要经历出卷、印刷、测试、阅卷、统计分数等过程。
后来随着电脑的普及以及计算机软硬件的发展,市场上出现了一些随机出题软件并被一些学校采用,但仍然需要大量的人工参与考试过程之中。
考试是一项极其繁琐的工作,通过手工计算不但效率低并且很容易出错。
数据库技术是一门历史弥坚的学科,不像其它的计算机技术会随着时间的推移而变得越来越没有声息。
考虑其原因,则是因为信息的爆炸对数据库技术的要求只增不减。
在互联网日益发展、壮大的背景下,在因特网普及浪潮持续高涨的情况下,如何让原来在单机中使用的数据库可供多机使用,也成了必然的趋势。
近几年,随着计算机技术的发展和互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校传统的管理方法和办学水平都受到了极大的挑战。
Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。
绝大部分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。
通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。
以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。
与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。
在此开发的网络考试系统,旨在探索一种以互联网为基础的考试模式。
通过这种新的模式,为大学计算机系的考试创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。
基于这些优点,在本次毕业设计之际,我作为一名计算机专业的毕业生,着手开发了网络考试系统。
1.2 项目开发的目的
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
为了适应新形势的发展,在这次毕业设计之时,我选择了这一网络考试系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
1.3 项目开发的目标及意义
(1)建立网络考试系统,进一步提高办学效益和现代化水平。
帮助主管考试的人员提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。
(2)通过使用本系统可以访问INTERNET轻松设置审批考试,不论主管考试的管理人员身在何方,考试结束后也不要传统的繁琐的阅卷过程,实现无纸化考试。
网络考试系统不仅适用于计算机系的进行考试,也可以用作其它专业或院系进行考试,在具体的考试过程中用网络实现考务人员、领导和学生进行考试工作的计算机化,同时也可作平时练习测试之用,基本上摆脱以前的人工操作模式。
1.4 论文的结构
本文共有六章,具体组织如下:
第一章通过分析,提出了开发网络考试系统的目的与意义,以及开发的目标;
第二章主要介绍了开发网络考试系统所采用的相关技术,包括:ASP、SQL Server;
第三章对系统的需求进行了分析,在此基础上进行了系统的概要设计及数据库的概要设计;第四章阐述了系统的详细设计;
第五章介绍了系统的实现和系统的部分测试内容;
第六章对全文进行了总结,给出了系统设计的体会与收获,及系统需要改进的方面;
附件内容为软件开发过程中各阶段形成的文档。
2 技术背景
现在市场上好多Asp + SQL Server 2000组合建设动态网站的书,那为什么现在这样的组合这么风靡呢?使用其他的数据库不行么?例如:access数据库、Asp + SQL Server 2000适用于那些人群呢?由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态Web页面技术所无法实现的,所以采用动态网页技术。
目前动态网页技术有很多,可以说是层出不穷,比如CGI、PHP、JSP、ASP等。
本设计采用ASP技术。
ASP的入门门槛最低,语法很简单。
ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。
在了解了VBSCRIPT 的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。
由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。
目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQL Server等,其中网络型的SQL Server、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。
本系统采用的是微软公司的SQL Server 2000。
原因如下:第一,SQL Server与Windows 2000 Server服务器紧密集成,而Windows 2000 Server服务器具有很好的安全策略,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQL Server 2000数据库中的数据,符合系统远程访问数据库的要求。
第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。
Asp + SQL Server 2000都是微软开发的最新语言,简单好学,这是未来的趋势,access安全性不好,是小型数据库,一般超过1000就访问速度慢了,SQL Server 2000属于中型数据库,存够1000万数据速度也没问题,大型数据库,就要考虑用Oracle这些了。
SQL适合入门的人,而且跟ASP一样是较成熟的产品,跟WINDOWS兼容最好,不过如果要做大型的数据库就要学一下ORACLE之类的。
[1] 基于以上原因,我选择Asp + SQL Server 2000作为我开发网络考试系统的实现方案。
2.1 数据库系统(SQL Server 2000)
SQL Server 2000 是Microsoft公司推出的关系型网络数据库管理系统,它的工作环境可以是Windows NT(Server或Workstation)、Windows CE、Windows 2000或Windows 98。
SQL Server 2000和Microsoft 公司的其他软件,如Microsoft Office或Microsoft Visual Studio,设计风格一样,并能互相配合。
SQL Server 2000支持多层客户机/服务器结构,具有完善的分布式数据库和数据仓库功能,能够进行分布式事务处理和联机分析处理。
SQL Server 2000还具有强大的网络功能,它与Internet高速集成,能够轻易地将Web应用程序与企业营运应用程序集成在一起。
SQL Server 2000支持ANSI SQL(标准SQL),并将标准SQL扩展成为了更加实用的Transact-SQL。
[2]
Microsoft SQL Server SQL Server 2000是建立在Microsoft SQL Server SQL Server 7.0可扩展基础上的,代表着下一代Microsoft .NET Enterprise Servers(企业服务器)数据库的发展趋势。
Microsoft SQL Server 2000是为创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系型数据库管理与分析系统。
[3]
Microsoft SQL Server增强的功能
①、XML 支持
②、联合数据库服务器
③、新数据类型
SQL Server 2000 引入了三种新的数据类型:bigint 是8 字节的整型类型,sql_variant 类型允许存储不同数据类型的数据值,table 类型允许应用程序临时存储结果供以后使用。
table 类型可用于变量,并可作为用户定义函数的返回数据类型。
④、INSTEAD OF 和AFTER 触发器
SQL Server 2000 还增加了指定AFTER 触发器激发的先后顺序的功能。
⑤、排序规则增强
⑥、全文检索增强
2.2 ASP技术
ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface 通用网关接口)的技术。
[4]目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP 来替换CGI。
简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。
通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet 上的许多站点,仍然提供"静态"(static)的主页内容。
所谓"静态",指的就是站点的主页内容是"固定不变"的。
当浏览器通过Internet 的HTTP (Hypertext Transport Protocol)协议,向站点服务器(Web Server)要求提供主页的内容时,站点服务器收到要求后,就传送原已设计好的静态的HTML 的文件数据给浏览器。
一个"静态"的站点,若要更新主页的内容,必须手动的来更新其HTML的文件数据。
而随着Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。
当在浏览器上填好表单(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML 文件。
站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。
根据用户请求生成动态主页的传统方法有CGI、ISAPI等。
CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。
当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。
这两种技术和另一普遍使用的开发动态网页的技术Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。
而较简单的开发技术如java script和IDC(Internet Database Connector)等功能有限,不敷使用。
ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。
ASP与常见的在Client端实现动态主页的技术如Java applet、ActiveX Control、VBScript、java script等不同,ASP中的命令和Script 语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行。
由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。
ASP通过后缀名为.asp的ASP文件来实现,一个.asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。
当用户从浏览器输入了.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)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。
ASP比较网关及服务器扩展模式有着以下优点:
(1)完全与HTML文件融合在一起;
(2)容易创建,不需要其它编译、链接程序;
(3)面向对象的并通过ActiveX Server对象可扩展。
[8]
ASP内部6大对象:
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。
这6个对象及其功能描述如表2.1所示。
表2.1 ASP 内部6大对象及其功能
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
我
们可以用以下的语法直接使用这些对象:对象/属性/方法/数据集合。
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前台子系统功能模块
3.2.2 后台子系统功能模块划分
试卷信息,包括的数据项有:试卷编号、填空题分值、填空题数量、单选题分值、单选题数量、多选题分值、多选题数量、考试时间、试卷名称等。
成绩信息,包括的数据项有:考试科目、考生学号、成绩、考试时间等。
填空题信息,包括的数据项有:填空题编号、题干、正确答案、课程名称、难度系数、添加日期、
答案解析、填空个数、答案是否有序、状态标志等。
单选题信息,包括的数据项有:单选题编号、题干、正确答案、备选项(A、B、C、D)、课程名称、难度系数、添加日期、答案解析、状态标志等。
多选题信息,包括的数据项有:多选题编号、题干、正确答案、备选项(A、B、C、D)、课程名称、难度系数、添加日期、答案解析、状态标志等。
3.3.2 数据库物理设计
对应逻辑设计的数据库名exam01,设计数据库的物理文件及相关属性如下。
(1)主数据文件:exam01.mdf。
初始空间:1MB,若超出空间按10%自动增长。
存放路径:c:\program files\Microsoft SQL Server\MSSQL\Data\。
最大文件大小:不受限。
隶属文件组:PRIMARY。
(2)日志文件:exam01_log.ldf。
初始空间:1MB,若超出空间按10%自动增长。
存放路径:c:\program files\Microsoft SQL Server\MSSQL\Data\。
最大文件大小:不受限。
3.3.3 数据库逻辑设计
由于本系统是为网上考试系统而设计的,因此数据库名称定为exam01。
根据需求分析设计了数据库结构。
在名为exam01的数据库里包含用户数据对象和系统数据对象两大部分,其中系统数据对象由系统自动产生,用户数据对象是由设计人员根据需要设计。
数据库结构图
图3.5 E-R图
3.4 系统结构
本系统分为后台数据库系统和前台ASP网站系统两部分。
后台数据库exam01主要包括11个用户数据表。
存储系统管理员的管理表。
存储学生信息的学生信息表。
存储试卷规则信息的试卷信息表。
存储考生成绩信息的成绩表。
存储各科课程试题信息的各个试卷表。
……………
前台ASP网站系统结构包括:
Data子目录下存放数据文件:exam01
CSS子目录下存放层叠样式表文件,规范网页的总体风格。
Images子目录下存放系统使用的小插图文件。
3.5 运行设计
运行模块的组合:
具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。
运行控制: 软件运行时有较友好的界面,基本能够实现用户的数据处理要求。
运行时间: 系统的运行时间基本可以达到用户所提出的要求。
3.6 出错处理设计
3.6.1 出错输出信息
在用户登陆失败,系统给出提示:“对不起,你已经考试了,或学号错误,请重新登陆!”在考试过程中,突然发生考试中断事件,可以通过试卷恢复来恢复已经做过的考试卷,继续考试。
3.6.2.出错处理对策
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。
但有可能占用更多的数据存储空间,权衡措施由用户来决定。
如在考试过程中发生了中断,可以通过试卷恢复系统来恢复试卷,继续考试。
考试完了,将考试结果保存到数据库中。
3.7 安全保密设计
系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。
系统安全保密性较高。
3.8 维护设计
由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护措施。