当前位置:文档之家› 基于Web的网络在线考试系统的设计与实现

基于Web的网络在线考试系统的设计与实现

毕业设计说明书

基于Web 的网络在线考试系统的

设计与实现

基于Web的网络在线考试系统的设计与实现

摘要:随着信息技术的飞速发展,依赖计算机互联网技术的在线考试系统也蓬勃发展。在线考试系统旨在实现考试的无纸化管理,基于计算机和网络技术进行在线考试系统的使用,既方便了校方对考试的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。因此,利用在线考试系统,可以帮助教育培训机构进行更系统、更科学的管理。在线考试系统作为一种崭新的、有着极大优越性的教学评价手段,正日益成为数据库管理技术广泛应用的一个热点研究方向。

在线考试系统实现了系统管理、考生管理、在线考试、在线制作试卷、控制学生考试、试卷审批等基本功能。系统提出了网络在线考试系统的完整解决方案,实现了题目分类的特殊原则:考试题目,试题类型,难度,分数等由命题人自己定制。系统可以完成试卷的定制,试卷的自动生成,并可以对试卷进行修改。

系统采用B/S开发模式,以Java作为开发平台,结合JSP、JavaScript、Html等语言,以Tomcat为服务器和SQL Server 2000为后台数据库。整个系统层次结构简单,操作容易,并具备一定的安全性。考生借助此系统,可以随时随地的进行课程结业考试。同样,老师使用该系统能更高效、更便捷的组织在线考试。

关键词:在线考试系统;B/S模式;SQL Server 2000数据库

The Design and Implementation of the Web-based Online

Examination System

Abstract:With the advent of information technology, the online examination system which rely on the Internet technology grows rapidly. The online examination system aims at achieving the paperless examination management. The online examination system, which bases on computer and network technology, is convenience for the exam management, but also for the students. Simultaneously, such a system is absolutely suitable for the students in distance education who are dispersive and difficult to concentrate on the course. So, utilize the online examination system can help education and training organizations to carry on more systematic, more scientific management. As a kind of new teaching method that with great superiority, the online examination system is becoming a hotspot of database management gradually.

The online examination system implements the following functions: system management, examinee management, online examinations, online production of the papers,control examinations and paper processing. The system puts forward the complete settlement scheme of online examination system of cross-domain communication, and realized the classified special principle of title: the fractions etc are had something made to order by proposition person oneself degree of difficulty examination questions type examination title. The system can accomplish having something made to order of examination paper, the voluntarily formation of examination paper, and can revise.

The system bases on B/S development model, using Java as a development platform, which utilizes JSP, JavaScript, and Html language as well. The web server is Tomcat. Database server is SQL Server 2000.The system structure is simple, easy and safe. Examinee can exam at any time by using the system. Simultaneously teachers can use the system to organize online examination more efficiently and conveniently.

Key words:The online examination system; B/S pattern; SQL Server 2000 Database

目录

1 概述 (1)

1.1课题背景与意义 (1)

1.1.1 课题开发背景 (1)

1.1.2 课题开发意义 (1)

2 开发工具与环境 (1)

2.1课题开发工具与环境 (1)

2.1.1 JAVA和JSP技术简介 (1)

2.2SQL Server 2000 服务器 (2)

2.2.1 SQL Server 概述 (2)

2.2.2 SQL Server 的主要功能 (2)

2.3 Tomcat 5.5.17.0服务器架构 (3)

2.3.1 JDK的安装与配置 (3)

2.3.2 Tomcat的安装与配置 (3)

2.4总体开发 (4)

3 系统分析 (4)

3.1需求分析 (4)

3.2可行性研究 (4)

3.3系统目标 (5)

3.4系统功能结构 (5)

3.5业务流程图 (6)

3.6开发环境 (6)

4 数据库设计 (7)

4.1数据库分析 (7)

4.2数据库概念设计 (7)

4.3数据库逻辑结构 (9)

4.4数据表之间的关系设计 (11)

5 详细设计 (12)

5.1前台首页模块设计 (12)

5.1.1前台首页概述 (12)

5.1.2 前台首页技术分析 (12)

5.1.3 前台首页的实现过程 (13)

5.2考生信息模块设计 (13)

5.2.1 考生信息模块概述 (13)

5.2.2 考生信息模块的技术分析 (14)

5.2.3 考生注册的实现过程 (16)

5.2.4 找回密码的实现过程 (19)

5.3在线考试模块设计 (21)

5.3.1 在线考试模块的概述 (21)

5.3.2 在线考试模块的技术分析 (22)

5.3.3 选择考试课程的实现过程 (22)

5.3.4 随机抽取试题并显示试题的实现过程 (24)

5.3.5 自动阅卷并显示考试成绩的实现过程 (26)

5.4后台首页模块概述 (27)

5.5考试题目管理模块设计 (27)

