当前位置:文档之家› #基于Web的在线考试系统

#基于Web的在线考试系统

1.1 应 用 背 景

随着社会的进步和商品经济的不断发展,社会对劳动者和技术人员的知识和能力水平的要求越来越高。测试作为衡量人的能力的重要手段,在现代生活中的地位进一步提高,并深入到社会的各个方面。各种各样的学历测试、资格证书测试层出不穷。同时,Internet技术的发展使得测试的技术手段和载体发生了革命性的变化。Internet的开放性和分布性的特点以及基于Internet的巨大计算能力使得测试突破了时间和空间的限制。基于Internet的测试系统正成为人们的研究热点之一。例如在英国,已经实现了英语资格测试的网上学习和水平认证全过程。

计算机使用迅猛发展,网络使用不断扩大,如远程教育和虚拟大学的出现等,使得基于Web的在线测试系统成为现实。基于Web的在线测试系统可以发挥网络的优势,建立大型、高效、共享的题库和实现随时随地的测试,降低测试成本,减少人为干扰,减轻教师负担,节约人力、物力和财力。

根据测试管理的实际要求,结合试卷管理的工作流程,系统应实现以下功能:

 掌握本测试范围内所有考生的基本情况,包括学号、姓名、成绩等。

 试卷的自动生成,答题完成后,系统对照正确答案,给出试卷分数。

 对试题库进行增加、删除、修改等更新操作。

 不同用户的管理功能不同。管理员类用户可以创建试卷、策划测试题型及分数、对试题库进行维护、查询学生以往测试成绩等功能。考生类用户可以参加测试,完成答卷。

1.2 系 统 设 计

一个好的系统离不开科学、详实的系统设计。系统只有建立在系统设计基础上,才能成为一个好的系统。

1.2.1 系统构架

系统设计的基础是系统构架。

1.基于B/S体系

整个系统采用Browser/Web/DataBase的3层体系结构。Browser/Server的系统中,用户可以通过浏览器向分布在网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置Web浏览器即可。服务器将担负更多的工作,对数据库的访问和使用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web

Server完成。

1.2.2 系统功能模块设计

系统主要功能如下:

 学生在线注册成功后可以登录到测试中心,参加预先设定的测试。

 学生提交答题,系统自动对照数据库正确答案算出分数。

 题库的维护(包括判断题、选择题和填空题)、试卷的维护、成绩的统计、成绩的查询。

系统主要分为前端、后端两大管理系统,包括4大功能模块。

1.用户类型

系统用户分为两类:学生类用户和管理员(教师)类用户。学生类用户是指当前系统中所有的学生。此类用户只能查看自己的信息以及参加指定的测试。管理员(教师)类用户可以对自己和他人的信息进行维护。同时具有题库的维护、试卷的维护和成绩的统计等功能。

2.后台测试管理模块

此模块只对管理员(教师)类用户开放。管理员(教师)类用户可以对题库(包括判断题、选择题和填空题)进行增加、删除、修改等操作。如果当前浏览部分不能满足管理员(教师)的要求,提供搜索条件可以在现有信息中进行查询。不仅可以对试卷的题型、分数等进行创建、修改和删除操作,而且可以对测试成绩进行查询,还可以对学生资料进行查找和删除。

3.测试管理模块

此模块对学生类用户开放。学生类用户可以查看自己的个人信息,也可以参加测试,对创建的试卷中的题目进行回答。答题完毕,系统自动对照数

据库正确答案算出分数,即学生当期测试的成绩提交到成绩库中。

1.2.3 系统主要工作流程

1.管理员(教师)在线测试后台管理

管理员(教师)在线测试后台管理程序流程图,如图1.4所示。

图1.4 管理员(教师)在线测试后台管理程序主要流程图

2.学生在线测试

学生在线测试前台管理程序流程图,如图1.5所示。

图1.5 学生在线测试前台管理程序流程图

1.2.4 数据库的分析和设计

本次开发的数据库包括4方面。

 题库数据:包括了判断题、选择题和填空题 3 种类型题目。包括题目的题干、答案和加入日期信息。

 管理员、学生资料信息数据:包括姓名、密码、性别、班级和学号等基础数据。

 成绩资料表数据:包括学生学号、分数、测试日期和是否补考等基础数据。

测试题型数据:包括考题数据,每题分数等基础数据。

表 1.1 onlineExam数据库包含的数据表及其功能

数 据 表 功 能

Admin 存放管理员用户基本信息

Student 存放学生类用户基本信息

Examination 存放学生测试成绩基本信息

