在线考试系统设计与实现
2023-04-17 15:03:52
论文总字数:31017字
摘 要
现代化技术的不断发展,网络硬件技术从以前大砖头发展到现在的小纸片,这无疑要给软件带来了新的挑战,在网络互联的今天,互联网应用在人们政治、经济、生活等各个方面发挥着重要的作用,而教育方面却没有得到充分的发挥,为了得到更加方便的体验,也为了减少不必要的时间金钱的浪费,因此我开发了在线考试系统方便学生及教师的完成学生考试及教师教学任务。我主要完成的是在线考试java web学生考试及后台管理系统:主要包括用户管理、试题管理、成绩管理、个人信息管理、批阅试卷、在线考试等功能,本文主要讲解系统的分析、设计及开发的整体过程,运用ssh框架、b/s结构进行系统的搭建及开发,对在设计开发过程中涉及到的关键算法及重要作业流程作了具体分析和介绍,并对各个模块的设计思想及设计过程作了详细阐述。并详细介绍了在线考试系统主要业务的实现方式。对于不同用户角色,本文将分别关于功能结构进行介绍,并对其逻辑和代码实现进行解释和说明。
关键词:在线考试;mysql数据库;Jsp;SSH
Abstract
The continuous development of modern technology, the network hardware technology from the previous big brick development to the present small pieces of paper, it brought new challenges to the software, in today"s network interconnection, Internet applications in many aspects, such as politics, economy, life play an important role, and education has not been fully made use of, in order to get more convenient experience, also in order to reduce unnecessary waste of time and money, so I developed a complete online examination system for students and teachers students examinations and teachers" teaching task. I mainly complete online examination Java web students and background management system: mainly including user management, test question management, performance management, personal information management, marking the examination paper, online examination, etc, this paper mainly describes the analysis, design and development of the overall process of using SSH framework, b/s structure of system construction and development, to involve in the process of design and development of key algorithms and important process has made the detailed analysis and introduction, and the design idea and design process of each module in detail in this paper. And the main business of the online examination system are introduced in detail. For different user roles, this article will introduce respectively about the functional structure, and to explain and illustrate its logic and code implementation.
Key words: online examination; The mysql database;The Jsp; SSH
目 录
1 引 言 7
1.1 课题的背景 7
1.2 课题的目的及意义 7
1.3 本文的内容安排 7
2 开发工具及相关技术 9
2.1 系统的B/S结构简述 9
2.2 开发环境及开发工具 9
2.2.1 数据库、服务器介绍 9
2.2.2 MyEclipse 9
2.2.3 负载均衡器介绍 10
2.3 相关技术 10
2.3.1 CSS DIV 10
2.3.2 JavaScript 和jQuery 10
2.3.3 Spring框架 10
2.3.4 Structs2框架 11
2.3.5 Hibernate3框架 11
2.3.6 ssh框架整合 12
2.4 本章小结 12
3 系统分析 13
3.1 系统需求分析 13
3.1.1 系统功能的需求 13
3.1.2 系统性能的需求 13
3.2 系统可行性分析 13
3.2.1 经济可行性分析 14
3.2.2 技术可行性分析 14
3.3 统流程分析 14
3.3.1 业务流程分析 14
3.3.2 数据流程分析 15
3.4 本章小结 16
4 系统设计 17
4.1 系统总体规划 17
4.2 数据库设计 18
4.2.1 概念结构设计 18
4.2.2 逻辑结构设计 20
4.3 本章小结 27
5 系统实施 28
5.1 ssh框架搭建与数据库链接 28
5.2 系统的学生登录页面 28
5.3 学生主页面 30
5.3.1 在线考试 31
5.3.2 修改密码 36
5.3.3 成绩查询 37
5.4 教师登陆界面页面 38
5.4.1 题库管理 38
5.4.2 考生成绩查询及试卷批阅 39
5.5 管理员登陆面 39
5.5.1 用户信息管理 39
5.5.2 试题管理 40
5.6 本章小结 40
6 系统测试 41
6.1 测试的目标与方法 41
6.2 测试用例 41
6.2.1 系统登录测试 41
6.2.2 在线考试模块测试 42
6.2.3 试题管理模块测试 42
6.2.4 试卷批阅模块测试 43
6.3 本章小结 43
7 结束语 44
1 引 言
1.1 课题的背景
今几年来,Internet的发展可谓是铺天盖地,并且它存在于我们生活的每个角落,手机性能的不断强大、电脑体积不断缩小及无线网络的覆盖,通信速度也已经不是以前的慢吞吞的蜗牛,在这样的发展前景下,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务,而且远程教育也已经崛起,在国外众多大学都开设了远程教育,通过计算机网络互连实现教学培训,国内的远程教育软件开发正处于起步的上升阶段,伴随着计算机硬件的迅速发展,这就要求有更好、更完善的软件系统来支持远程教育的发展,这也就给了开发人员一个更高的挑战。
远程教育包括很多方面,例如远程授课、远程答疑和在线考试等等!其中最重要的一方面就是在线考试了,虽然远程教育在我国已经有了初步发展,远程授课也已经随处可见,但是考试方面还处在传统的方式上,这主要包括教师出题并要分析难易程度适不适合学生作答,出题后还要统一的打印,并安排考试、设置考场、监考人员监考、收卷、统一给教师批阅得出成绩,考试类型的不断增加、考试要求的不断提高、考试次数的不断增加,教师的工作量将会超出教师的能力范围,并且在这一系列考试的过程中,不仅耗费人力、物力而且中间环节是非常繁琐和非常容易出错的事情,可以这么说传统的考试方式已经不能满足不了现代化考试的发展要求。随着计算机网络应用的迅猛发展及不断的扩大,虚拟化时代已经迈进的千家万户,这就要求软件开发人员耗费脑力来开发考试系统来弥补传统考试带来的不足。
1.2 课题的目的及意义
在线考试不仅是现在现阶段研究开发的一个热点,而且还会是以后即将来发展的大势。一个完备的在线考试系统不仅可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高,而且也能帮助教师对学生学习情况进行了解。在线考试是建立在国际互联网上的网络系统,只需要电脑上有浏览器连接网络就能完成考试任务,使考试不受地域、时间的的局限。在这个问题在线考试系统随机根据抽取的比例自动生成,试卷的难易程度,考试节省时间提交,阅卷可以自动在网络上。只要这个问题可以是足以实现考试的自动化。这样一来,老师要做的就是精心设计好的考题,考试维护,而不是花费精力到组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为这一反战趋势,我设计了这一简单的在线考试系统,做为我的一个初步的探索,为将来的各类在线考软件提供一点贡献,也是为了能把老师从繁琐重复无聊的工作中解脱出来。
1.3 本文的内容安排
本篇论文共分五个章节来讲述在线考试系统的开发全过程。
第一章,主要介绍系统开发的背景、意义、目的、思想和技术路线。
- ,主要介绍了本系统所用到的关键技术工具、编程环境介绍环境及面向对象的分析与设计, 其中包括对myeclipse、jboss服务器、负载均衡器nginx、CSS DIV网页布局、B/S结构等的简单介绍,为下一步的设计的设计奠定基础。
第三章,主要对系统进行需求分析并进行总体设计。需求分析阶段通过分析系统的功能模块的划分以及角色的划分,为系统的总体设计提供依据。总体设计阶段通过对数据库、实体类的设计,以及各个模块用例图的描述,形成了开发的整体思路。
第四章,主要介绍了主要模块的设计与实现及运行测试,并给出关键源代码和最终的效果图。 第五章,主要是对这次毕业设计的总结和对后续工作的展望。
2 开发工具及相关技术
东南大学成贤学院在线考试系统是基于B/S模式设计的,它选择的前台开发语言为Jsp,后台数据库管理工具为mysql,开发工具为Myeclipse,其Web服务器为jboss4版本,负载均衡器nginx。
2.1 系统的B/S结构简述
B/S结构(Browser/Server,浏览器/服务器模式)是web中最流行的网络结构模式,这种模式统一了客户端为浏览器,将核心功能开发集中在了服务器上,这使得系统易于维护和使用。
B/S结构的优点:开发简单,共享性强;维护简单方便,只需要改变网页,即可实现所有用户的同步更新;具有分布性特点,可以随时随地进行查询、浏览等业务处理;业务扩展简单方便,通过增加网页即可增加服务器功能;
2.2 开发环境及开发工具
主要用到的工具如下:
2.2.1 数据库、服务器介绍
Mysql作为本系统的数据库主要原因是由于系统数据量和负载量都比较大,再从数据库的性能、大小及经济上考虑mysql作为本系统的数据库。
web服务器选择jboss公司的jboss服务器,JBoss是免费的,可以在任何商业应用中免费使用,而不用支付费用,开放源代码J2EE的实现,通过LGPL许可证进行发布,JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。
2.2.2 MyEclipse
本系统主要采用JAVA语言进行开发,所采用的开发环境为MyEclipse ,MyEclipse 是功能非常强大的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能,而且是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
2.2.3 负载均衡器介绍
由于系统的访问量会在某个时候或一段时间急剧上升所以除了必要jboss服务器外,还要一个负责减压的负载均衡器Nginx,Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强。
2.3 相关技术
2.3.1 CSS DIV
DIV CSS是WEB网站网页比较成熟的布局设计标准,实现网页内容与表现相分离,与传统中通过表格(table)布局定位的方式不同,传统的表格(Table)布局定位方式不能实现的效果,DIV CSS能很好的解决。
2.3.2 JavaScript 和jQuery
JavaScript一种动态类型、基于原型、弱类型的脚本语言,它能让你的网页更加活泼、生动,也是目前网页中设计中最方便、最容易学又语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来增加HTML网页的动态功能,你可以利用JavaScript轻易的做出你想要的功能动态效果,还可以显示出浏览器停留的时间。
jQuery是一个轻量级Javascript框架,它被压缩后只有21k,web项目中导入它不会给项目带来负担,它还兼容CSS3及各种浏览器如IE、360、火狐等,而在网站开发来说设计人员用的最多的就是jQuery提供的ajax异步提交功能及一些网页的动态效果。jQuery的优势在于jQuery的文档很全,开发人员很方便的查到想要的功能说明,除了这些之外jQuery与传统的JavaScript相比还有独特的优势,这在于jQuery可以实现多线程,即点击一个按钮可以触发多个事件,而JavaScript只是单线程。
2.3.3 Spring框架
spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。
1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory接口,通过获取xml配置文件数据,组成应用对象及对象间的依赖关系。
spring中有三种注入方式,一种是set注入,一种是接口注入,另一种是构造方法注入。
2)AOP面向切面编程
AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。 spring中面向切面变成的实现有两种方式,一种是动态代理,一种是CGLIB,动态代理必须要提供接口,而CGLIB实现是有继承。
3)框架优点
轻量级的容器框架没有侵入性
剩余内容已隐藏,请支付后下载全文,论文总字数:31017字