毕业设计:基于JavaWeb技术的在线考试系统设计与实现(论文+源码)
目录
4系统概要设计
4.1概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图
4.2系统结构
本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:

图4-2管理员功能结构图
本系统是基于B/S架构的网站系统,设计的用户功能结构图如下图所示:

图4-4 用户功能结构图
4.3.数据库设计
4.3.1数据库实体
概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:
(1)考试评分信息的实体属性图如下:

图4.12 考试评分信息实体属性图
(2)试卷信息实体属性图如图4.13所示:

图4.13 试卷信息实体属性图
(3)考试规则信息实体属性图如图4.14所示:

图4.14 考试规则信息实体属性图
4.3.2数据库设计表
基于JavaWeb技术的在线考试系统设计与实现需要后台数据库,下面介绍数据库中的各个表的详细信息:
表4.1 试卷表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
name |
varchar(200) |
否 |
试卷名称 |
|
|
time |
int(11) |
否 |
考试时长(分钟) |
|
|
status |
int(11) |
否 |
0 |
试卷状态 |
表4.2 试题表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
paperid |
bigint(20) |
否 |
所属试卷id(外键) |
|
|
papername |
varchar(200) |
否 |
试卷名称 |
|
|
questionname |
varchar(200) |
否 |
试题名称 |
|
|
options |
longtext |
是 |
NULL |
选项,json字符串 |
|
score |
bigint(20) |
是 |
0 |
分值 |
|
answer |
varchar(200) |
是 |
NULL |
正确答案 |
|
analysis |
longtext |
是 |
NULL |
答案解析 |
|
type |
bigint(20) |
是 |
0 |
试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) |
|
sequence |
bigint(20) |
是 |
100 |
试题排序,值越大排越前面 |
表4.3 考试记录表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
userid |
bigint(20) |
否 |
用户id |
|
|
username |
varchar(200) |
是 |
NULL |
用户名 |
|
paperid |
bigint(20) |
否 |
试卷id(外键) |
|
|
papername |
varchar(200) |
否 |
试卷名称 |
|
|
questionid |
bigint(20) |
否 |
试题id(外键) |
|
|
questionname |
varchar(200) |
否 |
试题名称 |
|
|
options |
longtext |
是 |
NULL |
选项,json字符串 |
|
score |
bigint(20) |
是 |
0 |
分值 |
|
answer |
varchar(200) |
是 |
NULL |
正确答案 |
|
analysis |
longtext |
是 |
NULL |
答案解析 |
|
myscore |
bigint(20) |
否 |
0 |
试题得分 |
|
myanswer |
varchar(200) |
是 |
NULL |
考生答案 |
表4.4 考试规则
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
guize |
longtext |
是 |
NULL |
规则 |
|
tupian |
varchar(200) |
是 |
NULL |
图片 |
表4.5 考试评分
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
kemu |
varchar(200) |
是 |
NULL |
科目 |
|
shijuan |
varchar(200) |
是 |
NULL |
试卷 |
|
pingfen |
int(11) |
是 |
NULL |
评分 |
|
xuehao |
varchar(200) |
是 |
NULL |
学号 |
|
xingming |
varchar(200) |
是 |
NULL |
姓名 |
|
banji |
varchar(200) |
是 |
NULL |
班级 |
表4.6 考试统计
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
kemu |
varchar(200) |
是 |
NULL |
科目 |
|
shijuan |
varchar(200) |
是 |
NULL |
试卷 |
|
timu |
varchar(200) |
是 |
NULL |
题目 |
|
kaoshitongguolv |
varchar(200) |
是 |
NULL |
考试通过率 |
|
kaoshikemucishu |
varchar(200) |
是 |
NULL |
考试科目次数 |
表4.7 考试资讯
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
title |
varchar(200) |
否 |
标题 |
|
|
introduction |
longtext |
是 |
NULL |
简介 |
|
picture |
varchar(200) |
否 |
图片 |
|
|
content |
longtext |
否 |
内容 |
表4.8 管理员表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
username |
varchar(100) |
否 |
用户名 |
|
|
password |
varchar(100) |
否 |
密码 |
|
|
role |
varchar(100) |
是 |
管理员 |
角色 |
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
新增时间 |
表4.9 忘记密码人员登记
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
xuehao |
varchar(200) |
是 |
NULL |
学号 |
|
xingming |
varchar(200) |
是 |
NULL |
姓名 |
|
banji |
varchar(200) |
是 |
NULL |
班级 |
|
xueyuan |
varchar(200) |
是 |
NULL |
学院 |
|
zhuanye |
varchar(200) |
是 |
NULL |
专业 |
|
shouji |
varchar(200) |
是 |
NULL |
手机 |
|
xinmima |
varchar(200) |
是 |
NULL |
新密码 |
|
xiugaishijian |
datetime |
是 |
NULL |
修改时间 |
表4.10 用户
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
xuehao |
varchar(200) |
否 |
学号 |
|
|
mima |
varchar(200) |
否 |
密码 |
|
|
xingming |
varchar(200) |
否 |
姓名 |
|
|
xingbie |
varchar(200) |
是 |
NULL |
性别 |
|
xueyuan |
varchar(200) |
是 |
NULL |
学院 |
|
zhuanye |
varchar(200) |
是 |
NULL |
专业 |
|
banji |
varchar(200) |
是 |
NULL |
班级 |
|
shouji |
varchar(200) |
是 |
NULL |
手机 |
|
shenfenzheng |
varchar(200) |
是 |
NULL |
身份证 |
|
zhaopian |
varchar(200) |
是 |
NULL |
照片 |
表4.11 专业类型
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
leixing |
varchar(200) |
是 |
NULL |
类型 |
表4.12 专业列表
|
字段 |
类型 |
空 |
默认 |
注释 |
|---|---|---|---|---|
|
id (主键) |
bigint(20) |
否 |
主键 |
|
|
addtime |
timestamp |
否 |
CURRENT_TIMESTAMP |
创建时间 |
|
zhuanyemingcheng |
varchar(200) |
是 |
NULL |
专业名称 |
|
zhuanyexiangqing |
longtext |
是 |
NULL |
专业详情 |
|
zhuanyeleixing |
varchar(200) |
是 |
NULL |
专业类型 |

