在线考试系统毕业设计

在线考试系统毕业设计[java毕业论文下载]

摘  要

智能化网上考试系统采用开放式的设计思想,可以承载各种课程的题库,计算机自动组卷,实施课程的考试;也可以通过网络传输一套或几套试卷,在保证试卷的安全保密性的前提下,实施课程的考试,解决课程考试中规模小、笔试考试管理环节多、工作量大等问题。

ASP是面向对象的开发工具,具有很多的控件,可以方便地进行界面设计和数据库连接等各种操作,所以我们选用ASP作为本次开发的语言。

关键词:考试系统、数据库、ASP、SQL、表。

 

Abstract

The intelligence turns the design thought that the on-line examination system adopts the open type, can load various database, a book of calculator, the examination of the implement course;Can also deliver through a network a set of or a few sets try book, while guarantee the premise of the safe confidentiality of try winding, implement the examination of the course, resolve the course examination is small in the scale, the written test examination manages the link to have another and work to have great capacity etc. problem.

The ASP is a development tool that faces to the object, having to control the piece a lot ofly, can carry on various operations, such as the interface design and the database conjunction...etc. conveniently, so we choose with a language for develop of the ASP conduct and actions.

Keywords: Examination system ,Database,ASP, SQL, Table


目录

 

   1

引 言 3

第一章   系统设计相关原理 4

1.1  Dreamweaver技术简介 4

1.2  SQLSQL Server技术简介 4

1.3   ASP技术简介 5

1.4  VBScript介绍 7

第二章   需求分析 8

2.1  系统需求解决的主要问题 8

2.2  系统应具备的具体功能 8

第三章 系统总体设计结构与模型 9

3.1  系统设计的总体结构 9

3.2  系统数据结构分析 9

3.3   数据库逻辑结构设计 9

第四章   系统实现 13

4.1  用户登录界面的实现 13

4.2  考生登录科目选择的实现 14

4.3  考试界面的实现 16

4.4  管理员登录界面的实现 18

4.5  管理员管理页面的实现 19

第五章 硬件配置 23

5.1 软件环境 23

5.2硬件环境 23

第六章 结束语 24

主要参考文献 25

附录 26

 


校园在线考试系统

引 言

现阶段,学校的各种考试大都采用传统的考试方式,每次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型不断增加,考试要求不断提高,考试的工作量将越来越大,并且将是一件十分烦琐和非常容易出错的事情,可以从某种程度上说传统的考试方式将不适应现代考试的需要。随着计算机网络应用的迅猛发展,网络已经接入千家万户,特别是现在很多的中小学校已经建立了多媒体计算机网络教室,因而利用现有的设备和技术等进行在线考试,不仅可以减轻教师和考生负担,提高效率,同时也提高了考试的质量,从而使考试更趋于公证、客观,更能激发学生的学习兴趣。我是从事高中信息技术教学工作,结合本校的实际,开发和设计此在线考试系统,本系统分为两个部分,一是前台的网上考试模块,二是后台网上考试管理模块。


第一章   系统设计相关原理

1.1  Dreamweaver技术简介 

Dreamweaver是一个所见即所得的网页编辑器,集功能强劲的可视化设计、应用开发环境以及代码编辑一身的工具,支持最新的DHTML和CSS标准。它采用了多种先进技术,能够快速高效地创建极具表现力和动感效果的网页,使网页创作过程变得十分简单。它用于对Web站点、Web应用程序进行设计、编码和开发,使开发人员和网页设计师能够快捷地创建代码规范的应用程序,开发环境精简而高效。开发人员能够运用它与他们的服务器技术构建功能强大的网络应用程序衔接到用户的数据、网络服务体系上。

Dreamweaver提供基于强大的规范管理来确保高质量的设计,设计环境提供CSS能迅速高效地开发代码简洁、专业规范的站点。通过手工编码和使用可视化对象和行为来快速生成动态的、数据库驱动的WEB应用程序。

