考试管理系统
下图给出了学生模块下各个子模块之间的关系:
2.3.2管理员模块下各个子模块之间的关系及动作分解
下面给出管理员模块中各个子模块之间的关系。
3、在线考试系统数据库设计
3.1数据库的需求分析
在线考试系统学生模块要可以注册,登录,进行考试,修改密码。后台(管理员)模块要可以登录,修改考生,课程,试题信息等。
学生信息表(id号,用户名,用户密码,用户性别),其中id号为主键。
管理员信息表(管理员用户名,管理员密码),其中管理员用户名为主键。
课程信息表(课程id号,课程名称),其中课程id号为主键。
试题信息表(题号,题目,选项A,选项B,选项C,选项D,正确答案),其中题号为主键。
这四个实体在mysql数据下的表示为:
考试系统需求
分析报告
学院:计算机与信息工程学院
班级:信息管理与信息系统(131)班
姓名:热比牙木·艾尼
学号:220132754
指导老师:李永可
在线考试系统的功能要求
在线考试系统的总目标是:在当前网络环境下,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的在线考试系统,实现企业或者是学校考试的无纸化,为企业或者学校选拔人才提高更方便,更有效的途径。
名
类型
长度
十进位
允许空?
主键?
id
int
5
0
是
username
varchar
30
0
password
int
6
0
sex
char
10
0
下表给出了gly表的逻辑结构设计。
名
类型
长度
十进位
允许空?
主键?
glname
varchar
30
0
是
password
int
6
0
下表给出了lesson表的逻辑结构设计。
名
类型
长度
zxks.jsp
介绍考试功能
xzkskc1.jsp
选择考试科目
ydgz.jsp
说明考试规则
zxks(1).jsp
学生答题界面
ksks.jsp
学生做完题后,查看答案界面
xgzl.jsp
修改密码界面
tj_success.jsp
密码修改成功界面
zc.jsp
注册界面
2.2.2管理员模块:
文件名称
该文件所实现的功能
htdl.jsp
管理员登录界面,判断用户名和密码是否与数据库中的相对应
gldl_success.jsp
管理员登录成功所显示的界面
gldl_failure.htm
管理员登录失败所显示的界面
gly.jsp
管理员主页面
gl_student.jsp
管理(查看)学生界面
gl_addstudent.jsp
管理(添加)学生界面
3、阅卷管理:对于客观题,系统应该可以自动阅卷评分,对于主观题,应该进行人工打分,进而让系统自动统计总成绩。
4、成绩管理:管理员可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。
4、学生管理:管理员可以对用户的资料进行查询、删除。
对普通用户来说,包括在线考试(包括模拟考试和正式考试)、查询以往考试成绩、留言和在线交流等。
学生姓名+学号+专业
注释:
按学号排序
表4.7学生成绩表
数据流名:
学生成绩表
组成:
学号+成绩+考试状态
表4.8选择题存储表
数据流名:
选择题存储表
组成:
题序列号+问题内容+选项A+选项B+选项C+选项D+答案
注释:
按题序列号排序
... … …
其余表的框架类似,在此省略。
逻辑结构设计要点
给出本系统内所使用的每隔数据结构的名称、标识符以及它们之中每隔数据项、记录、文卷和系的标识、定义、长度,及它们之间的层次的相互关系[6]。
功能需求分析
在线考试系统可分为三大模块:学生考试模块,教师试题管理模块和管理员管理模块。
2、在线考试系统的总体规划与结构框图
2.1在线考试系统总体设计
系统流程图
系统流程图如图所示。
模块分布图:
1、在线考试:学生可以任选时间进行在线测试,考生可以选择手动抽题和随机抽题。在规定的时间内完成作答并交卷。如果考试时间到,考试未交卷的,系统自动提交试卷。考试结束后,对于全部为客观性试题,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
2、查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。
3、留言板:学生提交对系统的留言信息。
该系统的数据流图如下:
管理系统流程图
数据字典定义
数据字典有四类:数据项,文件,数据流,加工。
表4.1考生登录信息
数据流名:
考生登录信息
简述:
考生进入考试系统中的身份
组成:
考生学号+考生姓名
注释:
考生只能参加一次考试,即登录一次
表4.2选择题
数据流名:
选择题
组成:
题名+题号+{问题+选项A+选项B+选项C+选项D+答案+结果}
注释:
每一次生成的选择题都不一样,结果都为空
表4.3填空题
数据流名:
填空题
组成:
提名+题号+{问题+答案+结果}
注释:
结果为空
表4.4程序设计题
数据流名:
程序设计题
根据可行性研究的结果和用户的要求,分析现有情况及问题,采用brower/Server结构,将在线考试系统分成了一下功能模块。
本系统的用户可分为管理员和普通用户(考生)两类。
本系统共分成两个界面:一个界面用于管理员登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个界面用于普通用户(考生)登录、注册。主要负责在线考试、查询以往考试成绩留言和在线交流等。
40
0
answer
varchar
50
0
4、针对具体的功能模块写出设计流程图与关键的程序代码
4.1在线考试系统设计流程图
在线考试系统管理模块设计流程图
在线考试系统用户登录模块设计
2.身份验证模块:在考生进入考试系统时,要求确认其考试资格,并根据不同的情况返回不同的值。
3.生成试卷模块:根据读取到的考试设置,生成考试试卷。
4.做试卷模块:让考生根据试题要求,输入结果或进行操作。
5.试卷备份模块:在考生做题时,每5分钟将试卷更新到数据库中一次。
6.试卷恢复模块:在考生考试中发生终端或出现错误时,可以使试卷恢复设置,恢复试卷,继续考试。总体规划设计
2.2.1学生模块:
文件名称
该文件所实现的功能
dl.jsp
用户登录界面,判断用户名和密码是否与数据库中的相对应
login_success.jsp
用户登录成功所显示的界面
login_failure.jsp
用户登录失败所显示的界面
zy.jsp
用户登录成功后进入的主页
基于以上需求,数据库中需要一个学生信息表(student),一个管理员信息表(gly),一个课程信息表(lesson),一个试题信息表(timu)。
3.2数据库的概念结构设计
3.2.1在线考试系统数据库的实体设计
在线考试系统数据库主要有四个实体:学生信息表,管理员信息表,课程信息表,试题信息表。对这四种实体的描述如下:
组成:
题名+题号+程序设计题内容+程序设计题要求
注释:
结果为空
表4.5备份答题卷
数据流名:
备份答题卷
简述:
试卷类对象初始化的一个string型数据
组成:
考生学号+姓名+(选择题)+(填空题)+(程序设计题)+考试时间+考试剩余时间+结果
注释:
每隔5分钟生成1次
表4.6学生信息表
数据流名:
学生信息表
组成:
gl_student_success.jsp
添加成功界面
gl_lesson.jsp
管理(查看)课程界面
gl_addlesson.jsp
管理(添加)课程界面
gl_timu.jsp
管理(查看)试题界面
gl_addtimu.jsp
管理(添加)试题界面
2.3在线考试系统各个模块之间的关系图及动作分解
2.3.1各个子模块之间的关系和操作动作分解
学生信息表:
管理员信息表:
课程信息表:
试题信息表:
3.2.2在线考试系统数据库的E-R图
3.3数据库的逻辑结构设计
3.3.1在线考试系统数据库逻辑结构设计
在系统数据库中创建一个名称为test的数据库,在test数据库中创建student表,gly表,
lesson表和timu表。
下表给出了student表的逻辑结构设计。
列名
数据类型
长度
是否为空
注释
Password
Char
16
Yes
管理教师密码
题库表
表4.12选择题库
列名
数据类型
长度
是否为空
注释
Th
Char
10
No
题号
Content
Char
200