一、 数据结构
表说明:
用户信息表:主要用来存放用户信息。
字段 |
类型 |
是否为空 |
描述 |
用户ID |
Char(10) |
否 |
主键<PK> |
用户编号 |
Char(10) |
否 |
用户登录系统帐号 |
用户姓名 |
Char(10) |
否 |
用于用户登录系统后显示的昵称 |
用户密码 |
Char(10) |
否 |
用户登录系统密码 |
班级ID |
Char(10) |
否 |
外键<FK>,关联班级表中的班级ID字段 |
用户组ID |
Char(10) |
否 |
外键<FK>,关联用户组表中的用户组ID字段,说明用户权限 |
用户组表:主要用来管理每个用户组中用户权限相关信息。
字段 |
类型 |
是否为空 |
描述 |
用户组ID |
Char(10) |
否 |
主键<PK> |
用户组编号 |
Char(10) |
否 |
用户组标志 |
用户组名称 |
Char(20) |
否 |
用于用户登录系统后显示用户所在组昵称 |
用户组描述 |
Char(80) |
是 |
|
班级信息表:主要用来管理每个班级信息。
字段 |
类型 |
是否为空 |
描述 |
班级ID |
Char(10) |
否 |
主键<PK> |
班级编号 |
Char(10) |
否 |
|
班级名称 |
Char(20) |
否 |
用于用户登录系统后显示用户所在班级的昵称 |
临时试卷表:存放系统自动随机生成试卷,以便后面审核
字段 |
类型 |
是否为空 |
描述 |
试卷ID |
Char(10) |
否 |
主键<PK> |
考场ID |
Char(10) |
否 |
|
用户组ID |
Char(10) |
否 |
|
试卷信息 |
Char(2000) |
否 |
用户存放考题编号和答案 |
成绩表:存放考生最后所得的成绩
字段 |
类型 |
是否为空 |
描述 |
成绩ID |
Char(10) |
否 |
|
考场ID |
Char(10) |
否 |
|
用户ID |
Char(10) |
否 |
|
成绩分数 |
float |
是 |
系统根据正确率自动判分 |
成绩记录表:存放考生答案
字段 |
类型 |
是否为空 |
描述 |
记录ID |
Char(10) |
否 |
|
考场ID |
Char(10) |
否 |
|
用户ID |
Char(10) |
否 |
|
成绩记录 |
Char(80) |
否 |
|
考场表:存放教师设定的规则,以便考生选择。
字段 |
类型 |
是否为空 |
描述 | |
考场ID |
Char(10) |
否 |
主键<PK> | |
考场编号 |
Char(10) |
否 |
| |
考场名称 |
Char(20) |
否 |
| |
题库类型ID |
Char(10) |
|
| |
创建人ID |
Char(10) |
|
| |
创建时间 |
DateTime |
|
| |
班级ID |
Char(10) |
|
| |
考场状态 |
Char(1) |
|
| |
权限分配表:用于系统管理员管理分配用户权限
字段 |
类型 |
是否为空 |
描述 |
用户ID |
Char(10) |
否 |
主键<PK> |
权限ID |
Char(10) |
否 |
主键<PK> |
权限表: 用于系统管理员管理权限类型
字段 |
类型 |
是否为空 |
描述 |
权限ID |
Char(10) |
否 |
主键<PK> |
权限编号 |
Char(10) |
否 |
|
权限名称 |
Char(10) |
否 |
|
题库类型表:用于系统管理员管理题库类型
字段 |
类型 |
是否为空 |
描述 |
题库类型ID |
Char(10) |
否 |
主键<PK> |
题库类型编号 |
Char(10) |
否 |
|
题库类型名称 |
Char(20) |
否 |
|
上级题库类型ID |
Char(10) |
否 |
|
题库信息表: 用户题库管理员管理题库信息
字段 |
类型 |
是否为空 |
描述 | |
题目ID |
Char(10) |
否 |
主键<PK> | |
题目编号 |
Char(10) |
否 |
| |
题目内容 |
Char(200) |
否 |
| |
题目答案选项 |
Char(100) |
|
| |
题目类型 |
Char(1) |
|
0表示单选题,1表示多选题 | |
题目难度 |
Char(1) |
|
0表示初级,1表示中级 2表示高级 | |
题目模式 |
Char(1) |
|
| |
题目答案 |
Char(10) |
|
多选题答案以逗号隔开 | |
题目类型ID |
Char(10) |
|
| |
系统视图:
视图名称 |
v_Info_GroupPermit |
视图描述 |
返回数据库中权限组的权限信息 |
相关表 |
tb_Info_Permit,tb_Info_GroupPermit |
视图名称 |
v_Info_GroupUser |
视图描述 |
返回用户组和权限之间的关系,其中data列表示两表之间的关系,值为1表示用户组有该权限,值为0表示用户组没有该权限 |
相关表 |
tb_Info_GroupPermit,v_Info_User_Permit |
视图名称 |
v_Info_User |
视图描述 |
返回用户的信息及用户所在的用户组信息 |
相关表 |
tb_Info_User,tb_Info_GroupUser,tb_Info_Class |
视图名称 |
v_Info_User_Permit |
视图描述 |
返回数据库中各用户组的权限信息 |
相关表 |
tb_Info_Permit,tb_Info_GroupUser |
视图名称 |
v_Info_UserPermit |
视图描述 |
返回用户的信息及用户组和相关权限信息 |
相关表 |
v_Info_GroupPermit, v_Info_User |
二、 软件安装
a) 数据库配置
配置SQL 2000的认证机制为混合认证,添加用户登录名SA,密码为空。
打开SQL 2000,附加项目所在目录的OnlineTestDB\OnlineTest.mdf,并将数据库命名为OnlineTest。
b) 软件运行环境配置
服务器端要求必需软件:IIS 5.5 + .net FrameWork 1.1
打开IIS,创建虚拟目录,命名OnlineTest,路径指向项目所在目录的OnlineTest文件夹。
打开IIS,创建虚拟目录,命名WS_OnlineTest,路径指向项目所在目录的WS_OnlineTest文件夹。
测试地址:http://127.0.0.1/OnlineTest/index.aspx
客户端要求有IE5.0,且弹出窗口不能被阻拦。
访问地址:http://[Server_IP]/OnlineTest/index.aspx
三、 软件使用
a) 登录窗口
i. 界面
ii. 描述
界面比较简洁,只有一个帐号文本框、密码文本框和登录按钮。
用户点击”登录”,系统会自动将用户输入的帐号和密码与数据库中的数据进行 核对,匹配即可出现主窗口,反之提示用户出错信息。
b) 主窗口
i. 系统管理员
1. 界面
2. 描述
对整个系统进行管理如:整个平台(系统平台、教师平台、考生平台)
ii. 题库管理员
1. 界面
2. 描述
主要是对考题进行添、删、改等操作,并对成绩进行管理,开设考试课程。
iii. 考生用户
1. 界面
2. 描述
主要是进行模拟和正常考试、修改个人密码、设置考试模型。
四、 出错处理和恢复
出错设计
1、 添加课程、班级、题目等时,如果没有添写资料,出现异常
2、 添加新考题时,添加双项选择的考题会出错
3、 修改密码不成功,出现错误
4、 在正常考试计分时,会出现计分错误
5、 未设置客户端计时
出错处理对策:
对于软错误,在数据提交前先进行判断,并生成相应的出错信息输出。
对于硬错误,可在将程序重置回输入状态,没有正常退出不更改数据库。
文护设计
文护设计方面主要为对数据库进行文护。可使用SQL SERVER的数据库文护功能机制。例如,定期为数据库进行Backup,文护管理数据库死锁问题和文护数据库内数据的一致性等。
五、 终端操作
终端的配置操作:创建虚拟目录 导入SQL数据库