Dreamweaver用于ColdFusion、ASP、ASP.NET、JSP和PHP的服务器代码库能够使用所有前沿的服务器端技术,以可视方式创建动态WEB站点,使用一种开发工具即可与多种站点和后端技术集成。

Dreamweaver包含并扩展了Macromedia UltraDev中的所有功能,以帮助使用ASP、ASP.NET、ColdFusion标记语言(CFML)、JSP和PHP等服务器语言来生成由动态数据库支持的WEB应用程序。

Dreamweaver也是开放式和可扩展的,赋予使用者最大的自由度和灵活性来选择今天或将来最适合自己工作的技术。

 

1.2  SQL和SQL Server技术简介 

SQL是“Structured Query Language(结构查询语言)”的缩写,是用来对存放在计算机中的数据库进行组织、管理和检索的语言。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL是一种综合的、通用的、功能极强的关系数据库语言,它包括数据定义(Definition)、数据操纵(Manipulation)、数据管理(Management)、存取保护(Access Protection)、处理控制(Control)等多种功能。利用表(table)、索引(index)、码(keys)、行(rows)和列(columns)等来确定存储位置。标准的SQL命令,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成绝大多数数据库的操作。SQL有两种使用方式,一种是联机使用方式,另一种是嵌入程序方式。大多数的程序接口都采用嵌入式的SQL语言。通过它可以将SQL Server数据复制到其他的数据库中,包括Access、Oracle、Sybase和DB2,并采用ODBC作为其连接机制,支持数据库信息自动发布到HTML文档,同时结合Microsoft  Internet Information Server和 SQL Server Internet Connector这两个产品/技术,使用户得到完整的数据发布能力。

SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access等等。本系统中使用的是Microsoft SQL Server,是单一进程多线程的关系型数据库,它使用Transact-SQL语言在服务器和客户机之间传送请求和答复,把所有的工作负荷分解成在服务器上任务和在客户机上任务。

Microsoft SQL Server支持在客户端以ODBC或Net-Library存取服务端数据。(1)ODBC(Open DataBase Connection)实际上是一个数据库的访问库,可依据ODBC与SQL Server连接,可以使应用程序直接操纵数据库的数据。ODBC的独特之处在于使应用程序不随数据库的改变而变,ODBC通过使用驱动程序来提供数据库的独立性,驱动程序与具体的数据库有关。驱动程序是一个用以支持ODBC函数调用的模块(通常是DLL),应用程序通过调用驱动程序所支持的函数来操纵数据库。ODBC还有一个驱动程序管理器(driver manager),驱动程序管理器包含ODBC.DLL中,可连接到所有的应用程序中,它负责管理应用程序中ODBC函数与DLL中函数的绑定(Binding)。(2)Net-Library在最低层,DBt-Library必须通过网络来发送它的请求,这就要Net-Library来完成这些操作,Net-Library并不是由语言程序员和开发人员直接使用的,Net-Library提供了客户端与服务器端的连接工具。

 

1.3   ASP技术简介 

“Active Server Pages(动态服务器网页)”,一般简称为“ASP”。ASP是一种Web服务器端开发环境,属于ActiveX技术中的服务器端技术,与在客户端实现动态效果的技术如Java Applet、ActiveX Control 、VBScript、JavaScript等有所不同的是,ASP脚本代码都是在服务器端解释执行,执行后将结果转化成动态的Web页面,并把标准的HTML格式文件送到浏览器。ASP在服务器进程内运行,是多线程的,可以进行优化来处理大量用户的访问。

另外,ASP还提供了五个内置的服务器组件和五个内置对象:Database Access component(数据库访问组件)、File Access Component(文件访问组件)、AD Rotator Component(广告办播器组件)、 Content Linking Component(内容链接组件)、 Browser Capabilities Component(浏览器组件)以及Request(请求对象)、Response(响应对象)、Sever(服务器对象)、Application(应用程序对象)、Session(会话对象),其中五种对象的功能见表1-1所示。并可以使用第三方所开发的组件来丰富和强化其功能,因此ASP具有开发简单和功能强大的优点,并且一般用户也容易掌握,利于普及,再加上微软强有力的支持,现在国内大多数交互网站都是使用ASP技术。

