基于ssh框架的在线考试系统.docx
- 文档编号:8576893
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:43
- 大小:1,005.49KB
基于ssh框架的在线考试系统.docx
《基于ssh框架的在线考试系统.docx》由会员分享,可在线阅读,更多相关《基于ssh框架的在线考试系统.docx(43页珍藏版)》请在冰豆网上搜索。
基于ssh框架的在线考试系统
基于SSH框架的在线考试系统
数学与计算机科学学院计算机科学与技术专业
指导老师:
摘要:
在线考试系统是目前市场占有率较高,应用广泛的远程网络学习考试软件,适合政府、行业及企业的各专业网上考试、作业、练习等应用,它采用Web方式,同时适用于局域网和Internet,无需安装客户端,即可实现网上考试,并能够保存,自动判分、成绩查询。
在开发方法上,引入了当今流行的ssh技术思想,数据库采用Mysql,把整个开发过程分为需求分析、概要设计、详细设计、系统实现等步骤。
是人力资源的管理更为高效和科学,数据更为准确,从而将人事部门从繁重的、耗时的工作中释放出来,把精力集中到更高层的政策性工作中。
该系统设计并实现了以Jsp为基础的轻量级Web框架SSH(Struts+Spring+Hibernate)的在线考试系统。
该系统采用MVC设计模式,将表示层、业务逻辑层和控制逻辑层清晰地分离出来,各层次之间接口清晰,耦合度低,易于扩展,使用SSH框架方便地构建Web应用,提高系统设计与实现的效率。
本系统使用J2EEJava2平台企业版(Java2Platform,EnterpriseEdition)做开发,运用SSH(Struts+Spring+Hibernate)三大框架的开发模式,采用Tomcat7.0作为应用服务器,Mysql5作为数据库,MicrosoftVisio为建模工具。
该系统共分为三个用户模块,即学生端、教师端,管理员。
学生端的功能主要包括个人资料管理、在线考试、成绩查询、退出系统。
教师端的功能主要包括学生管理、试题管理、成绩管理、登录管理、退出系统,管理员的功能主要包括学生管理、试题管理、成绩管理、登录管理、教师管理、退出系统。
以下论文中对该系统的设计方法和具体功能实现以及相关技术进行了详细的论述。
关键词:
B/S;在线考试系统;SSH;MVC模式;J2EE;
Abstract:
Onlineexaminationsystemisoneofthemarketshareishighandwideapplicationofremotenetworklearningtestsoftware,suitableforthegovernment,industriesandenterprisesofvariousprofessionalonlineexamination,assignments,andpracticeapplication,itUSESthewayofWeb,atthesametimeapplytothelocalareanetworkandInternet,donotneedtoinstalltheclient,onlineexaminationcanberealized,andcansave,mark,scoresqueryautomatically.Onthedevelopmentmethod,theintroductionoftoday'spopularSSHtechnologythought,databaseusingMysql,thewholedevelopmentprocessisdividedintorequirementanalysis,generaldesign,detaileddesign,systemimplementationandothersteps.Ishumanresourcesmanagementmoreefficientandscientific,thedatamoreaccurate,tothepersonneldepartmentreleasedfromtheheavy,time-consumingwork,tofocusonthehigherlevelofpolicywork.ThesystemwasdesignedandimplementedbasedonJsplightweightWebframeworkSSH(Struts+Spring+Hibernate)onlineexaminationsystem.ThesystemUSEStheMVCdesignpattern,thepresentationlayer,businesslogiclayer,andclearlyseparatecontrollogiclayer,theinterfacebetweendifferentlevelsisclear,lowcoupling,easytoexpand,SSHframeworkusedtofacilitatebuildingWebapplications,improvetheefficiencyofthesystemdesignandimplementation.
ThissystemUSEStheJ2EEJava2PlatformEnterpriseEdition(Java2Platform,EnterpriseEdition)development,usingtheSSH(Struts+Spring+Hibernate)threeframeworkmodeofdevelopment,usingTomcat7.0asapplicationserver,Mysql5asadatabase,MicrosoftVisioformodelingtool.Departmentaltogetherisdividedintotwousermodules,namelytheside,theteachersandstudents.Studentthefunctionmainlyincludespersonalinformationmanagement,onlineexamination,scoresquery,fromthesystem.Thefunctionmainlyincludesthestudentsmanagement,testquestionmanagement,performancemanagement,logmanagement,classroommanagement,exitthesystem.Thefollowingpaperdesignmethodofthesystemandthespecificfunctionsandrelatedtechnologyweredescribedindetail.
Keywords:
B/S;SSH;MVCmode;J2EE;thesismanagement;
1绪论
考试是教学过程中的一个重要环节。
学生考试成绩的优劣,不但反映其对教学内容和应掌握知识的分析、理解、吸收、运用的能力,更反映教师对教学内容的把握和熟练程度。
传统的学校教学中,进行一场考试,要求老师编写试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。
尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。
而网上考试系统不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。
加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。
在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。
将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。
1.1课题研究背景
随着计算机技术、网络技术迅速发展和高校校园网功能的日益完善,很多高校建立了基于校园网的网络信息管理平台,为提高教学管理水平提供了先进的管理手段。
目前,基于网络的在线考试系统己经成为现代考试方式的有力补充和发展。
相对于传统的笔试,网络在线考试不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。
它旨在探索一种以互联网为基础的考试模式。
通过这种新的模式,为学校创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以随时、随地通过网络完成考试。
1.2课题研究目的及意义
很多学校学生的期末考试仍采用任课教师(个人或集体)考前出题的方式。
为解决学生压题,考前漏题,补(缓)考试题与正式考试试题题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准。
这样做虽能解决一些问题,但给教师增加了很大的工作负担,若上下届学生的同一门课程由同一教师承担,则难免几届学生用相同几套试卷;若由不同教师任课出题,则上下届学生的成绩之间又不具有可比性。
若建立题库,每次考试前由题库中题目随机生成试卷,则可较好地解决考教分离的问题,也可将广大教师从每学期末繁重的命题工作中解放出来。
近年来,部分学校陆续开发了一些基于微机的题库系统,并作为成果向其它学校推广,但这些题库一般都是结合本校具体情况,针对单一课程的小型题库,甚至某些学校购得的题库系统中的题目本身是不可维护的,即使题目已不适合自己的学生考试使用,也无法更新题库中的题目。
为解决题库系统中存在的这些问题,最后给出了一个较为理想的题库系统解决方案,并结合当前比较使用的B/S结构开发一个功能完备的网上考试系统。
1.3本文内容及结构
本论文共分为七章,其章节结构如下:
第一章绪论。
本章重点阐述了本课题的研究背景、目的及意义,并简要概括了本文的内容及结构。
第二章系统关键技术介绍。
本章介绍了系统关键技术及选择的开发环境。
第三章系统需求分析。
本章根据在线考试系统的开发原理及开发过程,对系统的需求进行了研究与分析。
第四章系统总体设计。
本章介绍了的总体设计,包括数据库的设计。
第五章系统具体实现。
本章介绍了的具体实现过程并举例说明。
第六章结束语。
本章总结了全文的主要思想及自己的心得体会。
2系统关键技术介绍
2.1SSH框架及优势
(1)典型的三层构架体现MVC(模型Model,视图View和控制)思想,可以让开发人员减轻重新建立解决复杂问题方案的负担和精力。
便于敏捷开发出新的需求,降低开发时间成本。
(2)良好的可扩展性,ssh主流技术有强大的用户社区支持它,所以该框架扩展性非常强,针对特殊应用时具有良好的可插拔性,避免大部分因技术问题不能实现的功能。
(3)良好的可维护性,业务系统经常会有新需求,三层构架因为逻辑层和展现层的合理分离,可使需求修改的风险降低到最低。
随着新技术的流行或系统的老化,系统可能需要重构,ssh构架重构成功率要比其他构架高很多。
(4)优秀的解耦性,很少有软件产品的需求从一开始就完全是固定的。
客户对软件需求,是随着软件开发过程的深入,不断明晰起来的。
因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。
ssh三层构架,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。
采用这种方式的软件实现,即使软件的部分发生改变,其他部分也不会改变。
Struts、Spring、Hibernate是三个既相互独立又彼此关联的框架,它们可以无缝地整合起来构建灵活、易于扩展的多层Web应用程序,Struts用来实现表示层,Spring实现业务层,Hibemate实现持久层。
2.1.1Struts2简介:
虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。
Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架WebWork基础上发展起来的。
从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。
或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。
因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:
而且吸收了Struts1和WebWork两者的优势,因此是一个非常值得期待的框架。
Struts2优势:
(1)Struts2Action对象为每一个请求产生一个实例,因此没有线程安全问题。
(2)Struts2强大的标签库提高开发效率。
(3)页面脉络清晰,通过查看配置文件把握整个系统的关系,方便开发人员岗位流动时的维护。
2.1.2Spring简介:
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
Spring优势:
(1)Spring提供了一种管理对象的方法,可以把中间层对象有效地组织起来。
一个完美的框架“黏合剂”。
(2)有利于面向接口编程习惯的养成,使代码结构清晰。
(3)采用了分层结构,可以增量引入到项目中。
(4)目的之一是为了写出易于测试的代码。
(5)非侵入性,应用程序对SpringAPI的依赖可以减至最小限度。
(6)一致的数据访问介面。
(7)一个轻量级的架构解决方案。
2.1.3Hibernate简介:
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate优势:
(1)Hibernate是JDBC轻量级的封装,占用内存较少,性能比较高。
与JDBC相比,如果开发JDBC的人员技术能力非常强,hibernate执行效率会比JDBC弱一些,但是大部分情况是程序员在使用JDBC时是不可能做到最高效率,hibernate可以帮大部分开发人员提高运行效率。
(2)可以引入第三方二级缓存,提高系统查询效率,减少系统里存在大量单例类(singleton),大量的单例类,会降低系统的可测试性和面向对象程度。
(3)优秀的ORM框架,理论上节省开发人员95%的开发工作量。
(4)Hibernate兼容JDBC。
理论上可以应用在任何使用JDBC的场景。
2.2Internet终端
本系统采用的是B/S(Browser/Server)结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
因此本系统访问方式是基于Internet终端的访问,用户只需要通过web浏览器就可以非常方便快捷地使用本系统服务器资源,系统让用户的操作变得简单与透明,系统的维护成本与工作量也得到减少。
B/S构架使得本系统有易安装、易升级、成本低、可扩充等优势。
2.3Tomcat服务器
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,sun和其它一些公司及个人共同开发而成。
由于有了sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。
这个包中的文件按一定目录结构来组织:
通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外还会有一个WEB—INF目录,这个目录很重要。
通常在WEB—INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和JSP或Servlet所依赖的其它类(如JavaBean)。
通常这些所依赖的类也可以打包成JAR放到WEB一INF下的lib目录下。
Tomcat应用程序的部署很简单,只需将使用者的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。
在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。
编译以后,访问将会很快。
另外Tomcat也提供了一个应用:
manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。
通过这个应用,辅助于Ftp,可以在远程通过Web部署和撤销应用。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:
处理Html页面。
但是与Apache相比,它的处理静态Html的能力就不如Apache。
我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet。
这种集成只需要修改一下Apache和Tomcat的配置文件即可。
因为Tomcat的免费并且具有开放性,功能强大。
因此,选择了Tomcat作为独立运行Web服务器和JSP引擎。
2.4Mysql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余。
3系统需求分析
3.1用例需求
3.1.1用例图简介
用例图(UseCaseDiagram)是一个UML中非常重要的概念,在使用UML的整个软件开发过程中,UseCase处于一个中心地位。
用例是对一组动作序列的抽象描述,系统执行这些动作序列,产生相应的结果。
这些结果要么反馈给参与者,要么作为其他用例的参数。
用例被认为是第二代面向对象技术的标志。
显示多个外部参与者以及他们与系统提供的用例之间的连接。
用例是系统中的一个可以描述参与者与系统之间交互作用的功能单元。
用例图仅描述系统参与者从外部观察到的系统功能,并不描述这些功能在系统内部的具体实现。
本系统所采用的工具为MicrosoftVisio2003。
3.1.2系统总体用例图
根据调查及对整个系统分析的结果,按照结构化的系统设计方案,此系统可以分为两种用户,即学生、教师、管理员。
其中学生端共有五个用例,分别如下:
(1)登录:
学生根据自己的用户名和密码登录到系统中。
(2)资料管理:
学生可以查看、修改自己的个人资料及密码等信息。
(3)在线考试:
学生可以查看所需要进行的考试科目,若已经考过了则不会显示。
(4)成绩查询:
学生可以查看已经考过试的相关科目的成绩的相关信息。
(5)退出系统:
学生突出当前考试系统。
图3-1学生端用例图
其中教师端共有六个用例,分别如下:
(1)登录:
教师根据自己的用户名和密码登录到系统中。
(2)学生管理:
教师可以增加、查看、修改、删除学生的个人资料及密码等信息。
(3)试题管理:
教师可以增加考试科目,删除、修改科目,增删该对应科目下的试题。
(4)成绩管理:
教师可以查看所有学生的考试相关信息,及学生个人的成绩详细信息。
(5)登录管理:
教师可以查看相关人员登录该系统的相关情况,查询、删除。
(6)退出系统:
教师退出当前考试系统。
图3-1教师端用例图
其中管理员共有七个用例,分别如下:
(1)登录:
管理员根据自己的用户名和密码登录到系统中。
(2)学生管理:
管理员可以增加、查看、修改、删除学生的个人资料及密码等信息。
(3)试题管理:
管理员可以增加考试科目,删除、修改科目,增删该对应科目下的试题。
(4)成绩管理:
管理员可以查看所有学生的考试相关信息,及学生个人的成绩详细信息。
(5)登录管理:
管理员可以查看相关人员登录该系统的相关情况,查询、删除。
(6)教师管理:
管理员可以增加教师,修改,删除教师。
(7)退出系统:
管理员退出当前考试系统。
图3-1管理员端总体用例图
3.2功能需求
该系统中每种用户端均需要完成不同的功能,包括注册(仅学生注册),学生端,教师端,管理员端。
其中注册包括的内容:
用户名、姓名、密码、性别、地址、邮箱。
3.2.1其中学生端功能需求描述如下:
(1)学生登录主页(学生输入正确的用户名和密码登录到学生主页)
(2)资料管理:
1.查看个人资料(学生可以查看自己的个人资料信息)
2.修改个人资料(学生可以修改自己的个人资料信息)
3.修改个人密码(学生可以修改自己的个人密码)
(3)在线考试:
1.选择个人要进行的考试科目。
2.若已经进行了某个科目的考试则不会有该科目的选择。
(4)成绩查询:
1.显示个人已经进行了那几个科目的考试。
(科目、科目名称、总分数、所得分数、考试日期、详细情况)。
2.详细情况(姓名、科目编号、科目名称、题数、总时间、总分、考试时间、交卷时间、得分)。
(5)退出系统:
退出当前考试系统。
3.2.2其中教师端功能需求描述如下:
(1)教师登录主页(教师
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ssh 框架 在线 考试 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)