5系统详细实现
5.1 管理员模块的实现
5.1.1 用户信息管理
基于JavaWeb技术的在线考试系统设计与实现的系统管理员可以管理用户,可以对用户信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。

图5.1 用户信息管理界面
5.1.2 考试统计管理
系统管理员可以查看对考试统计进行添加,修改,删除以及查询操作。具体界面如图5.2所示。

图5.2 考试统计管理界面
5.2.1 专业列表管理
系统管理员可以对专业列表信息进行添加,修改,删除以及查询操作。界面如下图所示:

图5.3 专业列表信息管理界面
5.2.1 忘记密码人员登记管理
系统管理员可以对忘记密码人员登记信息进行添加修改删除操作,还可以对忘记密码人员登记信息进行查询。界面如下图所示:

图5.4 忘记密码人员登记管理界面
5.2 用户模块的实现
5.2.2 修改密码
用户登录之后,可以修改密码。界面如下图所示:

图5.5 修改密码界面
5.2.3 试卷信息
用户登录后可以在首页点击试卷列表,就可以看到试卷信息,可以选中试卷信息进行考试操作。界面如下图所示:

图5.6 试卷信息界面
5.2.3 考试信息管理
用户点击试卷信息可以参考考试。界面如下图所示:

图5.7 考试界面
6系统测试
6.1概念和意义
测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为:
目的:发现程序的错误;
任务:通过在计算机上执行程序,暴露程序中潜在的错误。
另一个预测是相关的术语叫纠错(Debugging)。它的目的与任务可以规定为:
目的:定位和纠正错误;
任务:消除软件故障,保证程序的可靠运行。测试与纠错的关系,可以用图6-1的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试数据,与被测试程序一道送入计算机执行。通常把一次程序执行需要的测试数据,称为一个“测试用例(Test Case)。每一个测试用例产生一个相应的“测试结果”。如果它与“期望结果”不想符合,便说明程序中存在错误,需要用纠错来改正。

