网上应答辅导系统的设计与实现_第1页
网上应答辅导系统的设计与实现_第2页
网上应答辅导系统的设计与实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网上应答辅导系统的设计与实现

1网络模型的开发目前,sun的j2ee技术是实现b/s模式的优秀技术。它的跨平台性、健壮性、易用性等在业界广为关注。J2EE技术成为实现网上答疑系统的首选。同时基于J2EE技术的众多开源项目为J2EE的开发带来极大的方便,其中Spring框架和Hibernate框架就是其中的著名开源项目,它们为开发J2EE项目带来了高效的开发效率和良好的稳定性、扩展性。网上答疑系统选择用Hibernate框架作为持久层框可以在不改变代码的情况下通过改变配置文件就可以支持不同数据库系统。使用Spring框架基于MVC设计模式的WEB层和它的IOC容器来管理各个模块,分离模块之间的耦合性,易于系统管理维护和升级扩展。为了达到更友好的访问界面,系统使用CSS样式表进行样式控制,可以在不同浏览器中呈现相同结果。同时使用JavaScript和AJAX技术能给用户带来使用上的方便性。2系统需求和结构的设计2.1学生实践模块首页模块:注册用户(学生或教师)或非注册用户均可在首页模块查看,查询公告及问答,问题讨论。用户注册模块:该模块可以进行教师和学生的注册。用户登录模块:注册用户(学生和教师)和管理员在该模块进行登录。教师模块:教师用户通过登录模块登录后,该模块可以完成对自己提出问题的查看、查询、解答、修改、删除等操作。并可以进行公告发布管理,修改基本信息和密码。使用退出系统功能,将注销用户,转至首页模块。学生模块:学生用户通过登录模块登录后,该模块学生可以完成向老师提出问题以及查询、修改、删除提问操作,同时可以修改基本信息和密码。使用退出系统功能,将注销用户,转至首页模块。管理员模块:管理员通过登录模块登录后,在该模块管理员可以完成公告添加、修改、查询、删除操作,进行问题查询、删除操作,进行用户添加、修改、删除操作(包括添加学生,教师和管理员)。同时管理员可以进行问题类别添加、修改、删除操作和系别添加、修改、删除操作和修改自己的基本信息和密码。使用退出系统功能,将注销用户,转至首页模块。2.2数据库结构设计答疑系统主要架构由6部分组成,调用情况如图1所示。系统资源层:该层主要存放系统JSP页面文件、CSS样式表文件、JavaScript代码文件、图片资源和系统配置文件等。其中JSP页面文件均放在WEB-INF目录下,防止页面文件被下载。系统WEB层:该层主要是使用Java语言编写基于Spring的MVC框架控制处理器,所有控制处理器类均在cn.andy.web包及其子包下。系统业务逻辑层:该层主要是用Java语言编写的业务逻辑类,其中业务逻辑方法供WEB层调用,并且该层面向接口编程使用DAO模式,同时利用Spring的IoC容器将持久层的持久类注入进来实现业务逻辑。该层所有类均在cn.andy.service包及其子包下。系统持久层:该层主要是用Java语言,使用Hibernate框架编写对象持久类,其中业务持久方法被业务逻辑层调用,并且该层面向接口编程使用DAO模式,同时利用Spring的IoC容器和Spring对Hibernate框架的基础支持,持久化实现类直接继承Spring的持久化基类,实现对象持久化操作。该层所有类均在cn.andy.dao包及其子包下。系统数据库层:该层使用MySQL数据库并根据对象建表,从系统中抽象需要持久化对象即域对象,也是该系统的主要模型,通过使用Hibernate实现对象关系映射,并且使用开源工具ANT和XDOCLET进行自动化生成表结构及映射文件。同时该系统不局限在使用MySQL数据库上,可以通过配置文件适应其他数据库。SpringIoC容器层:该层通过配置的方式将其他几层有机结合在一起形成一个整体,该容器通过在WEB.XML文件中定义,在Tomcat服务器启动时装入。Spring的IoC控件主要专注于如何利用对象和服务去组成一个企业级应用,通过规范的方式,将各种不同的组件整合成一个完整的应用。3域对象类型化对象建模通过前面系统功能框图和系统架构框图的介绍,系统主要需要编写6个模块,每个模块包含4个层次的Java类。其中注册模块和登录模块均包含在首页模块,同时由于与数据库表相关的域对象类是共有的。所以实际上只需要编写4个模块,每个模块均包含WEB层控制器类,业务逻辑层接口及实现类,持久层接口及实现类,及共有的域对象类。系统是基于对象建模,然后通过Hibernate映射方式,结合Xdoclet和ANT工具的使用,生成数据库表。所以应该先从系统功能抽象需要持久化的域对象。实际上这也与常规分析方式相似,常规方式通常是先分析需求关系,建立数据库表,再根据数据库表建立域对象模型。系统域对象包括:用户域对象、学生域对象、教师域对象、管理员域对象、系别域对象、问题域对象、问题类别域对象、问题讨论域对象、公告域对象。通过对答疑系统域对象进行抽象,明确域之间关系,即可结合在域对象代码中添加Xdoclet注释,通过ANT任务即可生成数据库表与之对应,同时也生成Hibernate映射文件。系统域对象UML类图如图2所示。前面已经提到该系统的数据库表的建立是由域对象映射使用ANT任务生成,这里列举Question域即问题域对象生成的表为例,如表1所示。4预动系统的实现项目在开发过程中对持久层方法均使用JUNIT进行过单元测试,对于WEB层控制器使用MOCK方式单元测试。在性能测试上项目使用ApacheJMeter作为性能测试工具。项目使用该软件进行了模拟100个用户并发访问系统首页情况。该系统第一次启动时比较慢,第一是开启了Spring的预加载Bean功能,该功能分析后不能关闭,因为这样做有利于依赖检测。第二是Tomcat服务器部署时没有启用预编译机制,导致第一次JSP页面访问会先编译成Servlet因此速度变慢。最后一个原因是开启了Hibernate的SQL日志功能,当访问有数据库操作的模块页面时都会打印大量SQL日志消息。后来关闭该功能,使用预编译机制,除了重新部署会导致页面有点缓慢,之后再也没有慢的迹象。在CPU为P42.0GHZ,RAM为512M和装有WINDOWSXP操作系统的PC开发机上保持平均响应时间在4秒内。如果该系统布署在专业服务器上,系统性能将有更大幅度提升,排除网络环境因素,响应时间理论上在1秒钟内。性能测试如表2所示。Label:请求类型,HTTP请求。#Samples:总共发送到服务器的样本数目。Average:平均值,总运行时间除以请求数。Median:中间值,是代表时间的数字,响应的总体短时间。90%line:是指90%请求的响应时间比所得数值还要小。Min:是代表时间的数字,是服务器响应的最短时间。Max:是代表时间的数字,是服务器响应的最长时间。Error%:请求的错误百分比。Throughpu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论