当前位置:文档之家› 在线考试系统的设计与开发

在线考试系统的设计与开发

在线考试系统的设计与开发
在线考试系统的设计与开发

在线考试系统的设计与开发

摘要

随着Internet的迅速发展和广泛普及,网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。远程教育成为现代教育技术未来发展的重要方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。

本设计以Internet为平台, 采用ASP技术并以Access做强大的后台数据库管理系统支持,研究了基于Web考试系统的设计与开发,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户注册模块、用户登录模块、在线考试模块、题库管理模块、试卷管理模块、学生管理模块、成绩管理模块的设计。最后,对整个在线考试系统做了评价与推广,给出系统的优缺点及本系统在其他领域的应用。

关键词: Web考试系统;ASP技术;Access数据

目录

1 系统分析 (1)

1.1 系统需求分析 (1)

1.2 数据库分析 (1)

2 系统设计工具 (2)

2.1 ASP技术 (2)

2.2 Access软件介绍 (3)

3 系统结构设计 (3)

4 系统主要功能模块 (4)

4.1功能模块实现界面及功能分析 (4)

4.1.1 考生登录模块 (4)

4.1.2 考生注册模块 (5)

4.1.3 科目选择模块 (5)

4.1.4 考试模块 (6)

4.1.5题库管理模块 (7)

4.1.6 学生成绩管理模块 (8)

4.2 功能模块源代码 (8)

5 系统测试与发布 (11)

5.1 运行环境 (11)

5.2 系统安装 (11)

5.3 系统使用 (12)

5.4 注意事项 (12)

6 系统评价 (12)

致谢 (12)

参考文献 (13)

1 系统分析

1.1 系统需求分析

本系统的用户可分为管理员和普通用户两类。

本系统共分成两个界面:一个界面用于管理员登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个界面用于普通用户登录,主要负责在线考试、查询以往考试成绩等。

从总体上,系统应该实现下列功能:

对管理员来说,包括试卷管理、题库管理、成绩管理。

1、试卷管理:管理员可以从课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则。同时,管理员还可以对库中已有的试卷进行修改和删除,添加新试卷等。

2、题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、选择题;对于每种类型的试题,教师可以设置题干、答案等属性。

3、成绩管理:管理员可以查看考生的考试成绩,并针对不同的课程进行成绩统计。

4、学生管理:管理员可以对用户的资料进行查询、删除。

对普通用户来说,包括在线考试、查询以往考试成绩等。

1、在线考试:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。

2、查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。

1.2 数据库分析

针对一般考试系统的需求,设计如下所示的数据项和数据结构:

⑴管理员信息,包括的数据项有:管理员姓名、密码等。

⑵普通用户信息,包括的数据项有:用户名、班级、学号等。

⑶试卷信息,包括的数据项有:填空题分值、填空题数量、判断题分值、判断题数量、选择题分值、选择题数量等。

⑷判断题信息,包括的数据项有:判断题编号、题干、正确答案等。

⑸填空题信息,包括的数据项有:填空题编号、题干、正确答案等。

⑹选择题信息,包括的数据项有:单选题编号、题干、正确答案、备选项(A、B、

C、D)等。

⑺成绩信息,包括的数据项有:考试科目、考生学号、成绩、考试时间、是否补考、补考成绩等。

本系统建立了一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。

2 系统设计工具

2.1 ASP技术

由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,所以采用动态网页技术。目前动态网页技术有很多,本设计采用ASP 技术。

Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写产生动态网页的HTML程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

由ASP(Active Server Pages)是微软公司开发的基于Windows NT Server SII(InternetInformation Server)的服务器端脚本环境,它具有如下特点:

①无需编译:ASP脚本集成于HTML当中,容易生成,无需编译或连接即可直接解释执行.

②易于生成:使用常规文本编辑器(如Windows下的记事本),即可进行*.ASP页面设计.还可以使用可视化的集成编辑环境Visual InterDev.

③独立于浏览器:ASP脚本在服务器端解释执行,用户端只要使用可解释常规HTML 码的浏览器,即可浏览ASP所设计的主页.

④面向对象:在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveX Server Component(ActiveX服务器组件)来扩充功能.

⑤与任何Active Xscript语言兼容:除了可使用VBscript和Javascript语言进行设计外,还可通过Plug—in的方式,使用由第三方所提供的其它script语言.

⑥源程序代码不会泄漏:ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会被他人盗取.另外,ASP支持多用户、多线程,它还具有记忆能力,拥有强有力的管理机制,可以实现各请求之间的信息共享,提高服务器的处理效率,同时,ASP在安全性方面也作了细致的考虑,包括设定虚拟目录访问权限、用户身份监测等措施.

2.2 Access软件介绍

本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。本系统采用的是微软公司的Microsoft Access。采用它的原因如下:

第一、只要安装了PWS或IIS4肯定有ACCESS的ODBC驱动,即你的系统肯定支持ACCESS数据库的存取。

第二、ACCESS支持的SQL指令非常齐全。

第三、ACCESS ODBC驱动程序的效率非常高。

3 系统结构设计

