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 添加题目日期 默认当前时间