一、系统截图(需要演示视频可以私聊)
摘 要
本论文主要论述了如何使用JAVA语言开发一个在线考试系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述在线考试系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。
在线考试系统的主要使用者分为管理员和学生,实现功能包括管理员:个人中心、学生管理、考试科目管理、考试成绩统计管理、试题管理、管理员管理、试卷管理、考试管理,学生:个人中心、考试科目管理、考试管理等功能。由于本网站的功能模块设计比较全面,所以使得整个在线考试系统信息管理的过程得以实现。
本系统的使用可以实现本在线考试系统管理的信息化,可以方便管理员进行更加方便快捷的管理。
关键词:在线考试系统;JSP技术;MYSQL数据库;
目 录
摘 要
1 绪论
1.1研究背景
1.2研究现状
1.3研究内容
2 系统关键技术
2.1 JSP技术
2.2 JAVA简介
2.3 MYSQL数据库
2.4 B/S结构
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3. 1. 2经济可行性
3. 1. 3操作可行性
3.2 系统性能分析
3.3 系统功能分析
3.4系统流程分析
3.4.1登录流程
3.4.2注册流程
3.4.3添加信息流程
3.4.4删除信息流程
4 系统设计
4.1系统概要设计
4.2系统结构设计
4.3系统顺序图设计
4.3.1登录模块顺序图
4.3.2添加信息模块顺序图
4.4数据库设计
4.4.1数据库E-R图设计
4.4.2数据库表设计
第5章 系统详细设计
5.1管理员功能模块
5.2学生功能模块
6 系统测试
6.1 测试定义
6.2 测试目的
6.3测试方案
(1)模块测试
(2)集成测试:
(3)验收测试:
6.4系统分析
7 结论
参考文献
谢辞
1 绪论
1.1研究背景
随着网络不断的普及发展,在线考试系统依靠网络技术的支持得到了快速的发展,首先要从学生的实际需求出发,通过了解学生的需求开发出具有针对性的管理系统,利用目前网络给学生带来的方便快捷这一特点对系统进行调整,设计的系统让学生使用起来更加方便,本系统的主要目的就是给学生带来方便与快捷,学生只要在家中就可以进行在线考试[1]。同时随着电子商务的发展网上在线考试系统已经受到广大学生的关注。
互联网发展至今,已经解决了很多我们解决不了的难题,使得我们工作更加便捷,提高了我们的工作效率。目前各行各业都在运用网络信息管理程序,不同的学生也都接触到信息管理,特别是在各大电商行业广泛的应运起来。通过对当前网络环境发展的分析与总结,开发在线考试系统可以改变以往的手工统计方式,改变传统线下在线考试系统的状态,由于学生的不断增多,使用传统的线下手工统计模式已经远远不能满足于学生需求了,而且越来越多的学校也在开通线上进行考试,所以开发一个在线考试系统可以解决不利于线下考试的问题,同时管理员可以利用网络对在线考试系统信息进行管理,设计的网站保证信息的完整安全,这样才能提高工作效率,保证系统安全正常的运行[2]。
1.2研究现状
在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新[3]。软件行业早已遍布各个地方。
在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业[4]。
随着在线考试人数的不断增加,而且在线考试系统也通过网络系统来完成日常考试信息中的各种需求,所以网上在线考试系统的开发给学生带来了足够的便利,学生通过系统来满足生活中的需求,因此,由于信息的增加,信息处理系统也随之增加,通过网络来满足现代学生需求[5]。此次开发设计主要是实现在线考试系统,结合jsp技术以及MYSQL数据库进行设计,弥补目前在线在线考试系统网站中的不足,来开发出一款即方便又实用的在线考试系统,并且设计的程序具有界面整洁、功能强大等特性,从全局来说,在线考试系统的设计解决了信息零散,该系统实现,可以投入到真实环境中,这样不仅能解决以上提及的问题,让信息管理更准则。
1.3研究内容
该在线考试系统的开发和设计根据学生的实际情况出发,对系统的需求进行了详细的分析,然后进行系统的整体设计,最后通过测试使得系统设计的更加完整,可以实现系统中所有的功能,在开始编写论文之前亲自到图书馆借阅JSP书籍,MYSQL数据库书籍等编程书籍,然后针对开发的在线考试系统,去网上查找了很多别人做好的系统,参照他们的设计结果,来对自己的系统进行更加详细的系统的设计,将系统中所有的功能结果一一列举出来,然后进行需求分析,最后对所有的功能模块进行编码,最后完成系统的整体测试,实现系统的正常运行[6]。
这次编写的论文包含了6个部分的内容,具体内容如下:
第一部分绪论:文章主要从课题背景以及研究现状综合阐述了开发此系统的必要性。
第二部分相关技术:系统开发用到的各种技术都大致做出了简介。
第三部分系统分析:对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。
第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。
第五部分系统实现:进行系统主要功能模块的界面展示。
第六部分系统测试:测试系统的每一个功能是否能够正常运行,是否可以满足学生的需求。
2 系统关键技术
2.1 JSP技术
JSP(Java脚本页面)是Sun和许多参与建立的公司所提倡的动态web技术。将Java程序添加到传统的web页面HTML文件(*)。htm,*。Html)。
JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jsp这种编程语言不仅容易学习,而且还具备许多高级的特性[7]。在程序的开发过程中,使用jsp也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,jsp都能很轻松地解决,这样节省程序开发员开发设计的时间,JSP 最大的特点就是操作简单,并且具有很好的面向对象性,因此很多的系统开发设计都喜欢用jsp技术。同时,设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者也可以两种都使用,可以称为混和方式设计。
2.2 JAVA简介
JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。
JAVA相对其它语言来说,比较简单,编译起来更方便一些,安全可靠性高。不完全统计,现在全世界大约有2000多万人在使用它,JAVA既可以镶嵌使用又可以独力的使用。JAVA大致可以分成两个部分,一种部分是JAVA负责的编译,另一种是JAVA负责的运行。JAVA和C++语言很相像,但JAVA在编程时是一种以对象为导向的方式来进行编译的,使得编出来的软件可以单机使用,也可以在互联网上使用,检查出错更为方便。JAVA分布式、体系结构中立的特点也使得其存储更快,编议更简单。面向对象包括四个特点,一是封装,就是说在定义类的时候可以实现一定的功能和属性。二是抽象,属于类的一种,可以把一个具有共同属性的类封装在一个抽象里,便于简单编议。三是继承,顾名思义就是带有前者的特性。还有一个就是多态的特点,可以多种一起运用,表现了它可扩展性好[8]。
2.3 MYSQL数据库
网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从最开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,期间还是经历了许多的改革。
本次开发的在线考试系统使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的[9]。
2.4 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要学生在学生端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库[10]。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的学生端处理就解决部分问题,开发出来的程序跟学生交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
图2-1 B/S模式三层结构图
3 系统分析
3.1 可行性分析
在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足学生需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。
3.1.1 技术可行性
本在线考试系统采用JSP技术、JAVA编程语言和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2经济可行性
我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,不需要支付相应的费用,因此该项目在经济方面是完全可以实行的。
3.1.3操作可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让学生觉得不流畅。学生一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于学生来说免培训就能使用。
从上面几个部分的可行性分析得出,这次开发的在线考试系统在开发上面没有什么大问题,值得开发。
3.2 系统性能分析
(1)系统响应效率:页面响应时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。
(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合学生操作习惯。
(3)储存性高:因为在线考试系统中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。
(5)稳定性需求:开发的在线考试系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
3.3 系统功能分析
本在线考试系统主要包括二大功能模块,即管理员功能模块和学生功能模块。
(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:个人中心、学生管理、考试科目管理、考试成绩统计管理、试题管理、管理员管理、试卷管理、考试管理等功能。管理员用例图如图3-1所示。
图3-1 管理员用例图
(2)学生:个人中心、考试科目管理、考试管理等功能,学生如图3-2所示。
图3-2 学生用例图
3.4系统流程分析
3.4.1登录流程
登录模块主要满足管理员以及学生的权限登录,学生登录流程图如图3-3所示。
图3-3登录流程图
3.4.2注册流程
未有账号的学生可进入注册界面进行注册操作,学生注册流程图如图3-4所示。
图3-4 注册流程图
3.4.3添加信息流程
学生在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-5所示。
图3-5 添加信息流程图
3.4.4删除信息流程
学生可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-6所示。
图3-6删除信息流程图
4 系统设计
4.1系统概要设计
本在线考试系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要学生能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本在线考试系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3系统顺序图设计
4.3.1登录模块顺序图
登录模块主要满足了管理员以及学生的权限登录,登录模块顺序图如图4-3所示。
图4-3 登录顺序图
4.3.2添加信息模块顺序图
管理员以及学生登录后均可进行添加信息操作,添加信息模块顺序图如图4-4所示。
图4-4 添加信息顺序图
4.4数据库设计
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计[12]。
4.4.1数据库E-R图设计
本在线考试系统采用的是MYSQL数据库,数据存储快,因为在线考试系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,系统的E-R图如下图所示:
1、学生信息实体图如图4-5所示:
图4-5 学生信息实体图
2、考试记录信息实体图如图4-6所示:
图4-6 考试记录信息实体图
3、错题本信息实体图如图4-7所示:
图4-7 错题本信息实体图
4.4.2数据库表设计
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表名:kaoshichengjitongji
功能:考试成绩统计
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
|
主键 |
主键 |
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_TIMESTAMP |
kemubianhao |
varchar |
200 |
科目编号 |
|
|
kaoshimingcheng |
varchar |
200 |
考试名称 |
|
|
zuigaofen |
varchar |
200 |
最高分 |
|
|
zuidifen |
varchar |
200 |
最低分 |
|
|
pingjunfen |
varchar |
200 |
平均分 |
|
|
表名:kaoshikemu
功能:考试科目
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
|
主键 |
主键 |
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_TIMESTAMP |
kemubianhao |
bigint |
|
科目编号 |
|
|
kaoshimingcheng |
bigint |
|
考试名称 |
|
|
kaoshishijian |
varchar |
200 |
考试时间 |
|
|
表名:xuesheng
功能:学生
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
|
主键 |
主键 |
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_TIMESTAMP |
kaoshengbianhao |
varchar |
200 |
考生编号 |
|
|
mima |
varchar |
200 |
密码 |
|
|
kaoshengxingming |
longtext |
4294967295 |
考生姓名 |
|
|
xingbie |
varchar |
200 |
性别 |
|
|
chushengriqi |
varchar |
200 |
出生日期 |
|
|
lianxidianhua |
varchar |
200 |
联系电话 |
|
|
shenfenzheng |
varchar |
200 |
身份证 |
|
|
youxiang |
varchar |
200 |
邮箱 |
|
|
表名:config
功能:配置文件
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
|
主键 |
主键 |
|
name |
varchar |
100 |
配置参数名称 |
|
|
value |
varchar |
100 |
配置参数值 |
|
|
第5章 系统详细设计
5.1管理员功能模块
管理员登录,通过填写注册时输入的用户名、密码、角色进行登录,如图5-1所示。
图5-1管理员登录界面图
管理员登录进入在线考试系统可以查看个人中心、学生管理、考试科目管理、考试成绩统计管理、试题管理、管理员管理、试卷管理、考试管理等信息。
学生管理,在学生管理页面中可以通过填写考生编号、密码、考生姓名、性别、出生日期、联系电话、身份证、邮箱等内容进行修改、删除,如图5-2所示。还可以根据需要对考试科目管理进行详情,修改或删除等详细操作,如图5-3所示。
图5-2学生管理界面图
图5-3考试科目管理界面图
试题管理,在试题管理页面中可以填写试卷、试题、类型、答案、分数等信息,并可根据需要对已有试题管理进行修改或删除等操作,如图5-4所示。
图5-4试题管理界面图
管理员管理,在管理员管理页面中可以填写用户名、密码、角色等信息,并可根据需要对已有管理员管理进行修改或删除等详细操作,如图5-5所示。
图5-5管理员管理界面图
试卷管理,在试卷管理页面中可以查看试卷名称、考试时长、试卷状态等内容,并且根据需要对已有试卷管理进行详情,修改或删除等详细操作,如图5-6所示。
图5-6试卷管理界面图
考试成绩统计管理,在考试成绩统计管理页面中可以查看科目编号、考试名称、最高分、最低分、平均分等内容,并且根据需要对已有考试成绩统计管理进行详情,修改或删除等详细操作,如图5-7所示。
图5-7考试成绩统计管理界面图
错题本,在错题本页面中可以查看用户ID、试卷、试题、分值、正确答案、考生答案、试题分析、考试时间等内容,并且根据需要对已有错题本进行详情,修改或删除等详细操作,如图5-8所示。
图5-8错题本界面图
5.2学生功能模块
学生登录进入在线考试系统可以查看个人中心、考试科目管理、考试管理等内容。
注册,在注册页面中通过填写考生编号、考生姓名、联系电话、身份证、邮箱等信息进行修改、删除如图5-9所示。
图5-9注册界面图
考试科目管理,在考试科目管理页面中可以查看科目编号、考试名称、考试时间等信息内容,并且根据需要对已有考试科目管理进行修改或删除等其他详细操作,如图5-10所示。
图5-10考试科目管理界面图
试卷列表管理,在试卷列表管理页面中通过填写试卷、考试时间等内容进行修改、删除,如图5-11所示。
图5-11试卷列表管理界面图
考试记录管理,在考试记录管理页面中通过填写用户、试卷、试题名称、分值、正确答案、考生答案、考生分值、考试时间等内容进行修改、删除,如图5-12所示。
图5-12考试记录管理界面图
6 系统测试
一个系统设计好后,就会进入测试阶段,测试的目标是检验设计好的网站是否可以正常无误的运行,尽可能的发现网站的问题,已使后期网站投入使用后网站尽少出错[12]。
6.1 测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会发现一个从来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段[13]。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。因此就应该对系统进行测试,在一开始就发现系统中存在的问题,就能保证以后系统能够正常稳定的运行。在测试系统中,开发人员应该站在学生的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,学生界面和学生需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
6.2 测试目的
测试的目的在于要对系统的稳定和可操作性能进行对照检查。对于软件的开发利用最终的目的在最后的测试和试用,这是一个不可缺少的重要环节。对于软件开发者而言,在对每一个单独的功能进行编排时候,都要有单独的测试,并通过测试阶段才可以研发多个功能性软件,这样既缩短了研发时间,也可以在的单个的早期测试中发现问题,以免融合后的软件,在查找问题时就很难快速解决或者急速定位问题。
在线考试系统开发设计完成后,需要对其进行系统测试,测试的主要目的就是发现并找出系统中存在的问题,并及时的进行解决,确保系统可以正常稳定的运行下去,在进行系统测试的时候,在一定要非常的认真、仔细,切记不能粗心,不能放过一个漏洞,测试时候一定不要着急,要按照之前指定好的测试步骤一步一步进行,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样既可以节省时间而且也能确保测试的准确性,如果采用人工测试的方法就不会这么的方便,由于人工测试有很多不确定的因素,在测试过程中很可能会出现一些问题,用机器测试就不会出现任何的问题,而且机器不会疲惫会一直二等工作下去。在测试的时候一定要非常专注,时刻关注着测试的结果,一但发现异常及时进行修改,最后,测试完之后的文档应该保存下来,方便以后测试时用到。系统测试的方法有很多,对于本在线考试系统的测试,我们使用了测试用得最多的黑盒测试方法来对该系统进行测试。
6.3测试方案
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试[14]。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
(1)模块测试
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
(2)集成测试:
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
软件耗费较少。
可以提前发现端口的错误。
更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
(3)验收测试:
终于到了结尾性的工作了。就是为了给学生看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。
其结果是分别是:
有一定的差异在学生的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与学生的需求存在一定的关联。
1、登录测试
测试点:登录
测试的目标:输入账号密码以及验证码后系统会自动进行验证是否正确。
所用的环境:Windows10和IE浏览器。
输入信息:用户名、密码。
步骤:
(1)首先我们打来浏览器,进入该系统的登录界面。
(2)在进入页面登录部分以后可以进行对用户名、密码进行测试,具体测试输入情况如下表6.1所示。
表6.1 登录测试
情况 |
用户名输入 |
密码输入 |
期望结果 |
(1) |
15546219225 |
1244566 |
提示“用户名或者密码错误,或账号未经审核” |
(2) |
aaaaa |
123456 |
提示“用户名或密码错误,或者账号未经审核” |
(3) |
15546219225 |
hangguowei |
登陆成功 |
2、考试科目测试:
表6.2 考试科目测试用例表
用例编号 |
UC-TEST-003 |
测试名称 |
考试科目 |
|
前提条件 |
考试科目 |
|||
步骤 |
操作描述 |
数据 |
期望结果 |
|
1 |
点击考试科目查看详情按钮 |
无 |
跳转到考试科目详情 |
|
2 |
点击添加按钮 |
无 |
跳转到添加页面 |
|
3 |
选中添加后按钮 |
无 |
跳转到考试科目页面 |
|
测试说明 |
学生未登录时到步骤3跳转到登录页面 |
|||
测试结果 |
成功 |
测试人 |
|
6.4系统分析
本在线考试系统设计要求基本都可以达到,此系统具有完整的软件功能,良好的学生界面,能够正确的处理错误信息,而且能够准确的提出错误的种类。但是系统测试时也出现了一些系统的不足和缺陷,所以在今后的日子里我会对其视觉上的不足作出修改,其次系统的代码和数据库出现了非常多的冗余现象,都是因为对编程技术的应用不够熟练,在日后我会加强自己的自身学习和能力,减少这样的冗余现象。
经过对上述的测试结果分析,本在线考试系统无论是在技术方面,还是操作方面,还是经济方面都是完全可以实行的,并且经过测试,该系统操作简单,所有的功能都可以实现,因此该系统可以满足学生的使用需求,值得被推广。
总体说来,软件通过测试。
7 结论
本文研究了在线考试系统的设计与实现,在文章开端首先对个研究背景、研究现状和研究内容作了简单的介绍,然后通过系统分析,引申出本系统研究的主要内容。
通过对JSP技术和MYSQL数据库的简介,从硬件和软件两反面说明了在线考试系统的设计与实现的可行性,本文结论及研究成果如下:实现了JSP与MYSQL相结合构建的在线考试系统,我感触到学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它,一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。要想吸引更多的学生,系统的界面必须要美观、有特色、友好,功能要健全。
由于在此之前对于Java知识并不了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过我不断的查阅相关的资料,以及向老师同学请教,最后出现的所有的问题都得到了解决,通过这次的系统开发,我学到了很多的知识,也明白了自己在哪些方面有不足的地方,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。
通过这次在线考试系统的开发,让我学到了更多的知识,同时通过这次系统的设计也让我明白了自己在哪方面有不足,以后加以学习争取可以开发住更多有用的适用的系统软件,本次系统的设计提高了我的编程水平,为了我今后系统的开发打下了结实的基础。
参考文献
[1] 王玉英. 基于JSP的MySQL数据库访问技术[J]. 现代计算机:专业版, 2018, 19(14):63-66
[2] 陈Maydene Fisher, Jon Ellis, Jonathan Bruce著. JDBC API Tutorial and Reference, Third Edition. 11 June, 2018
[3] Jason Brittain Ian F.Darwin[美]. Tomcat权威指南. 北京:中国电力出版社,2018.
[4] 石正喜. MySQL数据库实用教程. 北京:北京师范大学出版社 2019
[5] 张海潘.软件工程理论[M] .北京:清华大学出版社,2017.
[6] Patrick O’Neil Elizabeth O’Neil[英]等.数据库-原理、编程与性能(第二版 影印版)[M].北京:高教育出版社,2017.
[7] 王雨竹. MySQL入门经典. 北京:机械工业出版社 2017
[8] 邓子云.JSP网络编程从基础到实践[M].北京:电子工业出版社,2019.
[9] 陈圣国.Java信息系统设计与开发实例[M].北京:机械工业出版社,2019.
[10] Todd Cook. JSP从入门到精通[W].北京:电子工业出版社,2019.
[11] Bruce Eckel. Thinking in java(English Edition). 北京:机械工业出版社,2019
[12] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2018, 26(4):270-283.
[13] Vegh A. MySQL Database Server[M]. Web Development with the Mac®. Wiley Publishing, Inc., 2019,179-194
[14] Rasoolzadegan A, Barforoush A A. Reliable yet flexible software through formal model transformation (rule definition)[J]. Knowledge & Information Systems, 2019, 40(1):79-126
谢辞
本次毕业设计圆满的结束了,通过这次毕业设计我学到了很多的知识,也提高了我软件开发的能力,在系统开发设计的过程中,出现了很多的问题,但是通过老师和同学们的帮助,最后所有的问题都得到了解决,因此我要感谢在此过程中对我帮助的老师和同学们,感谢指导老师帮助我选课题,给我做详细的讲解,给我提供设计所需要的各种设备,也经常询问我进度与成果,再有难点的时候给我解决思路,帮助我顺利完成。没有他的指导,也不会有我今天所展现出的成果。
首先我要感谢我的指导老师,指导老师在教学任务繁忙的情况下,抽出时间帮助我纠正我在设计当中出现的问题,并耐性地为我的论文作校正,是他的定期检查和指导使得我们的毕业设计高质量完成。他在我整个课题开发和设计的过程中,为程序的设计、框架的设计、代码的撰写方面以及论文框架的设计提供了很多宝贵的意见,并且为我推荐了许多有用的资料和文献,他的指导和建议使我受益匪浅,有了指导老师的辅导和指点,我论文才能够顺利完成。老师的认真负责的工作态度和治学严谨之道使我们这些即将踏入社会的毕业生受益匪浅。
然后要感谢我的同学们,感谢大家对我这次毕业设计的帮助,也感谢大家在大学生活中对我的陪伴,使得我的大学生活过的很快乐。
另外,我还要感谢父母,感谢一直以来对我的支持,让我能够顺利的完成我的学业,没有你们也就没有我的今天,感谢你们无私的付出,未来我一定会报答你们的。
最后,感谢在座的所有参加我论文答辩的老师们,感谢大家的聆听,你们辛苦了。