#基于Web的在线考试系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 添加题目日
默认当前时间
期。