表1-1   ASP的五大内部对象

对象名称

功能描述

Request

读取提交表单中的数据或cookies中的数据

Response

向浏览器输出文本、数据和cookies以及控制在传送网页过程的每一个阶段

Server

创建COM对象和Scipting组件等

Session

Session对象为单个用户保持数据

Application

Application对象用来存放同一个应用中多个用户之间的共享信息

 

ASP 内含于PWS和 IIS 之中 , 我们通过 ASP可以结合 HTML 网页、 ASP 指令和 ActiveX 组件建立动态、交互高效的 Web服务器应用程序。有了 ASP 就不必担心客户端浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样就减轻了客户端浏览器的负担。

与一般程序不同,ASP程序无须编译,  程序控制部分使用 VBScript 、JavaScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBSrcipt 和 JavaScript ,而 VBscript 则被作为系统默认的脚本语言。

ASP主要特点表现如下:

1、 使用VBScript 、JavaScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地开发网站的应用程序。这一点特别有利于熟悉VB的人,因为VBScript脚本语言直接来源于VB语言。

2、 ASP代码嵌入HTML文件中,无须编译就可在服务器端直接解释执行。

3、 使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。

4、 ASP程序运行环境与浏览器无关。ASP所使用的脚本语言 (VBScript 、JavaScript) 均在Web服务端执行。当客户端浏览器浏览ASP页时,服务器会将该网页文件解释并转化成标准的HTML文件发送到客户端浏览器,由于送出的是标准的HTML文件,所以不存在浏览器兼容问题。

5、 ASP以对象为基础,可以使用ActiveX控件继续扩充其功能。

6、 ASP的源程序由于只在服务器上运行,不会被传到客户端浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。

8、 利用ADO组件能轻松方便迅速实现对数据库的操作,缩短程序的开发时间。

 

1.4  VBScript介绍 

脚本(Script)就是插入在HTML文件中的短程序,通常有两个脚本语言:JavaScript和VBScript(Microsoft Visual Basic Scripting Edition)。JavaScript基于SUN公司的JAVA,而VBScript是基于Microsoft公司的Visual Basic,是以Visual Basic语言为基础提供编程功能,是Visual Basic语言的一个子集,是IIS的缺省源程序语言。

VBScript可以在HTML网页上操作、控制、处理对象。在最初的设计中,VBScript是通过编写事件驱动的脚本来扩大客户端HTML功能,编写客户端脚本最大的优点就是由浏览器解析执行,不需要增大服务器的负担。例如,我们可以在客户端进行输入数据有效性验证,防止浏览器将无效数据发送给服务器,这样,一方面可以减轻服务器的负担,防止服务器陷入处理大量无意义数据的工作中,同样,也可以减轻网络的阻塞;另一方面,也能够使客户减少等待时间,在验证的时候,浏览器能够立即作出响应,而如果在服务器上进行验证,那用户则不得不在浏览器前等待,服务器的处理和网络的传输都需要耗费一定的时间。

随着ASP技术的出现,VBScript将它的功能扩展到服务器上,VBScript开发的脚本可以在服务器上解析执行。在服务器端脚本开发的过程中,使用VBScript则没有客户端脚本开发时的局限性,当客户请求页面时,页面将在服务器上执行,然后再反馈给浏览器,浏览器所获得的只是标准的HTML文件,这样就可以不受浏览器功能的限制。

VBScript和HTML 页面完美地结合在一起,运用VBScript可以控制HTML页面,并对页面中某些事件作出响应,例如,前面所述的可以在页面的表单提交时进行数据有效性验证。VBScript 还提供了许多对象,运用这些对象,可以方便地进行脚本的编写,实现一些其他语言所无法实现的功能。


第二章   需求分析

2.1  系统需求解决的主要问题 

