1、在线考试系统详细设计 基于B/S在线考试系统 详细设计文档 2013-11-04 1引言 3 1.1编写目的 3 1.2项目背景 3 1.3术语说明 3 2系统概述 4 2.1需求概述 4 2.2软件结构 5 3系统功能说明 5 3.1 模块描述 5 3.2功能 10 3.3 性能 13 3.4 输入输出项 13 3.7接口 20 3.8 存储分配 21 3.9 注释设计 21 3.10 限制条件 22 详细设计说明书 1引言 1.1编写目的 在线考试系统是为了减轻教师
2、出题、改卷负担,同时也便于学生自我测试,主要针对试卷中的客观题而开发的系统,该文档是直接给软件开发人员看的,以便指导编程人员编写代码。 预期读者:详细设计人员、概要设计评审小组。 1.2项目背景 系统的名称:在线考试系统 l 系统名称:在线考试系统 Online_Examination System (OES) l 项目开发者: l 项目管理者: l 最终用户:教师 学生 维护人员 1.3术语说明 Brower 浏览器 B/S Brower/server 浏览器/服务器构架 SQL 数据库操作语言 IE 6.0/ Mozilla/Netscape
3、主流浏览器 2系统概述 2.1需求概述 总体,包括用户的登录、注销,以及权限的相关操作,如:找回密码、注册等 对学生,包括在线考试、查询以往考试成绩等。 (需求1)在线答题:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。 (需求2)查询考试成绩:学生可以在线查询考试相关信息,个性空间操作。 对管理员、教师,主要包括管理基本资料、试卷管理、题库管理、成绩管理。 (需求3)成员管理:对成员的删改、控制与分配用户的访问权限,保障系统的安全性,防止非法访问。 (需求4)试卷管理:管理员可以从课程难度级别方面对某份试卷
4、提出一定的要求生成试卷规则,在学生考试时,由系统根据试卷规则自动组卷生成满足管理员要求的试卷,而不用手工组卷。 (需求5)题库管理:管理员可以根据教学需求对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型只包括单选题;针对试题,管理员可以设置题干、答案、试题难度系数、解析、添加时间等属性。 (需求6)成绩统计:管理员可以查看考生的考试成绩。 2.2软件结构 在线考试系统 查看考生信息 查看所有考试记录 管理考试试卷 管理试卷试题 教师后台管理 修改管理员信息 选择考试科目 开始考试 考生注册 考生登陆 学生在线考
5、试 考试记录查询 自动评分 3系统功能说明 3.1 模块描述 系统主页面 表:3-1 用例名: index.jsp 位置: 根目录 描 述: 考试系统主页面。 一般事件过程: 1:注册按钮进入注册页面zhuce.jsp。 2:登陆按钮进入登陆页面login.jsp。 3:后台管理超链接进入管理员登陆页面glylogin.jsp 完成后的状态: 实现页面跳转 (一)、前台考试 考生注册页面 表:3-2 用例名: zhuce.jsp 位置: 根目录 描 述
6、 考生注册页面 一般事件过程: 将表单信息提交到Stservlet.java进行数据库的插入操作 其它事件过程: 前导状态/条件: 完成后的状态: 显示注册后的信息,如果注册失败,则跳转到注册页面并提示错误信息;如成功则跳转到登陆页面login.jsp 考生登陆页面 表:3-3 用例名: login.jsp 位置: 根目录 描 述: 考生登陆 一般事件过程: 将表单信息提交到Stservlet.java进行数据库的查询验证操作 其它事件过程: 如果登陆信息不存在,则重新登陆 前导状态/条件: 完成后的状态: 进入login_suc
7、cess.jsp选择操作查询成绩queryscore.jsp或选择科目考试slsubject.jsp 考试科目选择页面 表:3-4 用例名: slsubject.jsp 位置: 根目录 描 述: 考生选择考试科目试卷 一般事件过程: 选择考试科目试卷 其它事件过程: 如果没有可考试卷,则打印提示信息可选择退出 前导状态/条件: 查询数据库,只能展出考生没有考过的及试题添加完整的科目 完成后的状态: 进入test.jsp考试页面 考试页面 表:3-5 用例名: test.jsp 位置: 根目录 描 述: 初始化试卷试题进行考试 一
8、般事件过程: 1:从数据库question表中提取所选择的科目试卷的题目 2:做完试题后提交表单数据到JisuanServlet.java进行阅卷,成绩存入score表。并返回到打印成绩页result.jsp 其它事件过程: 数据库操作失败则返回错误信息 前导状态/条件: 完成后的状态: 数据库操作成功后返回result.jsp显示成绩 显示成绩页 表:3-6 用例名: result.jsp 位置: 根目录 描 述: 一般事件过程: 显示考试成绩,可选择退出或继续考试 其它事件过程: 前导状态/条件: 完成后的状态: 根据所选超链接
9、进入相应页面 (二)后台管理 管理模拟考试基本信息 表:3-7 用例名: glylogin.jsp 位置: 根目录/guanli 描 述: 管理员登陆页面。 一般事件过程: 将表单信息提交到GlyLoginServlet.java进行数据库的查询验证操作 其它事件过程: 如果登陆信息不存在,则重新登陆 前导状态/条件: 完成后的状态: 进入main.jsp选择操作修改管理员信息updatemg.jsp或查询考试记录mgscore.jsp或编辑试卷mgsubject.jsp 修改管理员信息 表:3-8 用例名: updatemg.jsp
10、 位置: 根目录/guanli 描 述: 新旧信息的表单 一般事件过程: 1:向GlyLoginServlet.java中提交表单更改数据库中manager表的管理员信息 其它事件过程: 如果更改无效,显示出错信息 前导状态/条件: 完成后的状态: 信息得到删除或失败后的错误信息,成功后返回glylogin.jsp,重新登陆生效 查询所有考试记录信息 表:3-9 用例名: mgscore.jsp 位置: 根目录/guanli 描 述: 显示数据库中考试记录信息 一般事件过程: 从数据库中查询并提取score中所有记录信息 其它事件过程:
11、 前导状态/条件: 完成后的状态: 数据库操作成功或失败后的错误信息,成功后返回显示信息。 (三)、试卷的编辑 试卷编辑包括试卷类型的创建,试题的录入,并可以对系统中的试卷或试题进行修改、级联删除等。 试卷的管理 表:3-10 用例名: mgsubject.jsp 位置: 根目录/guanli 描 述: 以一份试卷的形式录入自由测试的题目。 一般事件过程: 1:显示数据库中subject表中所有试卷信息 2:超链接进入相应试题库管理试题mgquestion.jsp。 3:通过SubServlet.java从数据库表subject中添加或删除试卷,
12、 其它事件过程: 前导状态/条件: 完成后的状态: 系统在subject表内加入或删除相关信息或进入mgquestion.jsp试题管理页面 试题录入或修改 表:3-11 用例名: mgquestion.jsp 位置: 根目录/guanli 描 述: 录入或修改试卷题目。 一般事件过程: 1:添加题目到question表QuServlet.java 2:修改题目updateQ.jsp。 3:从question表中删除题目 其它事件过程: 由updatetest.jsp完成后台数据库校验和插入的过程 前导状态/条件: 完成后的状态
13、 系统在question表中进行相应操作并返回提示信息 3.2功能 1、 总体 l 登录 l 注销 2、在线考试 l 随机抽题 l 自动阅卷 3、查询考试成绩 l 查询本人成绩 4、成员管理 l 删改用户 l 修改用户 5、试卷管理 l 单选题数量设置 l 单选题权重分布设置 6、题库管理 l 增加试题 l 删除试题 l 修改试题 7、成绩统计 l 成绩单显示 3.3 性能 数据精确度 数量值:精确到小数后一位; 时间值:精确到日,并以yyyy/mm/dd的形式表示; 价格值:精确到分,并以.X
14、X的形式表示。 3.4 输入输出项 输人项包括: 学生的考生的学号和考生的姓名。学号只能是长度的6的string 类型,考生姓名只能是长度不能超过6的string 类型 考生的试卷答案,是一个数组项。 考试时间是一个int 类型数据,用来表示本次考试时间 输出项包括: 一个标志符bool 类型数据,表示通过验证 考生的成绩单。是一个float 类型数据 考试剩余时间。 manager:管理员表 l 保存管理员信息 表结构: 字段名称 类型 可否 为空 长度 缺省值 主键 外键 外键参考表 说明 id int 否 4 是
15、 记录主键 name varchar 否 20 姓名 Password varchar 否 20 密码 student:学生信息表 l 保存学生注册信息 表结构: 字段名称 类型 可否为空 长度 缺省值 主键 外键 外键参考表 说明 id int 否 4 是 记录主键 username varchar 否 20 姓名 password varchar 否 20 是 密码 usermail varchar 否 20
16、 邮箱 usertel varchar 否 20 电话 address varchar 20 地址 subject:试卷科目表 l 保存各试卷信息 表结构: 字段名称 类型 可否为空 长度 缺省值 主键 外键 外键 参考表 说明 id int 否 4 是 记录主键 subjectname int 否 20 是 科目名称 singleper int 20 单选分值 singlenumber int 20
17、 单选个数 testtime int 20 考试时间 question:试题表 l 保存试题 表结构: 字段名称 类型 可否 为空 长度 缺省值 主键 外键 外键 参考表 说明 id INTEGER 否 11 是 记录主键 Question varchar 否 255 试题的题干 A varchar 否 255 A选项 B varchar 否 255 B选项 C varchar 否 255 C选项
18、 D varchar 255 D选项 answer varchar 10 正确答案 Weight varchar 10 权重(可为为3档:难、 中、易) subjectname varchar 20 是 subject表的subjectname字段 所属试卷名 题目来源:试卷名必存在于试卷科目表中 权重:分为3档:1-难、 2-中、3-易 scores:考试成绩记录表 l 保存考试记录 表结构: 字段名称 类型 可否 为空 长度 缺省值 主键 外键 外键
19、参考表 说明 id int 否 11 是 记录主键 username varchar 否 20 是 student表的username字段 考生姓名 subjectname varchar 否 20 是 subject表的subjectname字段 试卷名 score FLOAT 否 分数 endtime varchar 考试日期 3.6.1 用户注册模块 此模块是添加新的用户,填写学生个人基本信息,包括姓名、性别、学号、班级,设定个人的原始密码,并
20、添加到学生用户信息库中。 录入用户信息 接收信息 Yes 提示信息不能为空 信息为空? No 用户已存在吗 提示用户已存在 Yes No 注册成功 图3-3 用户登录模块执行流程 3.6.2 用户登录模块 该模块包括login.asp文件。如果用户要使用为注册用户提供的功能,那么在使用之前必须登录。用户只要输入用户名、密码就可以了。若用户输入的以上两项与数据库中保存的相符,则表明用户登录成功,可以开放全部前台子系统;如果不符,则登录失败。
21、模块执行流程如图4-3所示。其中管理员、用户登录模块执行流程类似,文件为:INDEX.ASP . 具体的数据表结构和原代码参见附录B 登录信息录入 接收登录信息 Yes 用户名、密码为空? 提示用户名或密码不能为空 No 按照用户名查询 No 用户已存在吗 No 提示用户不存在 Yes 口令正确吗? 提示密码错误 No Yes 已 登 录 图3-4 用户登录模块执行流程
22、 3.6.3 在线测试模块 在此模块中包含查询成绩、考试、自动判卷等模块。 进入在线考试系统。在线测试是有时间限定的,学生要先登入自己的用户,用户可以查询成绩,再进行在线考试。一旦进入在线考试,系统就自动开始计时。时间到会自动交卷,然后进入判卷系统。考试过程中学生可以不按题目顺序答题。 用户登录 进入考场 查询成绩 返回 考试 交卷? 时间结束? No No 自动交卷 交卷? No Yes 自动阅卷显示成绩
23、 退出考场 图3-3 在线考试流程图 3.6.6 评判卷模块 图3-6批判卷模块执行流程 考生答案 调用标准答案 Result[i][j] 初始化成绩 Mark=0 i - - i- 0 no j- 0 yes answer[i][j] Result[i][j] j- - yes 进入在线考试系统 Mark 3.7接口 用户接口 用户输入类型 输入内容 系统输出类型 输出内容 BeginTest.aspx 点击 测试选项选择、确定提交 数字 测试分数
24、 CheckAchive.aspx 字符串 查询人姓名 表项 查询成绩相关信息 Member.aspx 字符串、点击 查询对象关键字、选定对象 表项 处理后结果 SetPaper.aspx 点击 选取试卷参数 数字 总分参数 SubjectManager.aspx 字符串、点击 插入内容、选定对象 表项 处理结果 AchiveView.aspx 无 无 表项 成绩总表 CreatUser.aspx 字符串 注册姓名及相关信息 字符串 出错信息 PsswRe.aspx 字符串 找回密码姓名 字符串 成功信息 Login.as
25、px 字符串 登录姓名、密码 页面 系统功能页 外部接口 接入 内容 接入方式 接口 接口支撑 BeginTest.aspx 题库 随机抽题结果+ DataList Datatable SQL Server 2000 CheckAchive.aspx 成绩库 查询结果+A DataTable Datatable SQL Server 2000 Member.aspx 用户表 A DataTable A SqlDataSouce SQL Server 2000 SetPaper.aspx 试卷参数 应用程序参数 Global.as
26、ax Application operation SubjectManager.aspx 题库 DataView A SqlDataSouce SQL Server 2000 AchiveView.aspx 成绩库 DataView A SqlDataSouce SQL Server 2000 CreatUser.aspx 用户库 A CreatUser Aspnet_SQL SQL Server 2000 PsswRe.aspx 用户库 A PasswordRecovy Aspnet_SQL SQL Server 2000 Login.aspx
27、 用户库 A Login Aspnet_SQL SQL Server 2000 内部接口 BeginTest. aspx CheckAchive. aspx Member.aspx SetPaper.aspx SubjectManager. aspx AchiveView.aspx CreatUser .aspx PsswRe. aspx PickPage .aspx BeginTest.aspx 接入 CheckAchive.aspx 接入 Member.aspx 接入 SetPap
28、er.aspx 接入 SubjectManager.aspx 接入 AchiveView.aspx PickPage.aspx 条件接入 条件接入 Login.aspx 接入 接入 条件接入 3.8 存储分配 3.9 注释设计 说明准备在本程序中安排的注释,如: a. 加在模块首部的注释; b. 加在各分枝点处的注释; c. 对各变量的功能、范围、缺省条件等所加的注释; d. 对使用的逻辑所加的注释等等。 3.10 限制条件 本系统通过将招生报名的相关信息采集到系统中,步步跟踪学员从报名-〉学习-〉考试-查询成绩整个过程,以供学员使用。本系统能够维护已经报名学习的学员信息,为培训中心提供准确的资料。条件与约束 l 技术约束: 要求采用B/S结构。界面要求使用汉字。 l 标准约束: 《网页编程规范》,《界面风格规范》






