第 0 页共 39 页
1.1 系统结构 ER 图
按照网络考试系统的使用对象(学生、教师、管理员)对系统结构划分为三部分:
图 1 学生系统功能 E-R 图
第 1 页共 39 页
图 2 教师系统功能 E-R 图
第 2 页共 39 页
图 3 管理员系统功能 E-R 图
2 网络考试系统总体设计
2.1 系统的核心决策
由于在开发过程中需要对开发的规范做出统一性的规定,以及需要对一些操作和设计做
出决策性的决定。本系统的核心决策如下:
1.系统统一编码为 utf-8。
2.上传照片操作过程中,创建文件时超过 3 次失败就放弃。
3.辅导员和班级所对应的学院可以不一样。
4.必须保持科目名称的唯一性。
第 3 页共 39 页
5.Session 的有效时间设置为 1 小时。
6.数据表 t_subjects 的主键下标从 0 开始,并作为管理员的默认科目。
7.所有的命名遵守驼峰标识命名规则。
8.服务端与客户端之间的数据传递采用 json 方式传送。
9.学生照片保存在服务器端的磁盘上,在数据库中保存图片的名称。
10.在 web.xml 中定义保存图片的文件夹参数名用来动态更新文件夹名称。
11.统一使用 jquery 框架来丰富客户端。
12.试题难度划分为 5 个层次:简单(EASY)、较简单(GENERAL_EASY)、中等
(SIMPLE)、较困难(GENERAL_HARD)、困难(HARD),并以枚举形式保存。
13.所有枚举型数据类型对应数据库中的 int 类型,在数据库中保存枚举类型的下标,
并以此转换。重写 toString 方法返回下标。
14.手动创建试卷默认是创建考试试卷。
15.试卷取消总分属性,每次都是通过计算来动态获取,并添加最近修改时间显示功能。
16.所有在 Session 会话过程中编辑过的试卷都要添加到 testPapers 中。
17.系统一共三个角色:学生、教师、管理员。
18.系统采用从 c3p0 数据源管理数据库连接池
19.学生参加考试的时候必须通过拦截器检测是否有相应的考试。
20.任课教师创建试卷后不会立即保存需要手动保存,未保存的试卷在 Session 中的
testPapers 中,以数组形式保存多份未保存的新创建试卷,如果关闭 Session 后全部消失。
当前正在编辑的试卷都在 Session 中以 testpaper 保存
21.试卷和试题的难度保存形式:在数据库中用数字下标表示,在内存中用对象表示、
在页面中用中文含义表示。
22.为了校验的时候给出的试题错误信息更加有针对性,所以对试题染色体的校验字段
都放在了对应子类中,并没有存放在父类中。
23.学生只有在提交试卷时才会同步更新 ServletContext 中的试卷,其他情况下同步
Session 中的试卷。