本在线考试系统采用ASP、HTML、JavaScript、Dreamweaveer2004MX、VBScript、图形编辑与数据库等工具开发的,通过基于WEB服务器访问纯WEB页面,实现在线组卷、在线考试以及在线对试题、考生进行管理等的功能。

在线考试系统是专门用于试题(卷)录入、查询、修改、删除、组卷和参加在线考试的ASP应用程序,其最大的特点是开放性、方便性和灵活性。管理用户不仅可以轻松地向题库添加、修改和查询试题(卷),而且还可以自动新增考试科目并创建相应的数据表。考生可通过浏览器进行有效的身份登录验证后,选择正确的考试科目,并要求在规定的时间内完成答题,当达到规定的时间后,予以提交,考生考完后便能立即看到自己的成绩,并将得分记入成绩数据表中。

本系统应用对象主要是中、小学等单位的教师及学生和教育部门进行培训考试等。

 

2.2  系统应具备的具体功能 

考生考试部分:考生登记、正式考试以及考试后成绩显示等。

试题信息管理部分:管理员对考试科目(题库)信息的浏览、添加、修改和删除等;设置修改的题库和考试的科目;某一题库的试题信息的浏览、修改、添加和删除等。

考生信息管理:管理员对考生信息进行查看、添加、修改和删除等;查看考生考试成绩和对考生考试进行监控。

系统配置信息设置:管理员进行登录以及对管理用户进行管理如管理用户查看、添加、修改以及设置管理员用户的操作权限等。


第三章 系统总体设计结构与模型

 

3.1  系统设计的总体结构 

系统设计的总体结构图如图3-1所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图3-1  系统总体结构图

 

3.2  系统数据结构分析 

管理用户信息:包括管理用户名、密码、管理权限等。

考生信息:考生姓名、考号、是否登录、是否提交等。

考试成绩库: 考生考号、考试成绩、考试信息等。

试题库信息:题目编号、题干、选项、正确答案、选中标记等。

考试科目信息:考试名称、考试时间、考试份数、数据库表名、是否修改、是否考试等。

考试信息:考试编号、各种题目的数量和分值、考试时间等。

 

3.3   数据库逻辑结构设计 

本系统定义的tempDB数据库中至少包含6张表:系统管理表Admin、考试题库表(具体的表名由管理员自定义)、考生考试成绩表Score、试题信息表tryinfo、考生信息验正表Verification、系统网页配置表Webset。以下分别介绍各表的结构。

1、系统管理表Admin

系统管理表Admin用来保存系统管理员的信息,包括管理用户、密码和权限,如表3-1所示。

表3-1    系统管理表Admin

编号

字段名称

数据结构

说明

1

ID

自动编号

 

2

SANAME

文本

用户名

3

SAPASS

文本

用户密码

4

ROLE_1

是/否

试题数据管理

5

ROLE_2

是/否

考生数据管理

6

ROLE_3

是/否

系统配置管理

 

2、考试题库表

考试题库表管理员可以根据自己的考试需要来创建,表名是管理员自已定义,它用来保存考试试题有关信息,如表3-2所示。

表3-2    考试题库表

编号

字段名

数据结构

说明

1

ID

自动编号

 

2

TRY_TYPE

文本

1—判断,2—单选,3—多选

3

TRY_DIFF

文本

难度

4

TRY_CENT

数字

分值

5

TRY_SUBJECT

文本

题目

6

A

文本

A选项

7

B

文本

B选项

8

C

文本

C选项

9

D

文本

D选项

10

TRY_KEY

文本

答题(判断题:1对,0错)

 

3、考生考试成绩表Score

考生考试成绩表Score用来保存考生考试得分等有关信息,如表3-3所示。

表3-3    考生考试成绩表Score

编号

字段名

数据结构

说明

1

ID

自动编号

 

2

STU_NUM

文本

考生学号

3

DB_NAME

文本

考试数据表名

4

TRY_DATE

日期/时间

考试日期

5

TRY_TIME

文本

时间

6

STU_SCORE

数字

得分

 

4、试题信息表tryinfo