5.5.1 考试题目管理模块的概述 (27)

5.5.2 查看考试题目列表的实现过程 (28)

5.5.3 添加考试题目的实现过程 (28)

5.6套题信息管理模块概述 (29)

5.7课程信息管理模块概述 (30)

5.8考生成绩查询模块概述 (30)

5.9考生信息管理模块概述 (30)

5.10管理员信息管理模块概述 (31)

6 软件开发与测试 (31)

6.1软件开发技术概述 (31)

6.2通过Ajax技术实现计时与显示剩余时间 (31)

6.3软件测试的过程 (32)

7 结束语 (33)

参考文献 (34)

致谢 (35)

附录 (36)

附录1 源程序清单 (36)

附录1.1公共模块设计 (36)

附录1.2考生信息模块设计 (42)

附录1.3在线考试模块设计 (54)

附录1.4考试题目管理模块设计 (61)

基于Web的网络在线考试系统的设计与实现

1 概述

1.1 课题背景与意义

1.1.1 课题开发背景

传统的考试从出题、组卷、印刷,到试卷分发、答题、收卷,再到判卷、公布成绩,整个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,使得整个考试的成本较大。所以,实现无纸化、网络化、自动化的计算机考试系统,具有深远的现实意义和实用价值。

网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此网络考试系统是电子化教学不可缺少的一个重要环节。

网络考试系统的实现技术有多种,可以采用传统的客户机/服务器型的MIS型架构,Web技术超越了传统的"客户机/服务器"两层结构,采用了三层体系结构:用户界面层/事务层/数据库层,因此Web结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层分开在不同的计算机上),所以,本文所讨论的考试系统采用Web技术实现。

1.1.2 课题开发意义

用Browser/Web模式来设计考试系统比较合适,服务器端我们采用SQL SERVER数据库系统和JSP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JAVA Server Page技术,开发了基于B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端).基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。

2 开发工具与环境

2.1 课题开发工具与环境

2.1.1 JAVA和JSP技术简介

a) 将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页

基于Web的网络在线考试系统的设计与实现

面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

b) 可重用组件

大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

c) 采用标识

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

d) 适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

e) 数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java 程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。

2.2 SQL Server 2000 服务器

2.2.1 SQL Server 概述

SQL Server 是美国Microsoft公司开发的一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。它在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。Microsoft SQL Server 2000 在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先地位,使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。

2.2.2 SQL Server 的主要功能

a) 数据库管理功能

作为数据库管理系统,SQL Server自然应该具有数据库管理功能。它的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。

b) 数据仓库功能

SQL Server 2000提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势。SQL Server针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet 对多维数据集进行访问和链接分析提供新的数据仓库功能。

c) 电子商务

SQL Server不仅提供电子商务所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。SQL Server2000不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。

d) 完备的Web功能

SQL Server2000允许通过HTTP协议,在Web上进行高性能、基于标准的安全访问。基于Web的客户端拥有访问关系型数据存储和访问分析服务的能力。

e) 分布式数据复制功能

它可以将一个数据库中的数据复制到通过局域网、广域网或Internet网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。

2.3 Tomcat 5.5.17.0服务器架构

Tomcat 5.5.17.0由Apache组织开发的一种常用Web服务器,提供Web服务。一种JSP引擎,本身具有Web功能,可以作为独立的Web服务器使用。但是,在作为Web服务器方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,一般选用Tomcat与Apache结合的方式,让后者对网站的静态页面的请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP 解析,得以更好的性能。

2.3.1 JDK的安装与配置

a) 找到path变量后单击[编辑]按钮;弹出[编辑系统变量]对话框。在[变量值]文本框中输入“c:\jdk\bin”,然后单击[确定]按钮。同时新建classpath变量。

b) 在[系统变量]选项组中单击[新建]按钮,在[变量名]文本框中输入“classpath”,在[变量值]文本框中输入“c:\jdk\lib\tools.jar;c:\jdk\lib\dt.jar;” 然后单击[确定]按钮。

c) 用同样的方法把c:\jdk添加到JAVA_HOME环境变量中。

2.3.2 Tomcat的安装与配置

在这里我们设默认安装目录为c:\Tomcat安装完毕,更改环境变量,用同样的

基于Web的网络在线考试系统的设计与实现

方法把c:\Tomcat添加到TOMCAT_HOME环境变量中。启动Tomcat,在浏览器的[地址]下拉列表框中输入“http://localhost:8080/”,如果看到的是在左上方有一只可爱的小猫,则表示Tomcat安装成功。

2.4 总体开发

在线考试系统采用了三层的模式架构:JSP-JavaBean-Sql Server 2000开发,即前端由JSP网页实现表现逻辑,中间使用JavaBean的组件实现系统内部复杂的业务逻辑,后端使用Sql Server 2000数据库实现数据逻辑。

