在线考试制卷系统的设计与实现

在线考试制卷系统的设计与实现[java毕业论文下载]

在线考试制卷系统的设计与实现

摘   要

利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网建设的有利优势,基于B/S模式研究开发了在线考试系统这一ASP应用程序。该系统可以减轻教师工作负担、提高工作效率、优化学生考试的流程,比传统的考试模式节省了人力、财力和时间。

系统分为三大模块:系统管理模块,考试模块以及领导审查模块。其中系统管理模块是由科目管理、题库管理、试卷生成、信息发布、用户管理等组成,该模块是系统的基础。考试模块主要有选择科目、成绩查询、考试新闻组成,主要实现了考生在选择科目后进入考试窗体,以及考完后对客观题的自动评分、存档。审核模块主要实现领导对考试计划和考试新闻的审批等。

本系统的开发采用结构化设计思想。论文中介绍了考试系统的开发背景、开发工具、总体设计和系统的具体实现过程。

关键词:题库管理;试卷生成;信息发布;用户管理

 

The Design and Realization of Generating Papers for Online Examination System

Abstract

The use of network and database technique combining with the current hardware prices falling and the favorable advantages in broadband network building . Based on

 B/S mode, online examination system has been researched and developed. Comparing to the traditional test pattern, the system lightens the teacher workload, enhances working efficiency, optimizes the process which the student takes a test, and saves the manpower, financial resource and the time.

The system is divided into three modules: system management module, examination module and leadership review module. The system management module is composed of the subject management, paper management, generating papers, the information issued, the user management and so on. The module is the foundation of the system. The test module mainly is composed of the choice subject, the result inquiry, the test news, mainly realizes the examinee to enter the test window after they choice subject, and the automatically score, archive for objective topic after testing. Audit module mainly realizes the leadership approves plans of the test and the news examination.

The system development uses the structure design thought. In the paper, the development background, the development kit and the procedure of realization is introduced.

Key words: management of test papers; test paper generation; information issue; user management

 

目  录

论文总页数:24页

1 引言 1

1.1 选题背景 1

1.2 课题的选定 2

1.3 可行性研究 2

1.3.1 目标 2

1.3.2 评价尺度 2

1.3.3 对现有系统的分析 2

1.3.4 技术可行性 3

1.3.5 影响 3

1.4 投资及效益分析 4

1.4.1 投资分析 4

1.4.2 市场前景分析 4

1.4.3 其他效益分析 4

1.4.4 操作可行性 4

1.5 运行环境 4

1.5.1 服务器端配置 4

1.5.2 客户端配置 5

2 总体设计 5

2.1 系统设计 5

2.2 数据库概念模型 8

2.3 数据库的分析与设计 9

3 系统的具体实现过程 13

3.1 系统首页及用户登录 13

3.1.1 系统首页 13

3.1.2 用户登录 13

3.2 管理员模块(后台管理模块) 14

3.2.1 试卷的生成 14

3.2.2 题库和科目的管理及信息的发布 18

3.3 领导审核模块 19

3.3.1 试卷的审核 19

3.4 普通用户模块 21

3.4.1 科目考试 21

3.4.2 成绩查询 21

结    论 22

参考文献 22

致    谢 23

声    明 24

 

 

引言

1.1 选题背景

在二十一世纪的新时代,随着技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了教学,通过计算机实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了更高的设计要求。

教学包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然教学已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。

在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!

目前,应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。

1.2 课题的选定

在线考试系统极大的提高了教学的灵活性,现在许多领域已经有了广泛的应用。最有影响的案例就是ETA(美国教育考试中心)举办的GRE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变为每个工作日都可以参加考试。

本程序实现了一个功能比较强大的网上考试系统,该系统基本上可以满足现代信息化企业的内部考试要求,领导即使在外地出差也可以通过访问Internet轻松设置审批考试,考试结束后也不要传统的繁琐的阅卷过程,极大的提高了企业的办公效率。考试的题型都是标准化客观题目(单项选择题、多项选择题、判断题),对于其他类型的题目只要在文本的基础上稍加修改即可。本系统的最大特点是无论是考试计划还是新闻的发布都需要通过层层审批才能生效,审批流程,系统自动提示,这符合企业的流程,也有利于企业的管理。

在线考试系统一定要有的信息作为基础,关于考生的信息管理其实就是一个简单的会员管理系统,只要对这个库稍加修改即可变为任何企业,任意部门的考试系统。这里所实现主要是题库的管理,考试新闻的发布,试卷的制定、审核、生成,考场的环境,考试结果的公布查询等功能。

