网上考试系统设计与实现.docx

上传人:b****5 文档编号:29824896 上传时间:2023-07-27 格式:DOCX 页数:32 大小:142.72KB
下载 相关 举报
网上考试系统设计与实现.docx_第1页
第1页 / 共32页
网上考试系统设计与实现.docx_第2页
第2页 / 共32页
网上考试系统设计与实现.docx_第3页
第3页 / 共32页
网上考试系统设计与实现.docx_第4页
第4页 / 共32页
网上考试系统设计与实现.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

网上考试系统设计与实现.docx

《网上考试系统设计与实现.docx》由会员分享,可在线阅读,更多相关《网上考试系统设计与实现.docx(32页珍藏版)》请在冰豆网上搜索。

网上考试系统设计与实现.docx

网上考试系统设计与实现

TYYGROUPsystemofficeroom【TYYUA16H-TYY-TYYYUA8Q8-TYYUA162】

 

网上考试系统设计与实现

内蒙古科技大学

本科生毕业设计说明书

题目:

网上考试系统的设计与实现

学生姓名:

学号:

专业:

计算机科学与技术

班级:

计2013-3班

指导教师:

余金玲

网上考试系统的设计与实现

摘 要

现如今的生活中科技与网络和大家的生活越来越密切,而且学校的教学任务越老越繁忙,传统的考试形式,需要消耗成倍的人力物力资源,所以在如今网络如此发达的前提之下,传统考试应该慢慢的做出转型,从而解放各类资源,避免大量的资源浪费。

而在现今的如此发达的前提之下,让学生通过在线考试的方式来完成日常考试以及模拟,而且网络覆盖如此之广,不论电脑以及手机端大家都可以参加考试,极大的提升了考试的便捷性,所以通过在网络上的考试大家可以随时随地的参加考试,因此通过网络上的考试极大地提升了考试的便捷性以及随时性。

本网上考试系统采用B/S架构JAVA以及HTML代码在JDK平台进行开发以及测试,在数据存储方面该系统采用了目前比较轻便的MYSQL数据库进行的数据的管理,网页端采用HTML以及JS来实现各个功能块之间的跳转以及使用,整体系统通过SSM框架实现,是本系统更加轻便以及便于后期维护管理。

关键词:

JDK平台;B/S结构;网上考试;java语言;SSM框架

Designandimplementationofonlineexaminationsystem

Abstract

Intoday'slife,technologyandtheInternetandthelivesofpeoplearegettingcloser,andtheschoolteachingtaskismoreandmorebusy,thetraditionalformofexamination,needtoconsumethemanpowerandmaterialresources,Sonowthatthenetworkissodeveloped,Thetraditionalexaminationshouldmakethetransformationslowly,thusliberateseachkindofresources,avoidsthemassivewasteofresources.

Andintoday'sso-developedpremise,sothatstudentsthroughtheonlineexaminationofthewaytocompletethedailytestandsimulation,andthenetworkcoveragesowide,regardlessofcomputerandmobilephonecantakethetest,greatlyimprovedtheconvenienceoftheexamination,Sothroughtheexaminationonthenetwork,everyonecantaketheexamanywhere,sothroughthenetworkexamgreatlyimprovetheconvenienceandtime.

Thisonlineexaminationsystemusesb/SarchitectureJavaandHTMLcodeintheJDKPlatformfordevelopmentandtesting,Intheareaofdatastorage,thesystemusesthedatamanagementofthecurrentcomparativelylightweightMySQLdatabase,ThepageendusestheHTMLandtheJStorealizeeachfunctionblockjumpsanduses,ThewholesystemisimplementedthroughSSMframework,whichismoreportableandconvenientforlatemaintenancemanagement.

Keywords:

JDk;B/S;OnlineExams;Java;SSMFrame

摘 要

Abstract

第一章引言

选题的目的与意义

国内应用现状

可行性研究分析

系统项目开发计划

项目所需开发工具及相关技术介绍

