在线考试系统详细设计说明书
1 引言... 4
1.1 编写目的... 4
1.2 背景... 4
1.3 定义... 4
1.4 参考文献... 4
2 程序系统的结构.. 4
3 用户注册(user-zc)模块设计说明... 5
3.1 程序描述... 5
3.2 功能... 5
3.3 性能... 5
3.4 输入项... 5
3.5 输出项... 5
3.6 流程逻辑... 5
3.7 接口... 6
3.8 限制条件... 6
3.9 测试计划... 6
4 用户登录(login)模块设计说明.. 6
4.1 程序描述... 6
4.2 功能... 6
4.3 性能... 6
4.4 输入项... 6
4.5 输出项... 6
4.6 流程逻辑... 6
4.7 接口... 7
4.8 限制条件... 7
4.9 测试计划... 7
5 在线考试(onlineExam)模块设计说明... 7
5.1 程序描述... 7
5.2 功能... 7
5.3 性能... 7
5.4 输入项... 7
5.5 输出项... 7
5.6 流程逻辑... 7
5.7 接口... 8
5.8 存储分配... 8
5.9 限制条件... 8
5.10 测试计划... 8
6 题库管理(question-gl)模块设计说明.. 8
6.1 程序描述... 9
6.2 功能... 9
6.3 性能... 9
6.4 输入项... 9
6.5 输出项... 9
6.6 接口... 9
6.7 限制条件... 9
6.8 流程逻辑... 9
6.9 存储分配... 9
6.10 测试计划... 10
7 试卷管理(paper-gl)模块设计说明.. 10
7.1 程序描述... 10
7.2 功能... 10
7.3 性能... 10
7.4 输入项... 10
7.5 输出项... 10
7.8 接口... 10
7.9 限制条件... 10
7.6 流程逻辑... 10
7.7 存储分配... 11
7.10 测试计划... 11
8 公告管理(notice-gl)模块设计说明... 11
8.1 程序描述... 11
8.2 功能... 11
8.3 性能... 11
8.4 输入项... 11
8.5 输出项... 11
8.6 流程逻辑... 12
8.7 接口... 12
8.8 限制条件... 12
8.9 存储分配... 12
8.10 测试计划... 12
9 用户管理管理(user-gl)模块设计说明... 12
9.1 程序描述... 13
9.2 功能... 13
9.3 性能... 13
9.4 输入项... 13
9.5 输出项... 13
9.6 流程逻辑... 13
9.7 接口... 13
9.8 限制条件... 13
9.9 测试计划... 13
10 成绩查询(mark-cx)模块设计说明... 13
10.1 程序描述... 13
10.2 功能... 13
10.3 性能... 13
10.4 输入项... 13
10.5 输出项... 13
10.6 流程逻辑... 13
10.7 接口... 14
10.8 限制条件... 14
10.9 存储分配... 14
10.10 测试计划... 14
11 修改密码(pwd-xg)模块设计说明... 15
11.1 程序描述... 15
11.2 功能... 15
11.3 性能... 15
11.4 输入项... 15
11.5 输出项... 15
11.6 流程逻辑... 15
11.7 接口... 15
11.8 存储分配... 15
11.9 限制条件... 16
11.10 测试计划... 16
1 引言
1.1 编写目的
说明在线考试系统的各部分功能和结构,用于系统开发和便于技术人员以后的查询和维护工作以及用户使用。在以后的软件测试以及软件维护阶段也可以参考此说明书,以便于了解在概要设计过程中完成的各模块设计结构,或在修改时找出在本极端设计的不足或错误。
1.2定义
Access:数据库管理系统
开发工具:Visual Studio2008
运行环境:Windows 7/XP
1.4 参考文献
[1] 耿祥义,张跃平.JAVA 2 实用教程(第二版)[M].北京:清华大学出版社,
[2] 普悠玛数位科技.Java Server Pages[M].北京:中国铁道出版社,2001。
[3] Hans Bergsten[美],何建辉,许俊娟译.JSP 设计[M].北京:中国电力出版
[4] 朱敏,朱晴婷,李媛媛.JSP Web应用教程[M].北京:清华大学出版社,北京交通大学出版社,2004。
2 程序系统的结构
图2-1 系统总体结构图
3 用户注册(user-zc)模块设计说明
3.1 程序描述
此模块用于添加新的用户,填写用户基本信息,设定用户密码,并添加到用户信息表(userinfo)中。
3.2 功能
本模块主要完成用户的注册功能。需输入用户名、性别、出生日期、地址、手机号码(可无)、密码。权限为系统在添加数据库信息是自动添加的项,用户看不到此操作,默认为10,模块检查数据库看是否存在相同用户名,如存在提示用户名已存在,重新输入,如不存在将信息输入数据库,返回注册成功。
3.3 性能
该模块要求能正确且能及时输入用户信息,对不符合规定的输入能给出相应的提示并可修改。
3.4 输入项
表5-1用户表
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
uid |
自动编号 |
是 |
否 |
用户编号 |
username |
文本(50) |
|
否 |
用户名 |
pwd |
文本(50) |
|
否 |
密码 |
birthday |
时间/日期 |
|
否 |
出生日期 |
sex |
文本(5) |
|
否 |
性别 |
addr |
文本(255) |
|
|
地址 |
power |
整型 |
|
否 |
权限 |
phone |
文本(11) |
|
|
手机号码 |
hpic |
文本(100) |
|
|
头像 |
注:
1、权限:管理员为0,用户为10;
2、用户名不允许重复;
3、手机号码长度为11为数字;
3.5 输出项
输出用户注册成功、输入格式错误、用户名已存在等信息。
3.6 流程逻辑
图3-1 用户注册流程图
3.7 接口
该模块不隶属于其他模块,关联用户表(userinfo)。
3.8 限制条件
该模块输入必须照数据库定义的数据类型输入,且非空项不可为空。
3.9 测试计划
测试该模块要对各种类型信息输入经行测试,如符合输入要求则提示注册成功且能正确将相应信息添加至数据库中;如不符合要求则提示注册失败请重新填写;如已存在该用户则提示该用户已存在。
4 用户登录(login)模块设计说明
4.1 程序描述
已注册用户通过本模块获取相对于权限,并使用本系统功能。
4.2 功能
本模块完成用户的登录功能。在登录界面中输入用户名、密码,系统在该数据库中查找用户名和密码组合是否存在,若存在,则跳转到主页;若不存在,则提示“用户名或密码不正确,请重新输入”。
4.3 性能
该模块无精度要求,对输入的用户名和密码大小写敏感,时间上要求能尽快给用户返回信息。
4.4 输入项
表5-1用户表
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
uid |
自动编号 |
是 |
否 |
用户编号 |
username |
文本(50) |
|
否 |
用户名 |
pwd |
文本(50) |
|
否 |
密码 |
power |
整型 |
|
否 |
权限 |
注:
1、密码输入框模式为password,以保证安全。
2、使用验证控件,不允许输入框的内容为空。
4.5 输出项
提示信息:用户名或密码错误、用户名或密码不能为空
4.6 流程逻辑
图3-1 用户登录流程图
4.7 接口
1、该模块不隶属于其他模块,关联用户表(userinfo)。
2、session["uid"]、session["power"]、session["username"]
4.8 限制条件
该模块输入必须不可为空。
4.9 测试计划
本模块需用不同类型的用户登录。用正确与错误密码分别进行登录测试,确定系统是否正常运行。
5 在线考试(onlineexam)模块设计说明
5.1 程序描述
本模块主要完成在线考试系统的核心功能在线考试。
5.2 功能
用户需要先登录才能进行在线考试,在线考试前需要选择要考的试卷,考试过程中用户可以不按照题目顺序进行答题。
5.4 输入项
1、单选题答案由单选按钮控件输入;
2、多选题答案由复选框按钮控件输入;
3、判断题答案由单选按钮控件输入。
5.5 输出项
开始考试后从数据库中读取试卷题目信息,并显示在页面上。交卷后提示交卷成功或交卷失败。
5.6 流程逻辑
图5-1 在线考试流程图
5.7 接口
该模块有选择试卷页面转入,关联试卷表(paper),试卷详细表(paperdetail),答题表(answer)。
5.8 存储分配
1、试卷表(paper)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
pid |
自动编号 |
是 |
否 |
试卷编号 |
pname |
文本(50) |
|
否 |
试卷名称 |
2、试卷详细表(paperdetail)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
pdid |
自动编号 |
是 |
否 |
编号 |
pid |
长整型 |
|
否 |
试卷编号 |
num |
长整型 |
|
否 |
题号 |
content |
文本(255) |
|
否 |
题目内容 |
typeA |
文本(255) |
|
否 |
选项A |
typeB |
文本(255) |
|
否 |
选项B |
typeC |
文本(255) |
|
|
选项C |
typeD |
文本(255) |
|
|
选项D |
right |
文本(5) |
|
否 |
正确答案 |
type |
文本(5) |
|
否 |
题目类型 |
value |
整型 |
|
否 |
分值 |
3、答题表(answer)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
aid |
自动编号 |
是 |
否 |
编号 |
uid |
长整型 |
|
否 |
用户编号 |
pdid |
长整型 |
|
否 |
试卷详细编号 |
value |
整型 |
|
否 |
分值 |
checked |
文本(5) |
|
|
选择的答案 |
4、成绩表(score)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
sid |
自动编号 |
是 |
否 |
编号 |
uid |
长整型 |
|
否 |
用户编号 |
pid |
长整型 |
|
否 |
试卷编号 |
mark |
整型 |
|
否 |
成绩 |
5.9 限制条件
仅限已注册用户使用
5.10 测试计划
本模块测试包括在用户点击提交后,系统是否能自动进行评分并把相关信息录入到数据库,页面是否能不按照顺序答题,页面的题目是否显示其他试卷的题目。
6 题库管理(question-gl)模块设计说明
6.1 程序描述
本模块主要功能是实现对题库里的题目进行增加、查询、修改、删除的操作。是生成试卷的基础。
6.2 功能
本系统题库包含单选题、多选题、判断题三种题型,因此题库管理包含单选题管理(scq-gl)、多选题管理(mcq-gl)、判断题管理(tfq-gl)。
6.3 性能
在时间上能有良好的响应速度。
6.4 输入项
题目、选项、答案
6.5 输出项
1、添加题目显示"添加成功"或"添加失败,题目已存在";
2、删除题目显示"删除成功";
3、修改题目显示"修改成功";
4、查询题目:根据所输入的信息与题库中的题目进行相似查询,并显示在也面色。
6.6 接口
本模块仅限管理员使用,管理员通过登录,进入后台管理,在后台管理页面转入本模块。关联的数据表有单选题(scq)、多选题(mcq)、判断题(tfq)。
6.7 限制条件
普通用户没有权限使用,仅限管理员使用本模块。
6.8 流程逻辑
图6-1 题库管理流程图
6.9 存储分配
1、单选题(scq)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
tid |
自动编号 |
是 |
否 |
题目编号 |
content |
文本(255) |
|
否 |
题目内容 |
typeA |
文本(255) |
|
否 |
选项A |
typeB |
文本(255) |
|
否 |
选项B |
typeC |
文本(255) |
|
否 |
选项C |
typeD |
文本(255) |
|
否 |
选项D |
right |
文本(5) |
|
否 |
正确答案 |
2、多选题(mcq)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
tid |
自动编号 |
是 |
否 |
题目编号 |
content |
文本(255) |
|
否 |
题目内容 |
typeA |
文本(255) |
|
否 |
选项A |
typeB |
文本(255) |
|
否 |
选项B |
typeC |
文本(255) |
|
否 |
选项C |
typeD |
文本(255) |
|
否 |
选项D |
right |
文本(5) |
|
否 |
正确答案 |
3、判断题(tfq)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
tid |
自动编号 |
是 |
否 |
题目编号 |
content |
文本(255) |
|
否 |
题目内容 |
typeA |
文本(255) |
|
否 |
选项A |
typeB |
文本(255) |
|
否 |
选项B |
right |
文本(5) |
|
否 |
正确答案 |
6.10 测试计划
本模块需通过不同关键字对题目进行查找,以及是否能正常向数据库中添加、删除、修改题目信息。
7 试卷管理(paper-gl)模块设计说明
7.1 程序描述
本模块用于对试卷的增加、查询、修改、删除的操作。
7.2 功能
试卷管理包含试卷添加、试卷题目修改、试卷信息修改、试卷查询、试卷删除。
7.3 性能
在时间上能有良好的响应速度。
7.4 输入项
试卷名称等
7.5 输出项
1、试卷添加显示"添加成功";
2、试卷修改显示"修改成功";
3、试卷题目修改显示"修改成功";
4、试卷删除显示"删除成功";
5、试卷查询显示查询到的试卷相关信息。
7.6 接口
本模块仅限管理员使用,管理员通过登录,进入后台管理,在后台管理页面转入本模块。关联的数据表有试卷表(paper)、试卷详细表(paperdetail)。
7.7 限制条件
本模块仅限管理员使用。
7.8 流程逻辑
图7-1试卷管理流程图
7.9 存储分配
1、试卷详细表(paperdetail)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
pdid |
自动编号 |
是 |
否 |
编号 |
pid |
长整型 |
|
否 |
试卷编号 |
num |
长整型 |
|
否 |
题号 |
content |
文本(255) |
|
否 |
题目内容 |
typeA |
文本(255) |
|
否 |
选项A |
typeB |
文本(255) |
|
否 |
选项B |
typeC |
文本(255) |
|
|
选项C |
typeD |
文本(255) |
|
|
选项D |
right |
文本(5) |
|
否 |
正确答案 |
type |
文本(5) |
|
否 |
题目类型 |
value |
整型 |
|
否 |
分值 |
2、试卷表(paper)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
pid |
自动编号 |
是 |
否 |
试卷编号 |
pname |
文本(50) |
|
否 |
试卷名称 |
8 公告管理(notice-gl)模块设计说明
8.1 程序描述
本模块用于对公告的添加、修改、删除和查询。
8.2 功能
公告管理包括公告添加、公告修改、公告删除、公告查看。
8.3 性能
在时间上能有良好的响应速度。
8.4 输入项
公告标题、公告内容。
8.5 输出项
1、公告添加显示"添加成功";
2、公告修改显示"修改成功";
3、公告删除显示"删除成功";
4、公告查看显示查询到的公告相关信息。
8.6 流程逻辑
图8-1 试卷管理流程图
8.7 接口
本模块仅限管理员使用,管理员通过登录,进入后台管理,在后台管理页面转入本模块。关联的数据表有用户表(userinfo)、公告表(notice)。
8.8 限制条件
本模块仅限管理员使用。
8.9 存储分配
1、公告表(notice)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
nid |
自动编号 |
是 |
否 |
公告编号 |
uid |
长整型 |
|
否 |
用户编号 |
title |
文本(100) |
|
否 |
标题 |
content |
备注 |
|
否 |
内容 |
time |
常规时间 |
|
|
发布时间 |
2、用户表(userinfo)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
uid |
自动编号 |
是 |
否 |
用户编号 |
username |
文本(50) |
|
否 |
用户名 |
pwd |
文本(50) |
|
否 |
密码 |
birthday |
时间/日期 |
|
否 |
出生日期 |
sex |
文本(5) |
|
否 |
性别 |
addr |
文本(255) |
|
|
地址 |
power |
整型 |
|
否 |
权限 |
phone |
文本(11) |
|
|
手机号码 |
hpic |
文本(100) |
|
|
头像 |
8.10 测试计划
测试增加、修改、删除、查询功能是否正常。
9 用户管理管理(user-gl)模块设计说明
9.1 程序描述
本模块用于管理用户信息。
9.2 功能
用户管理包括用户添加、用户修改、用户删除、用户查看。
9.3 性能
在时间上能有良好的响应速度。
9.4 输入项
用户相关信息。
9.5 输出项
1、用户添加显示"添加成功";
2、用户修改显示"修改成功";
3、用户删除显示"删除成功";
4、用户查看显示查询到的用户相关信息。
9.6 流程逻辑
图9-1 用户管理流程图
9.7 接口
本模块仅限管理员使用,管理员通过登录,进入后台管理,在后台管理页面转入本模块。关联的数据表有用户表(userinfo)。
9.8 限制条件
本模块仅限管理员使用。
9.9 测试计划
测试增加、修改、删除、查询功能是否正常。
10 成绩查询(mark-cx)模块设计说明
10.1 程序描述
本模块用于查询成绩。
10.2 功能
1、查询自己的成绩;
2、其他人的成绩。
10.3 性能
在时间上能有良好的响应速度。
10.4 输入项
用户名和密码。
10.5 输出项
成绩相关信息。
10.6 流程逻辑
图10-1 成绩查询流程图
10.7 接口
本模块由主页转入,关联的数据表有用户表(userinfo)、成绩表(score)。
10.8 限制条件
1、用户需要先登录或知道其他人的用户名和密码。
10.9 存储分配
1、用户表(userinfo)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
uid |
自动编号 |
是 |
否 |
用户编号 |
username |
文本(50) |
|
否 |
用户名 |
pwd |
文本(50) |
|
否 |
密码 |
birthday |
时间/日期 |
|
否 |
出生日期 |
sex |
文本(5) |
|
否 |
性别 |
addr |
文本(255) |
|
|
地址 |
power |
整型 |
|
否 |
权限 |
phone |
文本(11) |
|
|
手机号码 |
hpic |
文本(100) |
|
|
头像 |
2、成绩表(score)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
sid |
自动编号 |
是 |
否 |
编号 |
uid |
长整型 |
|
否 |
用户编号 |
pid |
长整型 |
|
否 |
试卷编号 |
mark |
整型 |
|
否 |
成绩 |
10.10 测试计划
分别使用普通用户和管理员账号进行登录查询和使用错误密码查询成绩。
11 修改密码(pwd-xg)模块设计说明
11.1 程序描述
本模块主要用于用户修改密码。
11.2 功能
修改密码模块就只有一个功能:修改用户密码。
11.3 性能
在时间上能有良好的响应速度。
11.4 输入项
新密码
11.5 输出项
提示"修改密码成功"
11.6 流程逻辑
图11-1
11.7 接口
本模块关联数据表有用户表(userinfo)。
11.8 存储分配
1、用户表(userinfo)
列名 |
数据类型 |
是否主键 |
是否为空 |
备注 |
uid |
自动编号 |
是 |
否 |
用户编号 |
username |
文本(50) |
|
否 |
用户名 |
pwd |
文本(50) |
|
否 |
密码 |
birthday |
时间/日期 |
|
否 |
出生日期 |
sex |
文本(5) |
|
否 |
性别 |
addr |
文本(255) |
|
|
地址 |
power |
整型 |
|
否 |
权限 |
phone |
文本(11) |
|
|
手机号码 |
hpic |
文本(100) |
|
|
头像 |
11.9 限制条件
暂无。
11.10 测试计划
登录用户进行修改密码操作。