1.3 可行性研究

1.3.1 目标

在线考试系统极大的提高了教学的灵活性,现在许多领域已经有了广泛的应用。

1.3.2 评价尺度

开发这个系统的目的就是帮助企业的主管考试部门提高工作效率,实现企业考试信息管理以及考试流程的系统化、规范化和自动化。

1.3.3 对现有系统的分析

(1)处理流程和数据流程如图1-1所示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图1-1 系统数据流程图

(2)系统的功能模块如图1-2所示:

 

 

  

 

 

 

 

 

 

 

 

图1-2 系统功能模块图

1.3.4 技术可行性

(1)系统开发所需的ASP和SQL软件学校都予以提供。

(2) 我曾系统学过ASP编程和SQL语言,对系统的认识上有一定的基础。

(3)有一些同学的帮助,能尽快进入工作状态。

综上所述,这对技术可行性提供了有力的条件,并对我下一步的进程奠定了基础。

1.3.5 影响

所开发的系统对操作系统并没有太大的要求,可直接安装在计算机上使用。对计算机资源要求也不严格,任何语言编写的在线考试系统都可以和这个系统并行使用,而且在Windows98/2000/Me/XP的环境下都可以运行。为了完成该软件的开发,专门进行了市场调查。在调查的过程中进一步完善了系统的概况,并听取了有关专业人士的建议。

1.4 投资及效益分析

1.4.1 投资分析

为了更好的开发该系统,会购买部分资料,以供编程人员内部参考。在该系统投入使用后,将会用到服务器、交换机、计算机终端、打印机等设备,另外,必要时还需连接网络以查找相关资料。

1.4.2 市场前景分析

在线考试系统一定要有信息作为基础,关于考生的信息管理其实就是一个简单的会员管理系统,只要对这个库稍加修改即可变为任何企业,任意部门的考试系统,因此这个程序非常具有广泛的市场前景和丰厚的利润。因此,在经济方面是可行的。

1.4.3 其他效益分析

该软件的开发成本较低,适用范围较广,具有一般同类软件所没有的功能,其最突出的特点是体现了人机交互性,这样不仅可以提高工作效率,更有利于考试实时性的全面实现。考虑众多方面,该系统软件会随之带来更好的经济效益、管理效益和社会效益。

1.4.4 操作可行性

所开发的在线考试系统可适用于各企事业单位,其功能比较完善、界面美观简洁、便于操作。并且我们开发出此软件后可立即投入使用。所以,在操作方面是可行的。

1.5 运行环境

1.5.1 服务器端配置

(1)硬件环境

CPU:奔腾2.0GHZ以上

(2)内存:256MB以上

(3)硬盘:20G以上

(4)软件环境

Windows 2000 Server(含IIS 5.1),Microsoft SQL Server 2000

1.5.2 客户端配置

(1)硬件环境

CPU:赛扬2.0GHZ以上

(2)内存:256MB以上

(3)硬盘:20G以上

(4)软件环境

Windows 2000/NT/XP/2003 , IE6.0

总体设计

2.1 系统设计

在线考试系统可实现考生在线答题,管理员在线录题及生成试卷,系统管理维护,共分为五大主要子系统:新闻模块,登陆,考试模块,领导审核,后台管理。

(1)进入考试系统

<1>输入管理员或普通用户的ID和密码,以普通用户的身份进入系统时选择要考试的科目,以管理员的身份进入系统,这时页面上方的导航条已经改变,增加了科目管理、试卷管理、生成试卷、新闻发布等选项。

(2)首页

<1>系统的首页主要使用框架搭建,主要分为四个部分:顶部工具条、左侧用户信息栏、右侧中部系统时间信息栏、右下侧是用户所选的功能模块界面默认为的考试新闻信息栏。

(3)新闻页面

<1>关于发布以及显示考试方面(如:考试科目,考试时间等)的相关信息,考场纪律及注意事项。

(4)登录

<1>登录界面需要让用户输入用户名、密码,以及进入系统的身份(考生和系统管理员)。如果输入错误还要返回该页面,程序还要判断是否因为错误登录信息而造成的再次进入,如果是还要显示错误信息。

(5)考试模块

<1>考试模块:只有一个考试的列表,表格的每一列的内容分别是:序号、考试科目、考试时间、操作(进入考场的链接)。

<2>成绩查询:本页面可以提供对考生以往的考试成绩的多功能查询功能,这里应该可分科目显示考生以往的考试成绩。页面的实现基本上同题库的实现页面相同。