第二章需求分析

功能描述

系统用例图

系统非功能性需求

数据库ER图

第三章系统设计

软件结构

数据库表的设计

数据库表的架构设计图表

第四章系统实现

用户登录模块

用户登录模块相关代码

管理员管理模块

学生考试模块

采用SSM框架的整合模块

SSM框架的整合

DispatcherServlet的相关配置

前端的页面框架layui

第五章系统测试

测试步骤与方法

测试结果

第六章总结与展望

参考文献

致谢

第一章引言

选题的目的与意义

在现如今的发展中,随着经济的进步网络覆盖越来越来广,基本的每个人都会有网络设备用来上网以及聊天,而且现在的学校里都以基本拥有一些机房用来上计算机基础课,所以在这个基础上,来开发一套网上考试系统是非常有必要,通过网上考试系统,在学校里可以减轻老师的负担,让老师可以不需要花费太多的时间在出卷以及审阅试卷上,而学生可以更加轻松的参加考试,不用再留着一沓厚厚的试卷,而是再需要查看过往试卷时,只需要上网就可以查看,极大地方便了老师以及学生。

国内应用现状

根据本人的了解,目前网上考试在中学中的应用并不是很广泛,只有大学在这方面有应用,所以说在网络如此便捷的今天而且现在中学覆盖如此之广的前提下,网上考试系统是十分有必要普及的。

通过此系统可以极大的便捷广大师生的日常考试生活。

可行性研究分析

软件开发首要分析的就是软件的开发是否具有可行,现将本系统开发的可行性进行详述的分析论证,主要对系统的经济、技术、法律、操作等四个方面进行分析研究。

1.网上考试系统技术可行性分析

在各个大学之中,为了减轻老师以及学生的负担,网上考试系统有着极为广泛的应用,所以在如此广泛的应用之下,这样系统开发已经非常成熟以及稳定,所以在技术方面来说,这个系统可以进行开发。

2.网上考试系统经济可行性分析

网上考试只在学校中用来作为学生考试检测只用,只需要花费少量的人力来维护即可,所以在经济方面十分的可行。

3.网上考试系统法律可行性分析

网上考试系统的设计是为了帮助学校简化考试流程,解放老师以及学生的负担所用,最终系统并不用于商业方面,且本系统在开发过程完全自主进行的没有构成任何侵权以及违法行为,所以在法律方面该系统是可行的。

不同角度分析系统操作的可行性

该系统通过网上调研以及学校之间的访问了解,以及结合自己的理解与实践来设计的各种系统交互,各个功能模块之间操作方便易用,在安全方面的设计比较全面,竟可能保护系统的安全以及稳定,系统框架模式完成开发,在后期维护以及管理方面十分便捷易懂。

系统项目开发计划

1.项目开发所需的系统资源

本系统的开发以及运行需要软件以及硬件系统的支持,所以选择好的软硬件环境有助于软件的开发以及运行。

1)系统开发和运行所需软件

操作系统:

Windows7。

服务器操作系统:

WindowsServer2003。

网站发布服务器:

TOMCAT。

浏览器:

GoogleChrome。

数据库:

MYSQL数据库。

2)硬件资源

CPU:

主频1G或以上的CPU。

内存:

最低配置1GB,建议使用2GB以上内存。

硬盘空间:

需要10G以上的硬盘空间。

2.成本预算

该系统用于学校的日常考试所用,只需少量的人工维护即可,所以成本方面不予考虑。

项目所需开发工具及相关技术介绍

本系统所用到的开发工具及主要的技术如下。

1.Eclipse

Eclipse软件是一款功能强大的JAVA开发,Eclipse集成了大量的插件JAVA程序开发提供了极大地便捷。

2.Maven

Maven是一款用来构建JAVA项目的软件,它可以帮助我们便捷的管理项目,下载依赖包,以及Maven支持热部署和热编译,当我们修改代码时不需要重启服务器便可以被web服务器更新。

