JAVA学习交流平台设计与实现.docx
- 文档编号:9819064
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:40
- 大小:532.98KB
JAVA学习交流平台设计与实现.docx
《JAVA学习交流平台设计与实现.docx》由会员分享,可在线阅读,更多相关《JAVA学习交流平台设计与实现.docx(40页珍藏版)》请在冰点文库上搜索。
JAVA学习交流平台设计与实现
JAVA学习交流平台设计与实现
——在线测试与题库
摘要
网络对于人们来说已不再是一个陌生的概念。
从个人到学校、公司、机关,网络已经并将继续影响着人们的生活、学习,必将对社会各行各业产生重大影响。
学校作为培养人才的基地,更应该走在信息时代的前沿,如何利用网络来提高教学的质量和效率,克服传统教学的弊端,如何架起学生与教师以及学生与学生的网络交流平台,已成为教育者不得不考虑的现实问题。
本文阐述了运用b/s模式设计在线测试系统的思想,介绍了当前较流行的web应用技术和框架---JSP、Java、Ajax和ORM技术,并以此为理论基础和实践依据,在Hibernate框架下结合数据库连接池技术,设计并实现了在线测试系统。
完成了试题库的维护、自动组卷、自动阅卷(客观题)、教师批阅(主观题)、学生在线测试、成绩查询各项功能。
关键词:
在线测试;JSP;Ajax;Hibernate;Servlet
Thedesignandeffectuationofthelearningandcommunicatingplatform
——OnlinetestingandQuestions
Abstract
Networkisnolongeranalienconceptforthepeople.Fromindividualstoschools,companies,institutions,networkshavebeenandwillcontinuetoaffectpeople'slives,learning,anditwillhaveasignificantimpactonallsectorsofsociety.Schoolasabasefortrainingqualifiedpersonnelshouldtaketheforefrontintheinformationage.HowtousetheInternettoimproveteachingqualityandefficiency,toovercomethedrawbacksoftraditionalteaching,Howtosetupthethecommunicatingnetworkplatformforstudentsandteachers,studentsandstudentshasalreadybecometheproblemthattheeducatorshavetoconsider.Thisthesisintroducesthestructureofweb-basedapproachandb/smodeofonlinetestingsystem.ThecurrentmorepopularwebapplicationsandframeworkssuchasJSP,Java,AjaxandORMtechnologyisintroducedespecially.Andasatheoreticalbasisandpracticalbasis,withwebapplicationsanddatabasetechnologywedesignedandimplementedanonlinetestingsystem.Thesystemisb/smodetoachieveafunctionoftestingquestionsforthemaintenance,generatingpaperautomatically,markingobjectivequestionsautomatically,reviewingsubjectivequestionsbyteachers,onlinetestingandqueryingtestingresults.
Keywords:
OnlineTesting;JSP;Ajax;Hibernate;Servlet
1绪论1
1.1系统开发背景和目的1
1.2系统的研究方法和内容1
1.3系统开发环境介绍2
1.3.1JSP技术特点2
1.3.2JSP的几大内置对象3
1.3.3SQLSERVER2000简介4
1.3.4JSP概述4
2可行性研究6
2.1技术可行性6
2.2经济可行性6
2.3运行可行性6
2.4法律可行性7
3需求分析8
3.1系统功能需求8
3.1.1前台客户端主要实现的功能8
3.1.2后台管理端主要实现的功能8
3.2数据流图8
3.2.1系统顶层DFD图8
3.2.2系统一层DFD图9
3.3数据字典10
4概要设计12
4.1系统总体结构设计12
4.1.1系统功能模块图12
4.1.2系统主要的流程图12
4.2数据库设计13
5详细设计与实现17
5.1题库管理模块17
5.1.1保存、更新、删除试题17
5.1.2查询试题20
5.1.3试题与选项关联21
5.2自动组卷模块25
5.3试卷监控30
5.4批阅试卷31
5.5成绩查询31
5.6注册考试31
5.7在线测试31
5.7.1倒计时32
5.7.2分页获取试题33
5.7.3分页保存答案34
5.7.4自动阅卷34
结论35
致谢36
参考文献……………………………………………………………………......................37
1绪论
1.1系统开发背景和目的
随着计算机技术,尤其是计算机网络技术的发展及其不断深入的普及。
在21世纪信息时代已经到来的今天,网络对于人们来说已不再是一个陌生的概念。
从个人到学校、公司、机关,网络已经并将继续影响着人们的生活、学习,必将对社会各行各业产生重大影响。
学校作为培养人才的基地,更应该走在信息时代的前沿。
网络时代的到来,使高校学生学习面临新的形势,网络的发展为加强和改进高校网络交流平台教育工作提供了新的渠道和手段,有利于提高高校学生网络交流工作的针对性,有利于最大限度的实现高校网络交流平台教育工作的社会化。
网络交流平台则基于数字化的网络空间通过双方互联,进行直接的信息交流来实现的,它不仅是交流信息的网络化,更是学习本身的信息化、网络化。
面对信息化社会的挑战,适应潮流,顺势而上,充分利用校园高技术信息网络资源,深入开展网络交流平台,形成网上教育基地,对于引导学生树立正确的人生观、世界观、价值观,实现培养跨世纪高素质新型人才的目标,无疑是极有益的
如何利用网络来提高教学的质量和效率,克服传统教学的弊端,如何架起学生与教师以及学生与学生的网络交流平台,已成为教育者不得不考虑的现实问题。
本系统着重研究在线测试系统的实现,充分利用web应用给我们带来的便利,结合各种流行高效的技术,利用web方式对题库进行管理和维护,提供自动生成试卷、自动阅卷、在线测试、查阅分数等功能,大大的节省了时间和精力,以达到辅助教学,提高教学效率的目的
1.2系统的研究方法和内容
本文主要介绍了学习交流平台的设计过程和方法。
设计上,精美与高效兼顾;功能上,充分体现网站的互动性,功能强大;在维护和后续扩展上,提供专门的平台维护后台,平台管理员可以很方便的借助这个平台维护整个平台。
本文阐述了运用b/s模式设计在线测试系统的思想,介绍了当前较流行的web应用技术和框架---JSP、Java、Ajax和ORM技术,并以此为理论基础和实践依据,在Hibernate框架下结合数据库连接池技术,设计并实现了在线测试系统。
完成了试题库的维护、自动组卷、自动阅卷(客观题)、教师批阅(主观题)、学生在线测试、成绩查询各项功能。
1.3系统开发环境介绍
1.3.1JSP技术特点
Microsoft公司的ASP技术也是动态网页开发技术。
JSP和ASP从形式上非常相似,ASP程序员一眼就能认出<%%>以及<%=%>。
但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:
1.JSP的效率和安全性更高。
ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解
释,运行效率不高。
另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。
JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。
第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。
同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。
2.JSP的组件(Component)方式更方便
ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或者
复杂计算分离出来成为独立可重复利用的模块。
JSP通过JavaBean实现了同样的功能扩充。
在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。
而JavaBean就简单多了,从本文上述示例中可以看出开发JavaBean很方便。
在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。
JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。
如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。
另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。
3.JSP的适应平台更广
ASP目前仅适用于NT和IIS。
虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。
1.3.2JSP的几大内置对象
1.Request对象
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,
即使用该对象可以获取用户提交的信息,当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。
首先,将获取的字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后再将这个数组转化为字符串对象。
2.Response对象
对客户的请求做出动态的响应,向客户端发送数据
3.Session对象
Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象
4.Application对象
服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之
间浏览时,这个Application对象都时同一个,直到服务器关闭。
但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
5.Out对象
Out对象时一个输出流,用来向客户端输出数据。
6.Cookie对象
Cookie是Web服务器保存在用户硬盘上的一段文本。
Cookie允许一个Web站点在
用户电脑上保存信息并且随后再取回它。
举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
如果用户使用IE浏览器访问Web,用户就会看到所有保存在自己硬盘上的Cookie。
它们最常存放的地方是:
C:
\Windows\Cookies。
Cookie是以“关键字key=值value”的格式来保存记录的
7.Config对象
8.Page对象
9.Exception对象
在处理异常的网页中可以直接访问exception隐式对象
1.3.3SQLSERVER2000简介
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
MicrosoftSQLServer2000数据库系统是在WindowsNT环境下开发的一种全新的关系型数据库系统,是发展最快的关系数据库。
SQlServer2000具有大型数据库系统的一些基本功能,支持事务处理功能、支持数据库加密、设置用户组别或用户的密码和权限等等。
SQLServer2000是一个具备完全Web支持的数据库产品,提供了以Web标准为基础的扩展数据库编程功能。
由于最初的SqlServer2000并没有把1433端口打开,所以需要给SQLServer2000打个Sp3补丁。
1.3.4JSP概述
系统服务器编程采用最常用的JSP技术,JSP(JavaServerPage)是Sun公司在1999年发布的J2EE的重要组成部分,是基于JavaServlet以及整个Java体系的Web开发技术,为企业级Web的站点动态网页开发人员提供了一种非常简单却有效的工具。
JSP与ASP有许多相似之处,都是为基于Web应用实现动态网页制作提供的技术环境支持,JSP有以下优点:
1.将内容的生成和显示分离.使用JSP技术,Web页面开发者可以使用HTML或XML标志或者小脚本来生成页面上的动态内容.生成内容的逻辑被封装在标志和JavaBeans组件中,并且被捆绑到小脚本中,所有的脚本在服务器端运行。
2.强调可重用的组件。
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或EJB)来执行应用程序所要求的更为复杂的处理,基于组件的方法加速了总体开发过程。
3.硬件平台和服务器无关。
JSP作为Java的组成部分,继承了Java技术的“一次编写,随处可用(Writeonce,runanywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器。
这种与服务器和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
4.与Java平台有机集成。
JSP技术是J2EE平台的重要组成部分。
JSP使用Java语言作为它的脚步语言,在JSP页面中可以使用几乎所有的Java组件和JavaAPI,从而可以发挥Java语言的强大功能。
使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。
5.功能可扩展性。
JSP可以通过JavaBean和EJB以及自定义的标记来扩展功能,也可以通过JDBC与Oracle,DB2,SQLServer等大型关系数据库进行连接;另外JSP提供了一些隐含对象,可以使脚步功能更加强大,并且编程更加容易、方便。
例如利用Request对象,可方便地接收用户在HTML表单中提交的信息。
利用session对象可以跟踪用户状态,利用application对象可以得到当前应用服务的全局信息。
系统中的在线学生的信息就是保存在application中。
2可行性研究
在进行任何一项较大的工程时,首先都要进行可行性分析和研究。
目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
2.1技术可行性
本系统设计主要采用SQLSERVER2000数据库系统开发技术,jsp语言等技术,JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作,SQLSERVER2000强大的数据库功能也为该网站的开发提供了有利条件,也为将来的维护提供必要的基础,工作方便,后台操作快捷明了,操作人员可以在短时间内完全掌握维护工作。
从技术可行性角度分析,本系统的开发是完全可行的。
2.2经济可行性
时间就是金钱的当今社会,只有不断的提高学习效率、为用户提供方便才能节省能源和时间,经济上的可行性主要是对提高学习效率进行评价。
建立学习交流平台,从个人到学校、公司、机关,网络已经并将继续影响着人们的生活、学习,必将对社会各行各业产生重大影响。
学校作为培养人才的基地,更应该走在信息时代的前沿,如何利用网络来提高教学的质量和效率,克服传统教学的弊端,如何架起学生与教师以及学生与学生的网络交流平台,已成为教育者不得不考虑的现实问题,更能实现其自身的价值,使学生得到了超值的回报,所以此项目在经济上可行。
2.3运行可行性
本系统前台和后台都采用美观、简单有序的页面,而且对所有数据输入进行完整性和合法性检查,尽量减少操作错误,在各输入处有帮助信息,便于学生和管理员输入。
本系统的使用不会存在太大问题,使用系统的工作人员,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识,并不需要特别的技术能力,只要很少的熟悉时间便可以熟练掌握该系统的使用,所以从运行角度考虑,本系统的建设是完全可行的。
2.4法律可行性
本系统没有违反国家相关法律,不会在社会上或政治上引起侵犯、破坏或其他责任问题,在法律方面可行。
从以上技术方面、经济方面、运行方面乃至法律方面的可行性研究得出该系统的开发是可行的。
3需求分析
需求分析是发现、求精和规约的过程,使用已被证明的原理、技术、语言和工具去处理文档和用户的需要,不断地演化用户需要的系统外部行为规约。
需求分析虽处于软件开发过程的初期阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。
随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中的所处的地位愈加突出。
随着现代化办公的深入,从个人到学校、公司、机关,网络已经并将继续影响着人们的生活、学习,必将对社会各行各业产生重大影响。
学校作为培养人才的基地,更应该走在信息时代的前沿,如何利用网络来提高教学的质量和效率,克服传统教学的弊端,如何架起学生与教师以及学生与学生的网络交流平台,已成为教育者不得不考虑的现实问题
3.1系统功能需求
3.1.1前台客户端主要实现的功能
1.注册考试:
当教师发布试卷后学生可以进行注册。
2.在线测试:
注册后的试卷,学生可以进行在线测试。
3.成绩查询:
批阅后的试卷,学生可以查到自已的得分,教师可以按学生的姓名,
查询学生的得分。
3.1.2后台管理端主要实现的功能
1.题库管理:
教师用户可以增加、修改、删除、查询题库中的试题。
本系统的试
题种类包括单选、多选、填空、判断、简答和编程。
其中问题的选项也可以进行管理,并且教师可以指定这些问题的作用范围,例如是否可以用于在线测试等。
2.组卷:
系统会保存教师填写的试卷参数,供学生注册时自动随机组卷。
3.试卷监控:
发布出去的试卷,教师可以监控所有注册该试卷的学生和试卷的状
态。
4.批阅试卷:
考试结束,收回的试卷其中的主观题目教师可以进行批阅。
3.2数据流图
数据流图(DFD,dataflowdiagram)是描述信息流和数据从输入流到输出的变换的图形化技术,是表示软件逻辑模型的图形工具。
它既提供了信息流建模机制,也提供了功能建模机制,是自顶向下的分解和自底向上的抽象工具。
3.2.1系统顶层DFD图
做DFD图时应先画顶层图,通常把整个系统当作一个大的加工,表明系统的输入和输出以及数据的源点与终点(统称为“外部项”)[4]。
本系统顶层DFD如图3.1所示。
图3.1系统顶层DFD图
3.2.2系统一层DFD图
根据自顶向下,逐层分解的原则,对系统顶层处理功能进行细化分成若干个处理功能,产生一层细化DFD图,如图3.2所示。
图3.2系统一层DFD图
3.3数据字典
分析建模中包含有对数据对象、功能和控制的表示,在每种表示中数据对象和控制项都扮演了一定的角色,因此需要提供一种有组织的方式来表示每个数据对象和控制项的特征,这就由数据字典来完成[5]。
数据字典是结构化分析中半形式化定义对象内容的工具,是数据流、数据加工、事件触发行为的详细说明。
仅仅靠图形并不能完全说明系统分析的模型。
数据字典是对DFD、ERD和状态变迁图的补充,详细说明了数据实体的数据记录和属性,数据加工单元的处理内容以及事件触发的内容,力求做到准确无歧义,它是分析数据建模的重要组成部分。
由于篇幅有限,这里仅给出5个主要的数据字典条目,如下各列表所示。
数据流“用户信息”的字典条目如表3.1所示。
表3.1数据流“用户信息”的字典条目
数据流名:
用户信息
组成:
用户名+密码及确认密码
数据流“题库管理”的字典条目如表3.2所示。
表3.2数据流“题库管理”的字典条目
数据流名:
题库管理
组成:
问题名称+选项列表
数据流“组卷”的字典条目如表3.3所示。
表3.3数据流“组卷”的字典条目
数据流名:
组卷
组成:
试卷名称+所属科目+试卷难度+答题时间+答题分数
数据流“成绩查询”的字典条目如表3.4所示。
表3.4数据流“成绩查询”的字典条目
数据流名:
成绩查询
组成:
用户名+密码+查询分数
数据流“在线测试”的字典条目如表3.5所示。
表3.5数据流“在线测试”的字典条目
数据流名:
在线测试
组成:
用户名+所属科目+试卷难度
4概要设计
在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。
进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程。
最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。
4.1系统总体结构设计
本系统阐述了运用b/s模式设计在线测试系统的思想,介绍了当前较流行的web应用技术和框架---JSP、Java、Ajax和ORM技术,并以此为理论基础和实践依据,在Hibernate框架下结合数据库连接池技术,设计并实现了在线测试系统。
完成了试题库的维护、自动组卷、自动阅卷(客观题)、教师批阅(主观题)、学生在线测试、成绩查询各项功能。
4.1.1系统功能模块图
根据学校交流平台的特点,可以将其分为前台和后台两个部分设计。
前台主要用于实现自动阅卷(客观题)、自动组卷、成绩查询、学生在线测试等功能,后台主要用于管理员对用户信息、教师批阅、题库维护等进行管理。
4.1.2系统主要的流程图
1.学习交流平台流程图如图4.1所示。
图4.1系统流程图
4.2数据库设计
结合系统的功能和分析,数据库的设计模型如图:
4.2问题选项表T_Q_ELEMENTS,问题表T_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 学习 交流平台 设计 实现
![提示](https://static.bingdoc.com/images/bang_tan.gif)