Exam 存放试卷基本信息

Exam_Template 存放生成试卷的模板

Exam_Content 存放试卷的具体题目信息

Tk 题库

注意:虽然SQL Server建立的数据表中字段的名称可以支持中文,但是从以往经验来看,用于系统开发而建立的数据库最好不要使用中文,而是使用对应于中文意义的英文。

1.管理员(教师)信息表admin

管理员(教师)信息表用于存放管理员(教师)类用户的基本信息。管理员(教师)信息数据表结构如表1.2所示。

表 1.2 Admin

字 段 名 数据类型及长度 说 明 备 注

Admin_Id Int(10) 编号 主键(自动增长)

Admin_Name nvarchar(20) 管理员姓名 不能为空

Admin_Pwd nvarchar(30) 管理员密码 不能为空

2.学生信息表student

学生信息表主要用于存放学生类用户的基本信息。学生信息表结构如表1.3所示。

表 1.3 student

字 段 名 数据类型及长度 说 明 备 注

Stu_Id Int(10) 学生编号 主键(自动增长)

Stu_Number nvarchar(10) 学生学号 不能为空

Stu_Name nvarchar(10) 学生姓名 不能为空

Stu_Pwd nvarchar(6) 学生密码 不能为空

Stu_Sex char(2) 学生性别 允许为空

Stu_Class nvarchar(30) 学生班级 允许为空

Stu_RegDate smalldatetime 注册日期 默认当前时间

3.测试成绩信息表Examination

测试成绩信息表主要用于存放学生类用户的测试成绩。测试成绩信息表结构如表1.4所示。

表 1.4 Examination

字 段 名 数据类型及长度 说 明 备 注

Exam_Id int 试卷编号 不能为空

Exam_StuNumber nvarchar(10) 学生学号 不能为空

Exam_Score money(4,1) 学生成绩 允许为空

Exam_Date smalldatetime 测试日期 允许为空

4.测试试卷信息表Exam

每次测试之前,由管理员(教师)为用户创建本次测试的试卷,试卷信息被保存在试卷信息表中。

试卷编号组成:两位试卷类型(网络试卷:NW;软件试卷:SF)+年月日+5位随机码。

如:网络:NW2010041988888 或 软件:SF2010041977777

测试题型信息表结构如表1.5所示。

表 1.5 Exam

字 段 名 数据类型及长度 说 明 备 注

Ex_Id varchar(15) 试卷编号 主键

Ext_RW_Count int 判断题数量 不能为空

Ext_RW_Score money(2,1) 判断题每题分数 不能为空

Ext_Select_Count int 选择题数量 不允许为空

Ext_Select_Score money(2,1) 选择题每题分数 不允许为空

Ext_Fill_Count int 填空题数量 不允许为空

Ext_Fill_Score money(2,1) 填空题每题分数 不允许为空

Ex_Setup_Date smalldatetime 设置测试日期 不允许为空

5.试卷模板表Exam_Template

试卷模板表主要保存生成试卷的基本条件。试卷模板表结构如表1.6所示。

表 1.6 Exam_Template

字 段 名 数据类型及长度 说 明 备 注

Ext_Id int 编号 主键 (自动增长)

Ext_RW_Count int 判断题数量 不能为空

Ext_RW_Score money(2,1) 判断题每题分数 不能为空

Ext_Select_Count int 选择题数量 不允许为空

Ext_Select_Score money(2,1) 选择题每题分数 不允许为空

Ext_Fill_Count int 填空题数量 不允许为空

Ext_Fill_Score money(2,1) 填空题每题分数 不允许为空

6.试卷内容表Exam_Content

试卷内容表负责存储试卷的题目信息。试卷内容表结构如表1.7所示。

表 1.7 Exam_Content

字 段 名 数据类型及长度 说 明 备 注

Ex_Id int 试卷编号 不能为空

Tk_Id int 题目编号 不允许为空

7.题库表

存储题目信息的题库表。题目级别:主要指题目是属于初级、中级、还是高级课程。题库表结构如表1.8所示。

表 1.8 Tk

字 段 名 数据类型及长度 说 明 备 注

Tk_Id int 题目编号 主键(自动增长)

TK_StuId Int 题型编号 不允许为空

Tk_Type int 题目类型 不允许为空

Tk_Level int 题目等级 不允许为空

Tk_Question nvarchar(250) 题目内容 不允许为空

Tk_Answer nvarchar(250) 正确答案 不允许为空

Tk_Date smalldatetime 添加题目日期 默认当前时间

相关主题