试题信息表tryinfo用来保存系统中所有的考试题库表信息,如考试学科、考试名称、题库表名、考试时间等,如表3-4所示。

表3-4    试题信息表tryinfo

编号

字段名

数据结构

说明

1

ID

自动编号

 

2

DB_TRYNAME

文本

考试科目

3

DB_EXAMNAME

文本

考试题目

4

DB_TRYTIME

数字

考试时间

5

DB_TRYNUM

数字

考试份数

6

DB_TRYS

数字

考试总分

7

DB_NAME

文本

数据库表名

8

DB_MODFIYFLAG

文本

是否修改(0-可修改)

9

DB_ONOFFT

文本

是否考试(0-可考试)

 

5、考生信息验证表Verification

考生信息验证表Verification用来保存考生基本信息,如表3-5所示。

表3-5    考生信息验证表Verification

编号

字段名

数据结构

说        明

1

ID

自动编号

 

2

STU_NUM

文本

考生学号

3

STU_NAME

文本

考生姓名

4

STU_CLASS

文本

所在班级

5

STU_SEX

文本

考生性别

6

STU_IPADD

文本

考生考试机IP号

7

STU_LOGIN

文本

是否登记:0是默认,1已登记

8

STU_SUBMIT

文本

是否提交:0是默认,1已提交

 

6、系统网页配置表Webset

系统网页配置表Webset用来保存系统网页配置信息,如表3-6所示。

表3-6    系统网页配置表Webset

编号

字段名

数据结构

说     明

1

ID

自动编号

 

2

WEBNUM

数值

浏览记录个数

3

SCREEN

文本

1是800*600

 

第四章   系统实现

本系统在设计时分为两个模块:公用模块和专用模块。公用模块的存取对设计很重要,设计的目的是为了复用,直接影响到系统的详细设计、编程和运行的质量。系统中建有如下公用模块:数据库连接conn.asp、考试时间验证changeTime.asp、管理用户登记验loginV.asp以及使用CSS样式文件等,调用这样的模块只要包含该文件,就可调用。专用模块是为了处理一些特殊需要,不可复用,有登录注册、菜单设计、录入修改、查询统计、监控等模块。下面主要说明数据库连接和CSS样式的实现。

连接数据库conn.asp(或conn2.asp)公用模块,代码如下:

<%

on error resume next

 ‘使用Server对象的CreateObjext方法建立Connection对象

Set conn=Server.CreateObject("ADODB.Connection") ‘连接数据库

conn.Open “DSN=test;UID=sa;PWD=sa;Database=tempDB” ‘初始化一个连接

%>

CSS是一种样式表(stylesheet)技术,也有的人称之为层叠样式表(Cascading Stylesheet)。它的作用简单地说:就是可以使你在同一页面里使用不同的超链接样式和格式。用CSS仅仅改变一个文件就可以改变数百个网页的外观,个性化的表现而不损。这些是因为网页样式表的强大和灵活的特性。在网页使用如下代码:<link href="css/Style.css" rel="stylesheet" type="text/css">。

 

4.1  用户登录界面的实现 

系统的首页如图4-1所示,现在还没有登记。

图4-1   登录主界面

本界面为登录主界面index.asp,也是首页,通过此可以进入系统管理界面、进入在线考试系统以及发送电子邮件,比较简单,主要是通过图像地图(热点)来实现,实现代码如下:

<map name="Mapstu" id="Mapstu">

  <area shape="rect" coords="72,121,211,147" href="admin/default.asp">

  <area shape="rect" coords="72,158,211,184" href="default.asp"> 

 <area shape="rect" coords="257,245,285,275" href="mailto:qjzx@mail.hf.ah.cn" alt="请与我联系">

</map>

 

4.2  考生登录科目选择的实现 

进入在线考试系统是考生进行登录和选择考试科目的界面如图4-2所示。

 

图4-2   考生登录主界面