本系统分为后台数据库系统和前台网站系统两部分。

后台数据库xiao5u主要包括10个数据表

⑴存储系统管理员信息的admin。

⑵存储注册用户信息的adduser。

⑶存储考生成绩信息的Result。

⑷存储判断题信息的Judge

⑸存储填空题信息的Blank。

⑹存储问答题信息的Answer。

⑺存储选择题信息的Choice和MultiChoice

⑻存储试卷类型的Subject

前台ASP网站系统结构包括:

⑴ Admin子目录下存放与管理员界面相关的asp文件。

⑵ Data子目录下存放数据文件:xiao5u.mdf

⑶主目录下存放与考生界面相关的文件。

4 系统主要功能模块

4.1功能模块实现界面及功能分析

图4-1 考生登录界面

4.1.1 考生登录模块

考生登录模块(index.asp、check.asp、yz.asp)做了一定的设置:只有考生把信息填写完整方可登录,用户发现填写错误后可点击‘取消’按钮,信息自动清空后重新输入正确信息。登录后直接进入科目选择界面,如图4-3。唯有注册(报名)用户才

可参加考试,下图为考生注册界面。

图4-2 考生注册界面

4.1.2 考生注册模块

考生注册模块(add.asp、add_form.asp、yz.asp)做了类似于登录界面的一些设置,不同的是,注册成功后直接进入登录界面,如图4-1。

图4-3 科目选择界面

4.1.3 科目选择模块

科目选择模块(choice.asp、jump.asp):该系统内置多种考试科目:计算机、英语、高等数学等。这些科目及试题皆由系统管理员在数据库中添加或删除。例如,选择‘计算机’,点击‘考试考试’按钮后即可打开试题如图4-4,开始考试。

图4-4 计算机试题界面

4.1.4 考试模块

考试模块(submit.asp、shiti.asp、Math.asp、English.asp):试题信息都是从后台数据库中提取,系统采用自动倒计时并且有时间提醒。另外,考生提交试卷而出现粗心漏答题时,提交不成功并且提示考生继续答某题。

图4-5 管理员登录界面

管理员登录及退出文件(Admin.asp、index.asp、Login.asp、Loginout.asp)

图4-6 管理员管理界面

4.1.5题库管理模块

题库管理模块(Judge.asp、Answer.asp、Blank.asp、Bottom.asp、MultiChoice.asp、Upload.asp):管理员可以对管理界面内的各个子模块进行管理。在此对题库管理,题型如图所示:单选、多选、判断、填空、问答题等,各类型题除问答题外都配有标准答案。每种类型题管理包含两个子模块:添加题目(界面如图4-7)及题目列表(界面如图5-8)。

图4-7 题目添加界面

图5-8 题目的修整界面

图4-9 单人成绩查寻

4.1.6 学生成绩管理模块

学生成绩管理模块(Result.asp、ResultSclass.asp、ResultSearch.asp):该系统可以查看全系学生成绩,也可是某个班级的成绩,更可以是单个学生的成绩(图4-9)。美中不足的是系统不能自动评分,需有老师比对答案评分。

4.2 功能模块源代码

动态网站是指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。动态网站体现在网页一般是以asp,jsp,php,aspx 等结束。所以本文只展示了一些重要的文件和asp代码。

1. 数据库包含文件conn.asp

该文件决定了网页浏览的流畅性及灵活性,在写该文件时要特别的谨慎,具体包含:数据库名(db)及密码(pwd),数据库类型,数据库驱动(driver)。

<%

dim db,conn

db="data/Xiao5u.mdb"

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=xiao5u;dbq=" & Server.MapPath(db)

%>

2. 用户添加文件add.asp

<% Option Explicit %>

<%

'如果上面的信息填全了,就添加记录,否则给出错误信息

If Request.Form("sname")<>"" And Request.Form("sno")<>"" And Request.Form("sno1")<>"" Then

Dim strSql,varName,varSNO,varSNO1,varSclass '声明几个变量

varName=Request.Form("sname")

varSNO=Request.Form("sno")

varSNO1=Request.Form("sno1")

varSclass=Request.Form("sclass")

StrSql="Insert Into adduser(sname,sno, sno1,sclass,submit_date) Values('" & varName & "','" & varSNO & "','" & varSNO1 & "','" & varSclass & "'," & Date() & ")"

conn.Execute(StrSql)

Response.Redirect "index.asp" '添加成功,则返回首页

Else

Response.Write "请将所有信息填写完整,"

Response.Write "重新添加"

End If

%>

3. 科目选择文件choice.asp代码主要语句:

Asp技术目前还不是很完善,如中英文的译码问题。所以在设置字段是应设置两个同义的字段,字段值分别设置为中文(kname)用于页面上的选择和英文(kname1)用于后台的比对。

测试科目如下,请选择<%

dim rsbject,sqlsbject

set rsbject=server.createobject("adodb.recordset")

sqlsbject = "select * from Subject"

rsbject.open sqlsbject,conn,1,1

if rsbject.eof and rsbject.bof then

response.write "请选择测试科目"

else

%>