(6)领导审核

<1>项目的审核:进入此界面后,在新闻的下方有系统提示的审批请求,单击进入审批页面。审批内容包括考试计划和考试新闻的审批,如果考试信息审核通过则考试按照计划执行,如果新闻审核通过则新闻发布。若未通过则考试信息和新闻不发布。

 (7)后台管理

系统管理员界面的首页与普通用户的公共首页基本上一样,只是上方的工具栏发生变化,管理员工具条增加了对系统数据库维护的几个选项。

<1>科目管理:主要实现对考试科目的添加、删除等功能。首先,在页面上添加一个表单用来提交科目的增添操作。然后,需要在页面中显示已有的用于考试的科目。

<2>题库管理:主要的功能是实现试题内容的添加、修改、删除、查询等操作以及对现有试题库的科目、题型的浏览。首先要实现的是页面中的操作有效性提示部分,其次题库的显示可以按照科目题型分类和按照关键字显示,这里采用一个提供选项的表单。最后是要显示已有的题库。由于题库的容量庞大,所以必须采用分页显示。

<3>生成试卷:管理先向系统提交想要生成的试卷的各种信息,这个信息必须通过领导审批才能作为一次正式的考试。本系统处理考试试卷的生成总共需要三部分:第一步,管理员需要向系统提交试卷的基本信息。在页面中添加一个表单,在表单内插入一个表格,表格内输入考试的题目、题型、数目、各题的分值、考试的有效期。第二步,管理员需要向系统提交参加考试的人员名单以及审核考试信息的领导姓名。只要在页面中添加一个两行的表格,第一行显示的内容分别为:编号、姓名、职务、部门、单位。名单的显示是通过调用系统用户表生成的,这样可以方便的组织某一部门的考试。审核领导的名单是通过对系统用户的职务级别判断产生的。第三步,管理员确认所有信息无误后将所有考试信息存入数据库,生成试卷成功。制卷逻辑流程如图2-1所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图2-1  制卷逻辑流程图

<4>信息发布:管理员添加考试新闻(如:科目的考试通知等)需要填写的内容有标题、正文、有效期、审核领导和姓名。审核领导姓名通过查询数据表自动形成。管理确认提交后,系统将信息加入数据库。当一条考试计划或者考试新闻成功添加以后,管理员在这个项目通过审批前有权取消计划。审核功能流程如图2-2所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图2-2 审核功能流程图

2.2 数据库概念模型