系统采用的开发工具是:Myeclipse,Dreamweaver 2004 网页编辑工具;采用的数据库是:SQL Server 2000;采用的服务器是:Apache Tomcat 5.5.17.0。其中Java 中连接数据库的技术是JDBC。

3 系统分析

3.1 需求分析

随着社会经济的发展,人们对教育越来越重视。考试是教育中的一个重要环节,近几年来随着考试的类型不断增加以及考试要求不断提高,传统的考试方式要求教师打印考卷、监考、批卷、使教师的工作量与来越大,并且这些环节由于全部由人工完成,非常容易出错。因此,许多学校或考试机构建立网络在线考试网站来降低管理成本和减少人力物力的投入,同时,为考生提供更全面、更灵活的服务。考生希望对自己的学习情况进行客观、科学的评价;教务人员希望有效地改进现有的考试模式,提高考试效率。为了满足考生和教务人员的要求,网络在线考试系统应包含在线考试、成绩查询等功能,以满足用户的需求。

3.2 可行性研究

可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解决方法的利弊,来判定系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。网络在线考试系统的可行性可从以下几个方面考虑。

a) 经济可行性

定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本;另一方面,在线考试系统能够快速的进行考试和评分,体现出考试的客观和公正性。

b) 技术可行性

开发一个网络在线考试系统,涉及到最核心的技术问题就是如何实现在不刷新页面的情况下实时显示考试时间及剩余考试时间,并做到到达考试结束时间自动提交试卷的功能。如果在Ajax技术出现以前,要实现这些功能会比较麻烦,但现在通过Ajax技术可以轻松实现这些功能,这为网络在线考试系统的开发提供了技术保障。

3.3 系统目标

根据前面所做的需求分析和用户的需求可知,网络在线考试系统属于中小型的软件,在系统实施后,应达到以下目标:

a) 具有空间性。被授权的用户可以在异地登录网络在线考试系统,而无需到指定地点进行考试。

b) 操作简单方便、界面简洁美观。

c) 系统提供考试时间倒计时功能,使考生实时了解考试剩余时间。

d) 随机抽取试题。

e) 实现自动提交试卷的功能。当考试时间到达规定时间时,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。

f) 系统自动阅卷,保证成绩真实准确。

g) 考生可以查询考试成绩。

3.4 系统功能结构

根据网络在线考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩以及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息和考生成绩信息等进行管理。

网络在线考试系统的前台功能如图3-1所示:

图3-1 网络在线考试系统的前台功能结构

基于Web的网络在线考试系统的设计与实现网络在线考试系统的后台功能结构如图3-2所示:

图3-2 网络在线考试系统的后台功能结构3.5 业务流程图

网络在线考试的系统流程如图3-3所示:

图3-3 系统流程图

3.6 开发环境

在开发网络在线考试系统时,需要具备下面的软件环境:

服务器端:

a) 操作系统:Windows XP。

b) Web服务器:Tomcat5.5。

c) Java开发包:JDK1.5以上。

d) 数据库:SQL Server 2000。

e) 浏览器:IE 6.0。

f) 分辨率:最佳效果为1024*768像素。

客户端:

a) 浏览器:IE 6.0。

b) 分辨率:最佳效果为1024*768像素。

4 数据库设计

4.1 数据库分析

由于网络在线考试系统对于数据的安全性及完整性要求比较高,并且为了增加程序的适用范围,还要保证系统可以拥有存储足够多数据的能力。SQL Server 2000是一种高性能的关系型数据库管理系统,它在SQL Server 7.0的基础上又扩展了系统性能、可靠性、安全性和易用性,逐渐成为在线事务进程和数据仓库等最好的数据库平台。综上所述,本系统采用SQL Server 2000数据库。

4.2 数据库概念设计

根据对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体分别为考生档案实体、管理员档案实体、课程档案实体、套题实体、考试题目实体和考生成绩实体。

a) 考生档案实体

考生档案实体包括编号、姓名、密码、性别、注册时间、提示问题、问题答案、专业和身份证号属性。考生档案实体的E-R图如图4-1所示:

图4-1 考生档案实体E-R图

基于Web的网络在线考试系统的设计与实现

b) 管理员档案实体

管理员档案实体包括编号、管理员名、管理员密码属性。管理员档案实体的E-R 图如图4-2所示:

图4-2 管理员档案实体E-R图

c) 课程档案实体

课程档案实体包括课程编号、课程名、添加时间属性。课程档案实体的E-R图如图4-3所示:

图4-3 课程档案实体E-R图

d) 考试题目实体

考试题目实体包括编号、问题类型、所属课程、所属套题、选项A、选项B、选项C、选项D、添加时间、正确答案和备注等属性。考试题目实体的E-R图如图4-4所示:

图4-4 考试题目实体E-R图

e) 套题实体

