1 引言
1.1 编写目的
编写在线考试系统需求分析报告目的是为了需求提供者和开发方明确对所建信息管理系统所达到的功能和目标。通过双方不断的讨论和交互,最终形成具有建设目标的书面条款。经双方确认后,将作为开发方设计开发的基本依据和需求方的软件验收标准,同时,通过该需求分析报告,开发方可以更加进一步了解客户的需求,从而严格按照流程及时、准确地完成系统的开发,以满足客户的需求。
同时,该文档也作为概要设计及后续设计的基础。
1.2 背景
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的,将给学生和老师带来极大的便利。随着Internet的相关技术的发展,特别是Web技术的出现,人们开始致力于研究和开发基于Internet考试系统,这也大大推动了远程教育的发展。
如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,但是基于web技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。 目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。通过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。
2 系统概述
2.1 项目目标
从总体上考虑,系统应该实现下列功能:
对管理员来说,包括系统维护和用户管理,角色管理等。
对教师来说,包括出题,判卷,统计成绩,提交成绩等。
对学生来说,答卷,提交试卷。
系统能够提供友好的用户界面,使各类用户的工作量最大限度的减少;
系统具有良好的运行效率;
系统要具有一定的智能型和创新性。
2.2用户特点
本系统用户一般为学生和老师,还有若干管理员。
3 需求规定
3.1对功能的规定
根据客户的基本需求,该在线考试系统拟分为以下子模块等。整个系统间各子模块的结构图如下所示:
3.1.1 用户管理
3.1.1.1用户注册
优先级:5
主执行者:系统管理员
功能描述:添加用户以及设置用户角色
基本功能:1.管理员点击添加用户按钮,输入用户编号,所属部门,角色类型,系
统给出默认初始密码,提交保存
扩展:1.即时检查用户名,部门号,角色类型是否为空,是否符合格式
即时显示用户名是否存在
3.1.1.2用户登录
优先级:5
主执行者:系统管理员,用户
功能描述:管理员和用户进行登录
基本功能:1.管理员,用户输入账号密码,点击登录,验证通过,进入系统。系统进入对应的角色页面。
扩展:1.验证用户名,密码不正确时,提示用户哪部分出错
用户输入完账号,按Tab键可以跳到密码输入框
3.1.1.3用户删除
优先级:5
主执行者:系统管理员
功能描述:删除用户
基本功能:1.管理员选中要删除的账号,点击删除按钮进行删除,提示用户是否删除,点击确认,删除成功
3.1.1.4修改用户
优先级:5
主执行者:系统管理员
功能描述:修改用户资料,重置密码
基本功能:1.管理员选中要修改的账号,点击修改,进入页面修改用户资料,或者重置用户密码
3.1.2 角色管理
优先级:5
主执行者:系统管理员
功能描述:添加或删除用户角色
基本功能:1.管理员点击添加用户角色按钮,输入角色名,分配权限,点击确定提交
2.要删除角色时,管理员选中要删除的角色,点击删除,提示确定删除,删除角色
扩展:1.即时检查角色名是否为空,是否符合格式
3.1.3部门管理
优先级:5
主执行者:系统管理员
功能描述:添加或删除部门,修改部门信息
基本功能:1.管理员点击添加部门按钮,输入部门编号,部门名,部门信息,点击确定提交
管理员选中要删除的部门,点击删除,提示确定删除,删除部门
管理员选中要修改的部门,点击修改按钮,修改部门信息
扩展:1.即时检查部门名,编号,一些主要信息是否为空,是否符合格式
可用excel导入部门信息(优先级4)
3.1.4系统维护
优先级:5
主执行者:系统管理员
功能描述:发布一些考试相关信息
基本功能:1.管理员填写一些考试相关信息后,发布到平台首页
扩展:1.即时检查一些主要信息是否为空,是否符合格式
3.1.5题库管理
优先级:5
主执行者:系统管理员,用户:老师
功能描述:管理员对题库中的科目,系别,题型进行添加,删除,修改
老师可以对题库添加,删除,修改试题
基本功能:1.管理员可添加系别,科目,题型,并对科目进行系别分类
2.管理员可以删除系别,科目,题型
管理员可以修改系别,科目,题型
4.老师可以选中对应的系别,科目,题型,添加试题进入题库,客观题可以输入正常答案。
老师可以删除自己对应系别,科目下的试题和答案
老师可以修改自己对应系别,科目下的试题,答案
扩展:1.即时检查一些主要信息是否为空,是否符合格式
可用excel导入试题(优先级4)
3.1.6试卷管理
3.1.6.1 手动生成试卷
优先级:5
主执行者:用户:老师
功能描述:手动生成试卷
基本功能:1.老师可以选择好系别,科目,题型,手动将题库中的试题选出, 并添加进试卷,最后保存,点击生成试卷。
3.1.6.2 自动生成试卷
优先级:5
主执行者:用户:老师
功能描述:自动生成试卷
基本功能:1.老师可以选择好系别,科目,题型,系统将自动根据设置随机抽取试题组成一份试卷。
3.1.6.3 删除试卷
优先级:5
主执行者:用户:老师
功能描述:删除试卷
基本功能:1.老师可以删除不用的试卷
3.1.6.4 批改试卷
优先级:5
主执行者:用户:老师
功能描述:批改试卷
基本功能:1.客观题部分,可以根据题库中的答案对比,直接算出学生得到的分数,主观题部分,老师可以自己给分。
3.1.7 成绩管理
优先级:5
主执行者:用户
功能描述:老师可以发布成绩,学生可以查看成绩
基本功能:1.老师可以按年段,系别,科目,班级等条件,发布学生成绩,并排名
学生可以登录系统,查看自己的相关科目的成绩
扩展:1.老师可以按条件将学生的成绩排名后导出到excel(优先级4)
3.1.8考试管理
优先级:5
主执行者:用户
功能描述:学生进行考试
基本功能:1.学生登录系统,开始进行答题操作。答题完后,学生最早可以在开考30分钟后,提交试卷。如果超过考试规定时间,学生没有主动提交试卷,系统将自动提交试卷。
如果老师发现学生有违规行为,可以登录系统,强行立即提交该考生试卷,并标记违规,记录违规情况(优先级4)
老师和学生平时可以登录平台首页观看管理员发布的考试信息,比如考试地点,时间等。
3.1.9资料管理
优先级:5
主执行者:用户
功能描述:用户对资料进行修改
基本功能:1.用户可以登录系统,对自己的资料进行修改,包括修改密码。
3.2 对性能的规定
3.2.1精度
软件输入主要是学生信息以及试题信息,故无输入精度需求。
输出主要是考试成绩,故采用浮点型精度要求。
3.2.2时间特性要求
说明对于该软件的时间特性要求,如对:
a.响应时间;
b.更新处理时间;
c.数据的转换和传送时间;
d.答题时间等的要求。
3.3 输入输出要求
根据数据字典的设计,进一步细化为数据库表的设计。设计包括以下内容:
数据库名称为myOnlineExam。包含9张表:Users(用户)表,Course(课程)表, SingleProblem(单选)表,FillBlankProblem(填空)表,JudgeProblem(判断)表,MultiProblem(多选)表,Paper(试卷)表,PaperDetail(试卷详细信息)表,Score(成绩)表,详细结构定义如下
表2.1 Course(课程)表
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键、自动增一 |
Name | 考试科目 | varchar(50) | 不能为空 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
UserID | 用户编号 | varchar(20) | 不能为空 | 主键 |
UserName | 用户姓名 | varchar(20) | 不能为空 | |
UserPwd | 密码 | varchar(20) | 不能为空 | |
UserPower | 用户权限 | varchar(20) | 不能为空 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键、自动增一 |
CourseID | 课程编号 | int | 不能为空 | 外键 |
Title | 题目 | varchar(1000) | 不能为空 | |
AnwerA | 选项A | varchar(500) | 不能为空 | |
AnswerB | 选项B | varchar(500) | 不能为空 | |
AnswerC | 选项C | varchar(500) | 不能为空 | |
AnswerD | 选项D | varchar(500) | 不能为空 | |
Answer | 正确答案 | varchar(20) | 不能为空 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键、自动增一 |
CourseID | 课程编号 | int | 不能为空 | 外键 |
FrontTitle | 题目前部分 | varchar(500) | 不能为空 | |
BackTitle | 题目后部分 | varchar(500) | 不能为空 | |
Answer | 正确答案 | varchar(200) | 不能为空 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键、自动增一 |
CourseID | 课程编号 | int | 不能为空 | 外键 |
Title | 题目 | varchar(1000) | 不能为空 | |
Answer | 正确答案 | bit | 不能为空 | True对,False错 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键、自动增一 |
CourseID | 课程编号 | int | 不能为空 | 外键 |
Title | 题目 | varchar(1000) | 不能为空 | |
AnwerA | 选项A | varchar(500) | 不能为空 | |
AnswerB | 选项B | varchar(500) | 不能为空 | |
AnswerC | 选项C | varchar(500) | 不能为空 | |
AnswerD | 选项D | varchar(500) | 不能为空 | |
Answer | 正确答案 | varchar(20) | 不能为空 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
PaperID | 试卷编号 | int | 不能为空 | 主键 |
CourseID | 课程编号 | int | 不能为空 | 外键 |
PaperName | 试卷名称 | varchar(200) | 不能为空 | |
PaperState | 可用状态 | bit | 不能为空 | True启用,False禁用 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键 |
PaperID | 试卷编号 | int | 不能为空 | 外键 |
Type | 类型 | varchar(10) | 不能为空 | |
TitleID | 试题编号 | int | 不能为空 | 外键 |
Mark | 分值 | int | 不能为空 |
字段名 | 字段说明 | 数据类型 | 是否为空 | 备注 |
ID | 编号 | int | 不能为空 | 主键 |
UserID | 用户编号 | varchar(20) | 不能为空 | 外键 |
PaperID | 试卷编号 | int | 不能为空 | 外键 |
Score | 成绩分数 | int | 不能为空 | |
ExamTime | 考试时间 | datetime | 不能为空 |
考试系统避免不了需要存储试题库,而试题库中往往有上千条甚至上万条记录,拥有的表也会相对复杂,所以在对数据库进行操作的时候,需要数据库响应时间在人们能够接受的范围之内。
3.5故障处理要求
系统对于用户错误输入的处理也应该相对友好,尽量做到以最大限度提升用户体验为前提。
偶尔会遇到个别考生考试意外中断的现象,如某台计算机意外断电等。这就涉及到如何在最大程度上保护学生的考试现场问题。我们的做法是,将考生的主观性试题、试卷以及结果,保存到服务器端硬盘上。因为正式考试是集中在学校机房里面进行的,我们可以在安装机房的应用软件时进行设置。例如:将系统的自动保存时间设置在合理的范围之内,最大程度的保存学生考试过程中试题的考试现场。
4 运行环境要求
4.1 设备
运行环境表
环境名称 | 软件环境 | 硬件环境 |
服务器端 | 操作系统:windows XP 数据库:SQL SERVER 2000 | 最低配置:CPU为P4 2.66Ghz,内存为512M; |
客户端 | IE6.0 以及以上版本 | 能支持IE6.0以及以上版本的操作系统所需要的最低硬件配置 |
软件环境表
环境名称 | 软件版本 |
操作系统 | WindowsXP |
浏览器 | IE6.0 以及以上版本 |
数据库 | SQL SERVER 2005 |
开发工具 | Vs 2008 |
服务器 | Tomcat 6.0 |