本界面包括公开模式代码:<!--#include file="include/conn.asp"-->,此界面要调用数据库tryInfo表,在考试题目的下拉列表中要显示可以考试题目,其主要的调用代码和实现下拉列表的代码如下:

<%

listExamName="Select ID,DB_EXAMNAME from tryInfo where DB_ONOFFT='0'"

set rsT=conn.execute (listExamName) ‘ .execute方法执行指定的查询、SQL语句或存储过程等

%>

<select name="selectTry">

<%

if rsT.eof then      ‘数据表中没有侯选项,显示“没有要考的试卷”

response.write("<option value='2'>没有要考的试卷</option>")

end if

Num=1     ‘变量用于控制下拉列表中被选选项

while not rsT.eof

ExamIDT=rsT("ID")

ExamNameT=rsT("DB_EXAMNAME")

if Num=1 then     ‘处理被选选项

 response.Write("<option value='"&ExamIDT&"' selected>"&ExamNameT&"</option>")

Num=0

Else        ‘处理其他选项

response.Write("<option value='"&ExamIDT&"'>"&ExamNameT&"</option>")

end if

rsT.movenext    ‘下移一个记录

wend

%>

</select>

考试机的IP号显示是用Request对象中ServerVariable集合,代码为<%=request.servervariables("remote_addr")%>。

 

4.3  考试界面的实现 

由登录界面提交后,要对考生输入的信息进行验证verifcation.asp,主要用于判断是否有此考生,以及判断此考生是否已登录和已提交过,若没有登录和提交,然后才能进入考生考试界面如图4-3所示。

 

图4-3   考生考试界面

考生考试界面trybook.asp主要用来显示考试试题内容和考生作答的,可显示的题目类型有判断题、单选题和多选题三种类型。本界面包括如下公用模式代码如下:

<!--#include file="safe.asp" -->

<!--#include file="include/conn.asp"-->

<link href="css/Style.css" rel="stylesheet" type="text/css">

由于要访问的数据信息量大,因而要创建功能强大的访问数据库的对象RecordSet,其实现的代码为:

<%

set rsT=server.CreateObject("ADODB.RecordSet")

trySql="select * from tryinfo where ID="&Session("selectTryId")

rsT.open trySql,Conn

%>

考试的主要题型有判断题、单选题和多选题三种,它们显示处理方法基本相同,以下介绍其中一种单选择题的处理方法,其它类似。

<%

'单选题

response.write("<br>二. <b>单选择</b><font color=red> 注:对的打勾、错的不要打勾</font><br>")

trySql="select * from "&Session("tryT")&" where TRY_TYPE='2'"

rsT.open trySql,Conn

q_num=1     ‘q_num为记录题目的个数

while not rsT.Eof

response.write(q_num&". "&rsT("TRY_SUBJECT")&"<br>") ‘显示题号和题干

%>

<input type="radio" name="<%response.write("DxRb"&q_num)%>" value="A"> A. <%=rsT("a")%>    ‘显示A选项

<br><input type="radio" name="<%response.write("DxRb"&q_num)%>" value="B"> B. <%=rsT("b")%>   ‘显示B选项

<br><input type="radio" name="<%response.write("DxRb"&q_num)%>" value="C"> C. <%=rsT("c")%>   ‘显示C选项

<br><input type="radio" name="<%response.write("DxRb"&q_num)%>" value="D"> D. <%=rsT("d")%>   ‘显示D选项

<br>

<%

rsT.movenext   ‘移动下一个记录

q_num=q_num+1   ‘记录个数自动加1

wend

DxNum=q_num-1    ‘保存单选题的小题总数

Session("Dx_Num")=DxNum

rsT.close

%>

学生完成考试提交后,进入评分,通过ASP程序listscore.asp把学生的答案与标准答案进行比较评分,最后计算出总分,并且写入数据库Score表中。

 

4.4  管理员登录界面的实现 

管理员界面如图4-4所示,这是一个还没有登录的界面。

 

 

图4-4   管理员登录界面

在线考试系统毕业设计[点击下载]
  • 上一篇:
  • 下一篇:

评论