3.Layui

Layui是一款前段UI框架,他的体积较小,组件却比较丰富,是为了服务端程序员量身定做的一款前端UI框架,并不需要了解太多的前端工具以及配置,便可轻松的取得所需的元素以及交互。

4.Spring

Spring是一个用来简化JAVA开发的开源框架,Spring框架可以协助我们管理对象之间的依赖关系便于以后的代码维护,而且Spring还可以集成其他的框架,可以使其他的框架使用起来更加简洁方便。

5.Springmvc

Springmvc是一款mvc框架,使用springmvc可以简化基于mvc架构的web程序的开发。

6.MyBatis

Mybatis是一款持久层的开源框架,基于jdbc为底层开发的一款轻量级框架,可以更加便捷的管理数据交互。

7.Ajax

Ajax的出现是为了改善用户的体验,通过发送异步请求来更新部分页面数据,这个过程并不打断用户的操作,极大的提升了用户的体验感。

8.JSON

JSON是一种轻量级的数据交换格式,相较于xml,JSON文档的体积更小且解析速度更快。

9.Tomcat服务器

Tomcat服务器是一种轻量级的开源服务器,在用户量小的情景下被大家普遍的使用。

10.HTML

HTML是一种浏览器可解析的超文本标记语言。

11.JavaScript

JavaScript是一种网络脚本语言,常用于web场景下,用来为网页添加各种动态效果,可以给用户带来更好的体验。

第二章需求分析

功能描述

网上考试系统根据三类用户分为三大模块,管理员可以对教师、学生的信息进行管理,对试卷信息进行管理,对试题信息进行管理,对科目信息管理以及修改密码等功能,

教师模块可以对试题、试卷信息管理以及修改密码等功能,学生模块可以参加考试、查看过往成绩以及修改密码等功能。

1.网上考试系统管理功能

系统管理员输入账号密码登入后台管理界面,管理员可以在此界面对各模块进行操作,如增加试题信息,管理员点击增加试题按钮之后,页面跳转到增加页面,管理员输入相关试题信息保存即可。

2.用户个人修改功能

各类型用户登录系统界面之后,在系统右上角点击之后弹出隐藏区域,用户该区域的修改密码按钮即可跳转到修改密码界面,在此界面用户输入新密码之后提交即可完成修改密码操作。

3.各类信息基本功能

用户通过系统页面点击各类模块后,右侧窗口便会将各个模块所能展示的信息展示出来,之后用户可以对个各模块展示的信息进行一系列必要的操作,例如:

学生点击试卷之后,在页面展示出各试卷信息之后,学生可以选择其中的试卷参加考试。

4.教师组卷功能

教师登录系统之后,在左侧导航栏选择增加试卷信息之后,右侧显示对应的界面,教师输入试卷名之后选择相应科目,之后将要加入试卷的题目点击添加,之后确认所存信息无误之后,点击提交即可。

5.学生答卷功能

学生登录系统之后,在左侧导航栏选择查看试卷信息之后右侧窗口显示出各试卷列表,学生选择其中一张试卷点击参加考试之后,系统从数据库取出相应题目信息之后,在新的页面将信息展示之后,学生再该页面进行作答,答完之后点击提交即可。

系统用例图

绘制系统用例图将系统实体类表示出来,可以更加明了的体现各系统件关系以及各系统结构

网上考试系统后台管理系统用例图如图所示。

图后台管理系统用例图

教师管理用例图如图所示。

图教师管理用例图

学生管理用例图如图所示。

图学生用例图

管理员业务流程活动图如图。

图管理员业务主线活动图

教师业务活动图如图如图。

图教师业务主线活动图

学生业务活动图如图。

图学生业务主线活动图

系统非功能性需求

该考试系统操作方式有着简单明了的特效,对于使用者并没有太高的要求,使用者可以快速掌握并且使用该系统。

实时性:

本考试系统可以实时的更新题库以及考试信息