E-R(Eneity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模,依据概念模型设计应具的特点:真实性、易理解性、易修改性、易转换性,系统数据库的E-R图如图2-3所示。

 

 

 

图2-3  系统数据库E-R图

2.3 数据库的分析与设计

在线考试系统数据库采用Microsoft SQL SERVER,数据库中表及其作用如下:

(1)用户信息表(cadre_info)

用于存储所有用户的信息(包括:考号、考生姓名、密码、职务信息、管理员权限)

(2)部门信息表(department)

为了考试的分部门管理以及查询所建立的部门信息表(包括:部门名称)

(3)考试科目信息表(exam_subject)

为存储考试的科目信息所建立的科目信息表(包括:科目编号、科目名称)

(4)新闻信息表(exam_news)

考试信息发布需要存储新闻信息所建立的新闻信息表(包括:新闻编号、标题、正文内容、创建人、审核发布人、创建日期、审核通过的发布日期)

(5)题库信息表(exam_database)

为了存储题库所建立的题库信息表(包括:题目编号、题干、选项、正确答案、考试时是否以被选过的标记)

(6)考试信息表(exam_test)

存储管理员已经制定了的考试所建立的考试信息表(包括:考试编号、各科目的数量、各科目的分值、考试时间、创建者、审核者、开始日期、结束日期、设置日期)

(7)考生信息表(exam_testuser)

为存储每次参加考试又那些考生所建立的考生信息表(包括:考生考号、考试编号、是否考过标记)

(8)等待通过的项目信息表(waitforpass)

为存储等待通过的项目(包括考试和要发布的新闻)所建立的项目信息表(包括:等待通过的项目类别、编号、审核者、审核日期、是否通过)

(9)考试成绩信息表(exam_score)

为存储每个考生的考试成绩信息所建立的成绩信息表(包括:考生的各种信息、考试信息、考试成绩)

(10)考试新闻系统登录信息表(exam_news_log)

为能查看没有看新闻的考生所建立的日志表(包括:新闻编号、登录用户)

如表2-1、2-2、2-3、2-4、2-5、2-6、2-7、2-8、2-9和2-10所示。

表2-1 cadre_info

字段名

数据类型

长度

是否允许为空

字段描述

UserID

bigint

8

身份证号(主键)

UserName

nvarchar

50

真实姓名

Pwd

nvarchar

50

密码

Department

nvarchar

50

部门(外键)

Office

nvarchar

50

所在单位(外键)

Duties

nvarchar

50

职务(外键)

Rank

nvarchar

50

系统权限(外键)

Ifadmin

bit

1

是否激活

 

表2-2 department

字段名

数据类型

长度

是否允许为空

字段描述

department

nvarchar

50

部门(主键)

 

 

表2-3 exam_subject

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

学科ID(主键)

exam_subject

nvarchar

50

学科名称(外键)

 

 

 

表2-4 exam_news

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

新闻ID(主键)

newsid

int

4

新闻编号(外键)

title

ntext

16

标题

youxq

int

4

有效期

fabsj

datetime

8

开始时间

fabr

nvarchar

50

审核人

passuserid

int

4

审核人ID(外键)

passtime

nvarchar

50

通过时间

 

表2-5 exam_database

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

试题ID(主键)

subject

nvarchar

50

学科名称(外键)

type

nvarchar

50

试题类型(外键)

question

ntext

16

题干

text1

ntext

16

选项1

text2

ntext

16

选项2

text3

ntext

16

选项3

text4

ntext

16

选项4

text5

ntext

16

选项5

text6

ntext

16

选项6

answer

nvarchar

50

标准答案

mark

int

4

标号(在随机选题是确保不重复选题)

difficult

int

4

该试题难度等级

 

 

 

 

 

 

 

 

 

 

 

 

 

 

表2-6 exam_test

字段名

数据类型

长度

是否允许为空

字段描述

testid

int

4

试卷ID(主键)

subject

nvarchar

50

学科名称(外键)

totalper

int

4

试卷总分

singlecount

int

4

单选题数目

singleper

int

4

单选题分值

multicount

int

4

多选题数目

multiper

int

4

多选题分值

judgecount

int

4

判断题数目

judgeper

int

4

判断题分值

testtime

int

4

考试总时间

starttime

datetime

8

开始考试时间

Endtime

datetime

8

结束考试时间

settime

datetime

8

制卷时间

setuserid

int

4

制卷人ID(外键)

passuserid

int

4

审核人ID(外键)

passtime

datetime

8

考试用时

difficult

int

4

试卷难度系数

 

表2-7 exam_testuser

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

testid

int

4

试卷ID

userid

int

4

用户ID

havetest

bit

1

考试过标记

 

表2-8 waitforpass

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

objname

nvarchar

50

项目名称

objid

int

4

项目编号(对应newsid或PaperID)

passuserid

int

4

审核人ID

passadvice

ntext

16

审核意见

passtime

datetime

8

审核时间

havepass

int

4

项目状态

 

 

 

 

 

 

 

表2-9 exam_score

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

userid

int

4

考生ID

username

nvarchar

50

考生姓名

department

nvarchar

50

部门

office

nvarchar

50

单位

duties

nvarchar

50

职务

subject

nvarchar

50

学科名称

testid

int

4

试卷ID

starttime

datetime

8

开始考试时间

endtime

datetime

8

结束考试时间

score

int

4

考试分数

 

表2-10 exam_news_log

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

newsid

int

4

新闻ID

userid

int

4

审核人ID

 

系统的具体实现过程

3.1 系统首页及用户登录

3.1.1 系统首页

统首页使用的是框架搭建的,主要分为四部分:顶部工具条、左侧用户信息栏、右侧中部系统时间信息栏、右下侧是用户所选的功能模块界面默认为的考试新闻信息栏。(如图3-1)

图3-1 系统首页页面

3.1.2 用户登录

输入信息以后,系统自动判断该用户是否为普通用户。如果输入错误还要返回该页面,程序还要判断是否因为错误登录信息而造成的再次进入,如果是还要显示错误信息。

3.2 管理员模块(后台管理模块)

系统管理员界面的首页与普通用户的公共首页基本上一样,只是上方的工具栏发生变化(如图3-2),增加了对系统数据库维护的几个选项。如,科目管理,题库管理,试卷生成,消息发布等操作。

 

图3-2 管理员登录页面

在线考试制卷系统的设计与实现[点击下载]

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论