用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

基于Web技术的网络考试系统

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:50:01
【本文由PB创新网为您整理】 
摘要本文讲述了基于Web技术的网络考试系统的设计与实现,描述了网络考试系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,还重点剖析了部分环节的程序设计。
关键词网络 考试 Web DB2 ASP
一、 网络考试系统概述
在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。
网络考试系统的实现技术有多种,可以采用传统的客户机/服务器型的MIS型架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响,因此本文讨论的网络考试系统采用Web 技术实现。Web技术超越了传统的"客户机/服务器"两层结构,采用了三层体系结构:用户界面层/事务层/数据库层,因此Web结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层分开在不同的计算机上),所以,本文所讨论的考试系统采用Web 技术实现。
本系统的数据库采用IBM公司的大型数据库DB2,网站服务器采用IIS 4,网页设计采用FrontPage 2000和ASP,阅卷系统采用Borland公司的Delphi 5.0。
二、 网络考试系统的构成
网络考试系统的结构如图1所示,下面我们对该图作一下简单的描述:




图1 网络考试系统结构图
(一)考试子系统
考试子系统是网络考试系统的核心部分,它的工作流程如图2所示,由于采用Web技术实现,所以从理论上讲,考试可以在任何时候、任何地方进行,但是为了使考场易于组织和管理,所以本系统对考试时间作了严格的限制,因此在进入网站时首先判断当前时间是否为考试规定的时间,由于判断的时间是服务器端的时间,所以跟考试机器的时间无关,即使考生修改所在机器的时间,也无济于事。如果时间符合要求,则显示登录页面,考生在这个页面输入自己的信息,如姓名、身份证号码、密码等等,单击"提交"后进入信息处理程序(在服务器端执行),如信息不正确(包括有些考生试图绕过登录页面,直接进入试卷页面的情况,此时由于没有登录信息,系统也会认为是非法考生),系统给出提示信息,并重新定位到登录页面;如信息正确,则显示试卷页面,试卷页面上的试题内容根据考生输入的试卷代号从数据库中取出符合条件的记录动态地生成。同时在页面上动态地显示考试所剩时间,当考试时间到或考生点击"交卷"按钮时,则系统把考生答案传送至服务器的数据库中保存起来,并把数据库中标记考生是否参加过某门课程考试的标记置"1"(它的初始值为"0")。




图2 考试子系统流程图
(二)成绩查询子系统
为了能让考生及时、方便地了解自己的考试成绩,查询子系统也采用Web方式实现,考生在页面输入自己的信息后,服务器就能把成绩信息传送到考生的机器上。
(三)阅卷子系统
本系统对考生来说是不可见的,用DELPHI 和DB2实现。它是一个应用程序,不能通过WEB方式访问。
1、评分模块
该模块能调出学生答案并自动给出客观题的成绩,教师根据学生的答案给出每题得分并输入计算机。
2、成绩统计、排序模块
计算机能根据学生的成绩进行各类统计,生成成绩分布图等,还能按照给定的条件进行排序。
3、信息维护模块
本模块能对试题、考生信息进行维护,教师可以增、删、改、查题目、考生信息,是阅卷子系统的重要组成部分。
(四)数据库子系统
网络考试系统离不开数据库系统的支持,不论是试题、答案,还是考生信息都需要存放在数据库中,而且数据库独立于程序而存在,具有较好的安全性,本例中的数据库采用IBM公司的大型数据库系统DB2实现,数据库名为test_net,其中主要表结构的描述如下:
kaosheng表:用来记录考生信息,其中有一字段 jsjjc_dl,如果其值为0,则表明该考生还没参加过《计算机基础》的考试,如果为1:则表示已经参加过该门课程的考试,jsjjc_cj字段存储了《计算机基础》课程的成绩;
kaosda表:记录考生的选择题、填空题以及问答题答案,这三类答案分别用三个字段描述,每题答案之间用"$$$"分隔;
xuanzt表 :存放选择题题目,其中有题目字段、四个选项字段、试卷代号字段以及答案字段;
tiankt表:存放填空题的题目、试卷代号及答案(问答题的处理与填空题类似,这里不作描述)
ASP程序中,与数据库相关的典型语句如下:
<% exec_xzt="select * from xuanzt "
set conn=server.createobject("adodb.connection")
conn.open "dsn=test_net;uid=db2admin;pwd=db2admin"
set rs_xzt=conn.execute(exec_xzt) %>
在上述四行语句执行完后,rs_xzt中为符合条件的记录集。
三、 考试系统的实现方案
考试子系统是网络考试系统的核心部分,下面就该系统中一些常见问题的程序设计方案作一下具体说明。
(一)安全性考虑
1、 考试时间
(1)进入考试网站时首先检查当前时间是否为考试时间,以控制考生在规定的时间内参加考试;
<% dim time_cur
time_cur=now 'time_cur为当前时间
if time_cur>=cdate("2000-06-08 8:30:00 ") and time_cur<=cdate("2000-06-08 10:30:00 ") then%>
'显示登录页面…………
<%else%>
<font face="隶书" color="#0000FF" size="6">现在不是考试时间</font>
<%end if %>
(2)在进入试卷页面后还要控制考试的总时间,在卷面上动态显示目前剩余时间,当总时间已到,系统会自动提交考生的答案,并且把数据库中的相关字段,如jsjjc_dl设置为1,这样他就不能再次进入试卷页面,这段程序利用客户端程序实现,而且在试卷页面加载时就要设置timeout()的参数,本例中设它为1000ms,即每隔1秒timeout过程执行一次。

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:27,968.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号