代码的可读性:

程序的代码逻辑明确,思路清晰,有必要的需减少注释。

可维护性:

基于框架的设计代码十分简化便于后期的维护更新。

低耦合性:

基于框架的开发模式极大降低了代码之间的耦合性。

数据库ER图

该考试系统分为管理员,学生,教师,试卷,课程,题目,答案7个实体类。

该系统整体E_R关系如下E_R图所示。

图总体ER图

管理员实体包含ID,账号,密码,姓名,管理员E_R图如下图所示。

图管理员实体

教师实体包含ID,用户名,密码,姓名,学历,所教课程ID,教师E_R图如下图所示。

图教师实体

学生实体包含ID,用户名,密码,姓名,性别,入学日期,学生E_R图如下图所示。

图学生实体

试卷实体包含ID,试卷名称,课程ID,创建时间,题目ID信息,试卷实体E_R图如下图所示。

图试卷实体

题目信息实体类包含ID,题目内容,A,B,C,D,答案,课程ID,题目信息E_R图如下图所示。

图题目信息实体

课程实体类包含ID,课程名,课程E_R图如下图所示。

图课程实体

试卷答复实体类包含ID,学生ID,试卷ID,分数,试卷名称,考试时间,试卷答复E_R图如下图所示。

图试卷答复实体

第三章系统设计

软件结构

网上考试系统总体分为三个模块,管理员模块,教师模块,学生模块以及下属的一些小模块,具体结构如下图所示。

 

 

图系统结构图

项目类的架构设计

1.项目名称为网上考试,架构设计如图,所示。

图目录结构

图目录结构(续)

2.工程中实体类说明如表所示。

表网上考试系统中实体类的说明

类名称

说明

Admin

该类为管理员及其属性类

Teacher

该类为教师及其属性类

Student

该类为学生及其属性类

Paper

该类为试卷及其属性类

Title

该类为题目及其属性类

Subject

该类为课程及其属性类

Result

该类为试卷答复及其属性类

3.项目中主要文件夹说明如表所示。

表网上考试系统工程的资源文件夹说明

文件夹名称

说明

Web-INF

存放配置文件

image

存放程序中使用的图片资源

css

存放系统页面样式文件

admin

存放管理员管理页面

Scripts

存放js脚本文件

数据库表的设计

通过对系统的分析研究,设计完系统的ER图后,接下来就是将系统ER图转换成数据库中的表,以便存储数据。

系统ER图转换成数据库表如下所示。

1.admin(管理员信息表)

admin表用于存储系统管理员信息数据,该表结构如表所示。

表管理员表admin

字段名

数据类型

长度

主键否

描述

Id

Int

10

管理员编号

username

varchar

20

用户名

Password

varchar

20

登录密码

Name

varchar

20

姓名

2.teacher(教师信息表)

teacher表用来存储教师信息数据,该表结构如表所示。

表教师表teacher

字段名

数据类型

长度

主键否

描述

id

int

10

教师编号

username

varchar

20

用户名

password

varchar

20

登录密码

name

varchar

20

姓名

education

varchar

20

学历

subjectid

int

10

课程ID

3.student(学生表)

student表用于存储学生信息数据,该表结构如表所示。

表学生表student

字段名

数据类型

长度

主键否

描述

id

int

10

学生编号

username

varchar

20

用户名

password

varchar

20

登录密码

name

varchar

20

姓名

sex

varchar

10

性别

Admissiondate

timestamp

入学日期

4.paper(试卷信息表)

paper表用于存储试卷信息数据,该表结构如表所示。

表试卷信息表paper

字段名

数据类型

长度

主键否

描述

id

int

10

试卷编号

paperName

varchar

20

试卷名称

subjectid

int

10

课程ID

titleids

varchar

50

题目ID信息

5.title(题目信息表)

title表存储题目信息数据,该表结构如表所示。

表题目信息表title

字段名

数据类型

长度

主键否

描述