图6.1测试与纠错信息流程
6.2特性
(1)挑剔性
测试是为了证明程序有错,而不是证明程序无错。因此,对于被测程序就是要“纯毛求疵”,就是要“鸡蛋里挑骨头”。
(2)复杂性
测试仪程序则比较容易,这其实是一个误区。设计测试用力是一项需要细致和高度技巧的高能工作,稍有不慎就会顾此失彼,发生不应用得数楼。
(3)不彻底性
实际测试都是不彻底的,当然不能够保证测试后的程序不存在遗漏的错误。
(4)经济性
通场这种测试称为“选择测试(Selective Testing)”。为了降低测试成本,选择测试用力是应注意遵守“经济性”的原则。
6.3重要性
软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
6.4测试方法
首先我们来说界面测试,界面测试是为了使程序在不同的的操作平台上能够运行界面,并且能够保持原来的风格。我把完整程序拷贝到Windows 7环境下,似的程序运行正常,运行界面上的字体图片等设置都能够保持得非常好。不出现字体变形等情况!
其次进行功能测试。该系统测试采用的是单元测试,集成测试,完善性测试等多种方式进行测试。
经过测试,所有功能都能得以实现,没有任何变形。至此,在功能的测试上也已经比较圆满的完成了。
由于经验不足,写代码时出现了一些考虑不周的系统缺陷,写代码的时候会出现与设想不一致,比如说代码不规范导致接口与接口之间出现问题,功能与客户的要求不符合,这样导致产品不能过关,无法交付。所以产品在上线前必须反复测试,经过反复测试,修改,再测试,再修改,产品才能够不断完善。在整个系统测试中,根据需求文档和设计文档,逐一对功能进行检测并写好测试用例,有效避免残片缺陷,因为产品出现缺陷不仅影响功能,而且可以导致数据的不准确,导致产品质量的降低,经过测试,才能使得产品的稳定性和成熟度得到极大的提升,产品质量也才有保证。
6.5 功能测试
功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6.1所示:
表6.1 系统功能测试
|
测试内容 |
测试结果 |
|---|---|
|
适用性 |
好 |
|
准确性 |
好 |
|
可操作性 |
好 |
|
依从性 |
好 |
|
安全性 |
好 |
6.6可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6.2所示。
表6.2 系统可用性测试
|
测试项 |
测试人员的评价 |
|---|---|
|
窗口移动、大小改变、关闭等操作是否正常 |
是 |
|
操作模块是否友好 |
是 |
|
模块、提示内容等文字描述是否正确 |
是 |
|
模块布局是否协调、合理 |
是 |
|
模块的状态是否正确(对选中项能否发生对应切换) |
是 |
|
鼠标、键盘操作是否支持 |
是 |
|
所需数据项是否正确显示 |
是 |
|
操作流程是否合理 |
是 |
|
是否提供帮助信息 |
是 |
6.7性能测试
性能测试主要通过模拟系统运行环境,测试系统性能是否符合客户需求。性能测试的重要技术指标就是:系统运行速度、网络响应时间和支持并发节点数。
1)系统运行速度:通过在不同计算机上试运行本系统,没有发现有任何迟滞、停顿现象。
2)网络响应时间:网络响应时间主要包括网络最小响应时间、平均响应时间、最大响应时间三个参数。经过测试,在网络运营良好状态下,NBA局域网内响应时间三参数为:1/2/6s,NBA外网响应时间三参数为3/7/12s,符合客户需求,属于用户心理可承受范围。
3)支持并发节点数:经过模拟环境测试,本系统在并发节点达46个时,网络运营速度会发生较大波动,延迟时间10秒左右,符合客户需求。
6.8测试分析
本网站设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了用户能够方便操作。系统的主要特点和优点归纳如下:
(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。
(2)该完整内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。
6.9测试结果分析
经过对上述测试结果分析,本系统符合用户需求。所有基本功能点实现,操作简单,操作流程简单合理,产品运行性能良好,是一款值得推广的基于JavaWeb技术的在线考试系统设计与实现。
结论
在这次毕业设计中遇到的最困难的方面就是在数据库方面的知识,在刚开始进行毕业设计的时候感觉十分困难,根本不知道该从何处下手,但不断的坚持,设计最终被完成。无论多么的困难,只要能够坚持下来,善于去找到好的材料来研究,在研究中充分利用资源,没有困难是不会被成功解决的。
在开发系统的过程中,本人运用到了JSP技术和平时学习中所了解的一些技术,通过实现这些技术,大大提高了整个系统的性能。在论文中这些技术都做了比较详细的介绍。本系统还存在很多缺点和不完善的地方,例如有些细节上做的还不够完善,有些功能模块还需要加强。在今后的日子里,能够对这些不足进行改善。
通过这次最终的毕业设计,平时所学到的知识不仅融合了,而且获得了许多计算机知识。在整个设计过程中明白了许多东西,也培养独立工作能力,树立信心,对自己能力的工作能力,我相信以后会学习和工作生活中有至关重要的作用。同时也大大提高了手的能力,使其难以充分体会探索的乐趣和成功的创作过程,设计过程中汲取的东西,是一笔宝贵的财富。
回顾过去做毕业设计的整个过程,充满了付出和收获,但是当你看到成果的时候的感觉,是一种难以用言语表达的喜悦之感这些在毕业设计过程中学习到的东西将会使我终身受益!
最后,感谢指导老师的关心和指导,在我毕业设计的整个过程中,他给与了我很多的帮助和讲解,在导师的帮助下我的毕业设计才能如此顺利的完成。
致谢语
经过几个多月的不断学习,我的毕业设计终于如期完成。此次毕业设计是对我们日常所学计算机理论知识的一次综合性评测,也是将理论应用到实践的一项考察。
首先我要感谢此次指导我的老师,是他的及时纠正我在设计当中出现的问题,使得我的设计高质量完成。指导老师在我本次基于JavaWeb技术的在线考试系统设计与实现的开发过程中,为程序、框架的设计、代码等方面以及论文设计提供了很多宝贵的意见,并且为我推荐了许多相关的资料,他的指导和建议使我受益匪浅,通过老师的耐心辅导和指点,我的论文顺利完成,在此,我表示深刻的感谢。
我也要感谢帮助过我的同学们,和我一起探讨论文的不足,给我的设计提出宝贵的建议,在这次设计中他们的帮助使得我的设计更加完善更加具体。
最后,我也要感谢学校为我们提供了一个良好的学校环境。祝愿学校的领导教师以及和我一起奋斗的同学们工作顺利,事业有成,也要祝愿学校的前景更加辉煌。
参考文献
[1]付昕. 基于B/S模式仓库管理系统的实现[J].山东省农业管理干部学院学报, 2010, 27(4):166-168
[2] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.
[3] 黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149
[4] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66
[5] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49
[6] David L.Anderson.Managing Information Systems.清华大学出版社,2002:16
[7] 王家华.软件工程[M],沈阳:东北大学出版社,2011:46
[8] 张孝祥,徐明华.软件开发课堂.清华大学出版社,2009:55
[9] 崔洋.MySQL数据库应用从入门到精通.中国铁道出版社,2013:27
[10] 王珊,萨师煊.数据库系统概论.高等教育出版社, 2006:16
[11] 崔洋.MySQL数据库应用从入门到精通.中国铁道出版社,2013:27
[12] 王珊,萨师煊.数据库系统概论.高等教育出版社, 2006:16
[13] 张海潘.软件工程导论.清华大学出版社,2008:86
[14] 黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149
[15] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)