套题实体包括编号、套题名称、所属课程、和添加时间属性。套题实体的E-R 图如图4-5所示:

图4-5 套题实体E-R图

f) 考生成绩实体

考生成绩实体包括编号、准考证号、所属课程、单选题分数、多选题分数、合计分数、添加时间属性。考生成绩实体的E-R图如图4-6所示:

图4-6 考生成绩实体的E-R图

4.3 数据库逻辑结构

a) tb_manager (管理员信息表)

管理员信息表用来保存管理员信息,该表的结构如表4-1所示:

b) tb_Student (考生信息表)

考生信息表用来保存考生信息,该表的结构如表4-2所示:

基于Web的网络在线考试系统的设计与实现

c) tb_stuResult (考生成绩信息表)

考生成绩信息表用来保存考生成绩,该表中的所属课程字段whichLesson与tb_Lesson表中的Name字段相关联,并且设置为级联更新。考生成绩信息表的结构如表4-3所示:

d) tb_TaoTi (套题信息表)

套题信息表用来保存套题信息,该表中保存着所属套题ID,套题名称,套题所属课程以及套题的添加时间信息。该表的结构如表4-4所示:

e) tb_Lesson (课程信息表)

课程信息表用来保存课程信息,该表中保存着所属课程的ID,课程名以及课程的添加时间信息。该表的结构如表4-5所示:

f) tb_Questions (考试题目信息表)

考试题目信息表用来保存考试题目信息。考试题目信息表的结构如表4-6所示:

4.4 数据表之间的关系设计

本系统设计了如图4-7所示的数据表之间的关系,该关系实际上也反映了系统中各个实体之间的关系。

图4-7 数据表之间的关系图

基于Web的网络在线考试系统的设计与实现

5 详细设计

5.1 前台首页模块设计

5.1.1前台首页概述

考生通过“考生登录”模块的验证后,可以登录到网络在线考试的前台首页,如图5-1所示。前台首页主要用于实现前台功能导航,在该页面中只包括在线考试、成绩查询、修改个人资料和退出4个导航链接。

图5-1 前台首页的运行效果

5.1.2 前台首页技术分析

由于本系统的前台首页主要用于进行系统导航,所以在实现时,采用了为图像设置热点的方法,这样可以增加页面的灵活度,使页面不至于太枯燥。下面将对如何设置图像的热点进行详细介绍。为图像设置热点,也可以称作图像映射,是指一幅图像可以建立多个超链接,即在图像上定义多个区域,每个区域链接到不同的地址,这样的区域称为热点。

图像映射有服务器端映射(Server-side-Image Map)和客户端映射(Client-side-Image Map)两种。目前使用最多的是客户端映射,因为客户端映射使图像上对应的坐标以及超链接的URL地址都在浏览器读入,省去和服务器之间互传坐标和URL的时间。

在HTML文件中,使用标记可以为图像设置热点,语法格式如下:

“描述文字” “描述文字”

标记中设置属性usemap,确定创建图像热点。标记属性如表5-1所示:

在标记中,根据属性shape的取值不同,相应坐标的设定也不同。

5.1.3 前台首页的实现过程

a) 在页面中插入要设置热点的图片,并设置其usemap属性,代码如下:

b) 在标记中间插入设置热点区域的代码,具体代码如下:

5.2 考生信息模块设计

5.2.1 考生信息模块概述

考生信息模块主要包括考生注册、考生登录、修改个人资料以及找回密码等四个功能。考生首先要注册成为网站用户,然后才能被授权登录网站进行一系列操作的权限;登录后考生还可以修改个人的注册资料。如果考生忘记了登录密码,还可以通过网站提供的找回密码功能快速找回密码。考生信息模块的系统流程如图5-2所示:

基于Web的网络在线考试系统的设计与实现

图5-2 考生信息模块的系统流程图

5.2.2 考生信息模块的技术分析

由于本系统采用的是Struts框架,所以在实现考生信息模块时,需要编写考生信息模块对应的ActionForm类和Action实现类。下面将详细介绍如何编写考生信息模块的ActionForm类和Action实现类。

a) 编写考生信息模块的ActionForm类

在考生信息模块中,只涉及到数据表tb_Student(考生信息表),虽然根据这个数据表可以得出考生信息模块的ActionForm类。但是本模块中应用的ActionForm 类中并不是只包括这些属性。由于在修改个人资料时,需要验证输入的原密码是否正确,所以还需要在考生信息的ActionForm类中添加一个oldpwd属性,同时,在进行批量删除考生信息时,还需要添加一个保存要删除考生ID号的delldArray属性,由于是批量属性,所以该属性类型为字符串数组。

public class StudentForm extends ActionForm {

public Date getJoinTime;

private String oldpwd; //原密码

private String[] delIdArray=new String[0];

相关主题
文本预览
相关文档 最新文档