id

int

10

题目编号

content

varchar

100

题目信息

A

varchar

100

A选项信息

B

varchar

100

B选项信息

C

varchar

100

C选项信息

D

varchar

100

D选项信息

answer

varchar

10

答案

subid

int

10

课程ID

6.subject(课程信息表)

subject表用来存储课程信息数据,表结构如表所示。

表课程信息表subject

字段名

数据类型

长度

主键否

描述

id

int

10

课程编号

subjectname

varchar

20

课程名称

7.result(试卷答复信息表)

result表用来存储试卷答复信息数据,表结构如表所示。

表卷答复信息表result

字段名

数据类型

长度

主键否

描述

id

int

10

试卷答复编号

stuid

int

10

学生ID

paperid

Int

10

试卷ID

score

int

10

分数

testdate

timestamp

考试时间

paperName

varchar

20

试卷名称

数据库表的架构设计图表

网上考试系统各个表结构以及之间的关系如下图所示

图数据库表的结构图

第四章系统实现

用户登录模块

用户登录界面

首先用户在浏览器点击回车键之后,页面跳转到登录界面。

在登录界面中用户需要输入账号,密码,验证码,以及选择角色之后即可点击登录,提交登陆之后系统会调用后台数据的相关数据信息与用户输入的账号密码进行比对,如果用户输入的账号密码与数据库中所保存的相同则登录成功并且跳转到相关的主界面,如果用户输入的账号密码与数据库的数据匹配失败,则登录页面会展示相关的提示信息提醒用户进行修改后再次登录。

登录页面如图所示。

图用户登录页面

修改密码功能:

用户登录到主界面之后,点击右上角的用户名之后弹出下拉框选择修改密码按钮,页面跳转到修改密码界面,在该界面用户输入新密码之后点击保存,如果用户俩次输入的新密码不同,页面会提示用户俩次输入的密码不匹配,请重新输入密码,用户重新输入之后点击提交即可。

修改密码页面如图所示。

图用户修改密码页面

用户登录的设计与实现

用户分为三类:

管理员,教师以及学生,管理员可以管理课程信息,试卷信息,试题信息,教师信息以及学生信息等一系列操作,教师可以管理试卷信息,试题信息等一系列操作,学生可以查看过往考试信息以及参加考试。

这些操作都需要用户登录之后才可以进行操作,用户输入相关的登录信息之后点击登录,系统将提交的信息与后端数据库中的数据进行比对,匹配成功则成功登录且进入到相关的主界面,匹配失败则登录页面提示用户登录失败,修改相关信息再次提交即可。

1.用户登录模块处理流程

1)用户打开登录页面。

2)按照提示的要求输入账号和密码并提交。

3)系统后台对输入的数据进行用户数据查询。

4)若与后台查询的数据不匹配则登录失败且页面提示相关信息给用户。

5)若与后台查询到的

6)模块结束。

用户登录模块流程图如图所示。

 

是否

 

图用户登录流程图

用户登录模块相关代码

1.service层相关处理代码

publicObjectlogin(Stringname,Stringpassword,Stringrole)throwsNameException,PasswordException{

if(name==null||().isEmpty()){

thrownewNameException("用户名不能为空");

}

if(password==null||().isEmpty()){

thrownewPasswordException("密码不能为空");

}

if(("管理员").equals(role)){

Admina=(name);

if(a==null){

thrownewNameException("用户不存在");

}

if().equals(password)){

returna;

}else{

thrownewPasswordException("密码错误");

}

}

if(("教师").equals(role)){

Teachert=(name);

if(t==null){

thrownewNameException("用户不存在");

}

if().equals(password)){

returnt;

}else{

thrownewPasswordException("密码错误");

}

}

if(("学生").equals(role)){

Students=(name);

if(s==null){

thrownewNameException("用户不存在");

}

if().equals(password)){

returns;

}else{

thrownewPasswordException("密码错误");

}

}

returnnull;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1