基于Struts+Hibernate框架的在线答疑系统-毕业论文_第1页
基于Struts+Hibernate框架的在线答疑系统-毕业论文_第2页
基于Struts+Hibernate框架的在线答疑系统-毕业论文_第3页
基于Struts+Hibernate框架的在线答疑系统-毕业论文_第4页
基于Struts+Hibernate框架的在线答疑系统-毕业论文_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

I 基于基于 Struts+Hibernate 框架的在线答疑系统框架的在线答疑系统 基于 Struts+Hibernate 框架的在线答疑系统 II 摘摘 要要 在线答疑系统是大学教学与科研辅助系统的一个子系统。它是一 个面向广大大学教师和学生的开放型教学与科研辅助系统,构建基于 Web 技术 的教学与科研资源共享平台,便于大学教师的教学科研管理以及师生间资源共 享。本系统从大学教师的日常业务出发,充分提高教育与科研的网络化、电子 化水平,从而能够大大提高教育与科研的效率。 Struts 框架是一种在 JSP Model2 的基础上 MVC 设计模式的实现,经过数 年发展已经有了成熟而广泛的应用。Struts 框架实现了业务层、视图层和控制器 层的分离,从而达到提高开发效率,便利后期维护的目的。因此,在本系统的 设计和实现中应用 Struts 框架是一个有益的尝试。本文的主要工作有: 1. 简要介绍了 MVC 设计模式的概念和优势,以及常见的几种实现 MVC 设计模式的框架,如 Struts、Spring、webwork 等。 2. 通过对目前大学教学和科研工作业务流程的深入调查研究,分析本系统 的需求。本文通过在线答疑的各个过程抽象建模,明晰各模块的功能,同时也 对系统的一些非功能性需求做出了说明。 3. 在需求分析的基础上,设计和实现系统。本文设计了系统的数据模型并 完成数据库实现,并在各模块的设计与实现过程中,详细介绍了如何利用 Struts 框架实现 MVC 设计模式。本文还对系统实现成果做了展示。 4. 详细阐述了本系统中 Struts 框架的应用过程和该框架最新的发展动态。 Struts 框架的构建和配置在应用中占有十分关键的地位。经过数年发展,Struts 框架吸收了 webwork 等流行 MVC 框架的优点,发展到了一个新的阶段。本文 也对系统中另一项关键技术 Hibernate 组件的应用作了介绍。 5. 对本系统开发成果和不足做了总结,同时对下一步工作做出了规划。 关键词:在线答疑系统;MVC 设计模式;Struts 框架;Hibernate 组件 Abstract III Abstract The “BBS for Q/A” is a subsystem of University teaching and research support system. It is a open support system which mainly face the numerous teachers and students, constructing a teaching and research resource sharing platform based on the Web technology. It is convenient for resource sharing between teachers and students. This system begins with teachers of universitys routine parochial affairs, sufficiently improve the networking and electronic-level of education and research, in order to step up efficiency greatly. Struts framework is a kind of implementation of MVC design pattern based on JSP Model2.After several years development, it has gotten mature and widely application. Struts framework implements the separation of Model-View-Controller, and then reaches the goal of increasing development efficiency and commodious upper system maintenance. Therefore, using Struts framework is a advantageous attempt in the device and implementation of system. The capital works in my article as follows: 1. Give a summary about the concept and advantages of MVC design pattern. In addition, show some familiar framework for implementing MVC design pattern, such as Struts, Spring, webwork, etc. 2. Through searching into current affair processes of university teaching and research deeply, to analyze the demand of system. Via-abstractly modeling the various online Q/A process, and then clarifying the functions of each module, as well as some explanation for non-functional needs of system. 3. Design and implement the system based on the requirements analysis. This part designed the system data model and completed the implementation of database, then described in detail how to use the Struts framework to achieve MVC design pattern, and furthermore, displayed the achievement of my system. 4. Made a thorough expatiation on the operating principle, operating principle and the latest developments of Struts framework whose construction and deployment 基于 Struts+Hibernate 框架的在线答疑系统 IV play an important role in the practical applications. After several years development, Struts framework has absorbed the advantages of webwork and other popular MVC framework, up to a new stage. This article also has a introduction of another key technology -Hibernate component-application. 5. Sum up the result of system development and disadvantages; subsequently the next step of work is planned. Key words:BBS for Q/A; MVC design pattern; Struts framework; Hibernate component. 目录 V 目目 录录 第一章第一章 绪论绪论1 1.1 MVC 设计模式的概念1 1.2 MVC 设计模式的优越性.2 1.3 常见 MVC 框架介绍3 .1 StrutsStruts 框架框架.3 .2 SpringSpring 框架框架.4 .3 JSFJSF 框架框架4 1.4 本文主要内容及结构5 第二章第二章 项目需求分析项目需求分析.6 2.1 项目背景6 2.2 术语解释7 2.3 前台系统功能需求说明7 .1 需求用例说明需求用例说明 .7 .2 需求流程说明需求流程说明 .9 2.4 后台系统功能需求说明.10 .1 需求用例说明需求用例说明 10 .2 需求流程说明需求流程说明 11 2.6 非功能性需求11 .1 安全性安全性 11 .2 可用性可用性 12 .3 可扩展性可扩展性 12 基于 Struts+Hibernate 框架的在线答疑系统 VI 2.7 本章小结.12 第三章第三章 项目设计与实现项目设计与实现13 3.1 项目开发平台13 3.2 数据模型与数据库设计.14 .1 数据模型数据模型 14 .2 数据库实现数据库实现 15 3.3 概要设计.16 .1 前台若干功能模块前台若干功能模块 16 .2 后台若干功能模块后台若干功能模块 17 3.4 注册模块的设计与实现.17 .1 模块流程模块流程 17 .2 MVCMVC 设计模式设计模式.18 .3 视图层组件视图层组件 19 .4 业务层组件业务层组件 20 .5 控制器层组件控制器层组件 20 .6 实现实现 20 3.5 登录模块的设计与实现.20 .1 模块流程模块流程 20 .2 MVCMVC 设计模式设计模式.22 .3 视图层组件视图层组件 22 .4 业务层组件业务层组件 22 .5 控制器层组件控制器层组件 23 .6 实现实现 23 3.6 系统其余各功能模块的实现23 3.7 本章小结.26 目录 VII 第四章第四章 STRUTS+HIBERNATESTRUTS+HIBERNATE 框架应用框架应用 .27 4.1 Struts 框架工作原理.27 .1 StrutsStruts 框架结构框架结构27 .2 ActionFormActionForm BeanBean .27 .3 StrutsStruts 框架的初始化框架的初始化28 .4 StrutsStruts 框架响应客户请求框架响应客户请求28 4.2 Struts 框架应用30 .1 StrutsStruts 压缩包内容压缩包内容30 .2 StrutsStruts 框架的构建框架的构建31 .2 StrutsStruts 配置文件配置文件 web.xmlweb.xml 31 .3 StrutsStruts 配置文件配置文件 Struts-config.xmlStruts-config.xml 34 .4 StrutsStruts 框架的国际化支持框架的国际化支持38 4.3 Hibernate 组件原理及应用38 4.4 Struts 的最新发展:Struts 2.040 .1 StrutsStruts 1.X1.X 的优势与不足的优势与不足41 .2 Struts2.0Struts2.0 简介简介.42 4.5 本章小结.43 第五章第五章 总结与展望总结与展望44 5.1 总结.44 5.2 展望.44 致致 谢谢.46 参考文献参考文献.47 附录附录 STRUTS-CONFIG.XMLSTRUTS-CONFIG.XML 文件代码文件代码 .49 基于 Struts+Hibernate 框架的在线答疑系统 VIII Contents IX Contents CHAPTER 1 INTRODUCTION1 1.1 Concept of MVC Design Pattern.1 1.2 Excellence of MVC Design Pattern2 1.3 MVC Framework3 .1 StrutsStruts .3 .2 SpringSpring .4 .3 JSFJSF 4 1.4 Content and Structure of Thesis.5 CHAPTER 2 REQUIREMENTSREQUIREMENTS ANALYSISANALYSIS.6 2.1 Background of the System.6 2.2 Explaination of Key Words7 2.3 Registered Users Module7 .1 UseUse CaseCase DiagramDiagram .7 .2 FlowFlow DiagramDiagram .9 2.4 Adminstration Module.10 .1 UseUse CaseCase DiagramDiagram 10 .2 FlowFlow DiagramDiagram 11 2.6 Non-Functinal Requirement.11 .1 SecuritySecurity 11 .2 UsablenessUsableness 12 .3 ExpandabilityExpandability .12 基于 Struts+Hibernate 框架的在线答疑系统 X 2.7 Summary12 CHAPTER 3 DESIGN AND IMPLEMENT.13 3.1 Terrace of Developing13 3.2 Design of Data-Model and DataBase14 .1 Data-ModelData-Model 14 .2 ImplementImplement ofof DataBaseDataBase .15 3.3 General Design 16 .1 RegisteredRegistered UsersUsers ModuleModule .16 .2 AdminstrationAdminstration ModuleModule 17 3.4 Registration Module17 .1 FlowFlow 17 .2 MVCMVC DesignDesign PatternPattern 18 .3 ViewView 19 .4 ModelModel .20 .5 ControllerController 20 .6 ImplementsImplements 20 3.5 Login Module20 .1 FlowFlow 20 .2 MVCMVC DesignDesign PatternPattern 22 .3 ViewView 22 .4 ModelModel .22 .5 ControllerController 23 .6 ImplementsImplements 23 3.6 Implements of Other Module23 3.7 Summary26 Contents XI CHAPTER 4 STRUTS+HIBERNATE FRAMEWORK.27 4.1 Concept of Struts Framework.27 .1 StrutureStruture ofof StrutsStruts FrameworkFramework 27 .2 ActionFormActionForm BeanBean .27 .3 InitializeInitialize ofof StrutsStruts FrameworkFramework 28 .4 ResponseResponse ofof BrowserBrowser RequireRequire .28 4.2 Apply of Struts Framework.30 .1 StrutsStruts PackagePackage 30 .2 EstablishEstablish ofof StrutsStruts FrameworkFramework 3131 .2 web.xmlweb.xml 3131 .3 Struts-config.xmlStruts-config.xml 3434 .4 InternationalizationInternationalization SupportSupport 3838 4.3 Hibernate Component38 4.4 Latest Development of Struts:Struts 2.0.40 .1 AdvantageAdvantage andand DisadvantageDisadvantage ofof StrutsStruts 1.X1.X 41 .2 IntroductionIntroduction ofof Struts2.0Struts2.0 .42 4.5 Summary43 CHAPTER 5 SUMMARY AND OUTLOOK44 5.1 Summary44 5.2 Outlook44 ACKNOWLEDGEMENTS.46 REFERENCES.47 SUPPLEMENTSUPPLEMENT STRUTS-CONFIG.XML.49 基于 Struts+Hibernate 框架的在线答疑系统 XII 第一章 绪论 1 第一章第一章 绪论绪论 1.1 MVC 设计模式的概念设计模式的概念 已在软件开发中得到广泛应用的“模型-视图-控制器”设计模式是 80 年代 Smalltalk-80 出现的一种软件设计模式1。MVC,即 Model View - Controller, 把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行 分离,这样一个应用被分成三个层视图层、控制层、模型层(又称业务层、 逻辑层) 。它们三者的主要功能和相互关系如图 1.1 所示。 模模 型型 封装应用程序状态 响应状态查询 应用程序功能 通知视觉改变 视视 图图 解释模型 模型更新请求 发送用户输入给控制器 允许控制器选择视图 控控 制制 器器 定义应用程序行为 用户动作映射成模型更新 选择响应的视图 状态改变 状态查询 视图选择 方法调用 通知改变 事件 提交表单 图图 1.11.1 MVCMVC 设计模式的结构设计模式的结构 视图(View)层负责处理用户交互界面。对 Web 应用来说,主要是 HTML 界 面。随着应用的复杂性和规模性不断提高,界面的处理也变得越来越复杂和具 有挑战性。MVC 设计模式对于视图的处理仅限于用户界面上数据的采集和处理, 以及处理用户的请求,而不包括在视图上的业务流程的处理,从而使界面设计 工作从复杂的业务处理流程中独立出来,大大减少了界面的开发时间和难度。 模型(Model)层负责业务流程的处理和业务规则的制定。业务流程的处理过 程对其它层来说并不可见,业务层接受视图层请求的数据,并返回最终的处理 基于 Struts+Hibernate 框架的在线答疑系统 2 结果。业务模型的设计可以说是 MVC 最主要的核心,对一个开发者来说,可 以专注于业务模型的设计。MVC 并没有提供模型的设计方法,而只告诉开发者 应该组织管理这些模型,以便于模型的重构和提高重用性。 控制器(Controller)层将模型与视图匹配在一起,共同完成用户的请求。划 分控制层的作用也很明显,在 MVC 三层设计模式中,它是一个对视图层和业 务层的分发器:它决定在多种模型和视图中进行选择和组合,来完成不同的用 户请求。控制层并不做任何数据处理。例如,用户点击一个连接,控制层接受 请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么, 选择符合要求的视图返回给用户,从而达到一个模型可能对应多个视图,一个 视图可能对应多个模型的目的。 业务层、视图层与控制器层的分离,使得一个模型可以具有多个界面视图。 如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据 的视图都应更新这些变化。因此,无论何时发生了何种数据变化,控制器都会 将变化通知所有的视图,导致显示的改变。这实际上是一种模型的变化-传播机 制1。 1.2 MVC 设计模式的优越性设计模式的优越性 很多用过程语言(如 ASP、PHP)开发出来的 Web 项目,初始的开发模板 就是将三个应用层混合起来的,直接面向数据的代码。例如,直接向数据库发 送请求并将返回结果用 HTML 显示。这种开发方式往往在短期内可以体现出较 高的开发效率,但由于数据和页面的分离不直接,因而很难体现出业务流程或 者模型的重用性。各层之间的高耦合性导致软件设计弹性力度小,很难满足用 户的变化性需求。MVC 设计模式要求对应用分层,虽然要花费额外的工作,但 项目的结构清晰,业务流程通过模型可以得到更好地体现。 首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求 的快速变化下,可能有多种方式访问应用的要求。例如一个航空订票模型,可 能有系统内的预订,也可能有网上预订或电话预订,但对于订单的处理都是一 样,都遵循同样的业务模型。而按照 MVC 设计模式,一个订单模型对应多个 视图即可解决上述问题。这样减少了代码的复制,就减少了代码的维护量,一 第一章 绪论 3 旦模型发生改变,也易于维护。 其次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应 用的改变。当业务流程或者业务规则的改变(如上例中机票价格或班次发生改 变)时,开发者只需改动 MVC 中的业务层。控制层的概念对安全性能的完善 也有一定作用:由于它把不同的模型和不同的视图组合在一起完成不同的请求, 因此,控制层也包含了用户请求权限的概念。 最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同 的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。 1.3 常见常见 MVC 框架介绍框架介绍 基于 Web 的 MVC 框架在 J2EE 的世界内已是空前繁荣。网络上几乎每隔 一两个星期就会有新的 MVC 框架发布。目前比较好的 MVC 有 Struts、webwork、Spring MVC、Tapestry、JSF 等。这些框架都提供了较好的层 次分隔能力。在实现良好的 MVC 分隔的基础上,通过提供一些现成的辅助类 库,同时也促进了开发效率的提高。 在软件项目中选择一个好的框架应用,对开发效率和可重用是至关重要的。 下面将对目前较为常见的几种 MVC 框架进行介绍。 .1 StrutsStruts 框架框架 Struts 是 Apache 软件基金旗下 Jakarta 项目的一部分。Struts 框架的主要开 发者和架构设计者是 Craig R.McClanahan2。自 2000 年面世以来,Struts 已经 逐渐成长为一个稳定、成熟的框架,并且占有了 MVC 框架中最大的市场份额。 虽然 Struts 某些技术特性上已经落后于新兴的 MVC 框架(如最新的 webwork 3.X,见下文“4.4 Struts 的最新发展) 。面对 Spring MVC、webwork3、JSF 等设 计更精巧,扩展性更强的框架,Struts 受到了前所未有的挑战。但从产品开发的 角度而言,Struts 仍然是最稳妥的选择。 Struts 有一组相互协作的类(组件) 、Serlvet 和 JSP taglib 组成。基于 Struts 构架的 web 应用程序基本上符合 JSP Model2 的设计标准,可以说是 MVC 设计 基于 Struts+Hibernate 框架的在线答疑系统 4 模式的一种变化类型。同时 Struts 也包含了丰富的标记库和独立于该框架工作 的实用程序类。Struts 有其自己的控制器(Controller) ,同时整合了其他的一些 技术去实现业务层(Model)和视图层(View) 。在业务层,Struts 可以很容易 的与数据访问技术相结合,包括 EJB、JDBC 和 Object Relation Bridge。在视图 层,Struts 能够与 JSP, Velocity Templates、XSL 等表示层组件相结合。 .2 SpringSpring 框架框架 Spring 是一个开源框架,由 Rod Johnson 创建3。它是为了解决企业应用开 发的复杂性而创建的。Spring 使开发者可以使用基本的 JavaBeans 来完成以前 只可能由 EJB 完成的工作。Spring 的用途不仅限于服务器端的开发,从简单性、 可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。 Spring 是一个轻量的控制反转和面向切面的容器框架:从大小与开销两方 面而言 Spring 都是轻量的,完整的 Spring 框架可以在一个大小只有 1MB 多的 JAR 文件里发布。Spring 通过一种称作控制反转(IoCInversion of Control) 的技术促进了松耦合。当应用了 IoC,对象被动地传递它们的依赖而不是自己 创建或者查找依赖对象。Spring 包含对面向切面编程的丰富支持,允许通过分 离应用的业务逻辑与系统服务(例如审计与事物管理)进行内聚性的开发。应 用对象只负责完成业务逻辑,它们并不负责其它的系统关注点(如日志或平台 支持) 。Spring 包含和管理应用对象的配置和生命周期,在这个意义上它是一种 容器。你可以配置你的每个 bean 如何被创建。基于一个配置原形为你的 bean 创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互 关联的。Spring 使由简单的组件配置和组合复杂的应用成为可能。在 Spring 中, 应用对象被声明式地组合在一个 XML 文件里。 所有 Spring 的这些特征使程序员能够编写更干净、更可管理、并且更易于 测试的代码。它们也为 Spring 中的各种子框架提供了基础。 .3 JSFJSF 框架框架 JSF(JavaServer Faces)是构建 Java Web 应用的 UI 框架,它基于 Java 社区流 行(JCP)开发,已经成为 JavaEE 的一部分。JSF 的主要优势之一就是它既是 第一章 绪论 5 Java Web 应用程序的用户界面标准又是严格遵循 MVC 设计模式的框架。 JSF 提供一系列标准部件(如按钮、超链接和复选框等) ,创建定制部件的 模型以及提供在服务器端处理客户端产生事件的方式,并且有良好的工具支持。 它还可以方便地同步 UI 组件和相关对象的值,而且不必编写太多令人生厌的代 码。 所有的 JSF 应用都构建于 Servlet API 之上,使用 HTTP 进行通信,并且使 用 JSP 之类的显示技术。JSF 应用并不是一定需要 JSP,它也可以使用 XML/XSLT、其他模板引擎或者普通 Java 代码等作为显示技术。然而,Faces 实现提供了对 JSP 的集成基础。 Faces 的组件架构使用 JavaBean 来处理属性并提供基本的工具支持以及事 件模型和其他一些东西。JSF 被视为 Web 应用框架,是因为它执行了许多通用 的开发任务,所以开发人员可以更加集中精力于更有趣的事情,比如业务逻辑。 它的一个关键特征是支持 MVC 设计模式,但是 Faces 主要还是集中于 UI 组件 和事件。因此它可以很好地与其他框架集成4(如 Struts、webwork 等) 。 1.4 本文主要内容及结构本文主要内容及结构 本文主要介绍了大学教学与科研辅助系统在线答疑子系统 (以下简 称在线答疑子系统 )的开发过程,并详细阐述了如何在该项目中应用符合 MVC 设计模式的 Struts+Hibernate 框架体系。本文组织结构说明如下: 第一章:绪论,引入 MVC 设计模式的概念,并简要介绍了流行的几种 MVC 框架。 第二章:项目需求分析,在调查研究大学教学科研过程和流行 BBS 网站功 能的基础上,提出本项目的需求说明。 第三章:项目设计与实现,以“前台注册功能模块”和“登录模块”为例, 介绍如何以 MVC 设计模式设计与实现本项目的各个模块。 第四章:关键技术,详细阐述了 Struts+Hibernate 框架的工作原理及应用方 法,并介绍了如何在软件项目中构建和配置 Struts+Hibernate 框架。 第五章:总结与展望,通过对项目开发过程的回顾,总结了经验和教训, 并提出下一步工作的方向。 基于 Struts+Hibernate 框架的在线答疑系统 6 第二章 项目需求分析 7 第二章第二章 项目需求分析项目需求分析 需求分析的主要任务就是通过调查研究,分析软件用户的需要,确定软件 项目的需求说明。需求分析在整个开发过程中具有决策性、方向性、策略性的 作用,具有举足轻重的地位5。 因此,本章将在调查研究大学教学科研的业务流程和流行 BBS 网站功能的 基础上,分析项目需求,提出项目需求说明,从而为下一阶段的设计和实现打 下基础。 2.1 项目背景项目背景 大学教学与科研辅助系统的设计目标是制作一个面向广大大学教师和 大学生的开放型教学与科研辅助系统,搭建基于互联网的教学与科研资源共享 平台,便于大学教师的教学科研管理以及师生间资源共享。本系统从大学教师 的日常业务出发,充分提高教育与科研的网络化、电子化水平,从而能够大大 提高教育与科研的效率。 该系统主要分为教学与科研资源共享、教学与科研管理、在线答疑系统、 校友管理等四个部分。系统功能结构如图 2.1 所示。 大学教学与科研辅助系统 教学与科研资源共享 教学与科研管理 在线答疑系统(BBS) 校友管理 图图 2.12.1 大学教学与科研辅助系统结构图大学教学与科研辅助系统结构图 其中,在线答疑系统是该系统的一个子系统,为使用系统的教师和学生提 供一个讨论课程疑难、交流科研经验的平台。本系统基于 B/S 架构开发,应具 有时下流行各 BBS 网站的主要功能,如用户注册、用户登录、匿名登录、发表 文章、阅读文章、回复别人的文章、等前台功能,以及编辑论坛、编辑帖子、 基于 Struts+Hibernate 框架的在线答疑系统 8 更改用户权限等后台功能。此外,本系统还应具有界面友好,响应快,安全性 高的特点。 2.2 术语解释术语解释 前台:指管理员及版主的登录和管理论坛若干功能模块的总和。 后台:指注册用户及游客的注册登录、浏览论坛、发表话题和回复等功能 的总和。 管理员(admin):是该系统的一种用户级别,该级别用户具有管理论坛、 管理主题及回复、管理用户等权限。 版主(manager):是该系统的一种用户级别,每个该级别的用户与一个或 多个子论坛对应,具有在相应子论坛内管理主题及回复的权限。 注册用户(user):是该系统的一种用户级别,享有浏览各子论坛、发表 新话题及发表回复的权限。 游客(guest):是该系统的一种用户级别,只能看贴不能发帖。 注册(registration):指游客通过提交信息成为注册用户的过程。 2.3 前台系统功能需求说明前台系统功能需求说明 .1 需求用例说明需求用例说明 本系统的前台部分应具有注册登录、注销退出、浏览论坛、发表话题、发 表回复等功能。前台系统功能用例图如图 2.2 所示。 注册用户 注册 登录 注销 浏览论坛 发表新文章 第二章 项目需求分析 9 图图 2.22.2 前台系统用例图前台系统用例图 前台系统用例描述如下: 用例名称用例名称浏览帖子 功能简述功能简述注册用户和未注册用户可以浏览帖子列表和详细内容。 主事件主事件1、 进入分论坛,浏览帖子标题。 2、 点击帖子标题,进入帖子,阅读详细内容。 备注事件备注事件 用例名称用例名称发表新主题 功能简述功能简述注册会员发表新主题。 主事件主事件1、 点击“发表新主题” ,进入新主题发表页面。 2、 填写标题、内容,并提交。 备注事件备注事件1、如标题内容为空,提示错误信息。 2、未注册用户不能发表新主题。 用例名称用例名称发表回复 功能简述功能简述注册会员发表回复。 主事件主事件1、 点击“回复” ,进入回复页面。 2、 填写内容,并提交。 备注事件备注事件1、如内容为空,提示错误信息。 2、未注册用户不能发表回复。 用例名称用例名称用户注册 功能简述功能简述未注册用户输入相关信息之后成为注册用户,拥有相关权限。 主事件主事件1、 在主页面中点击“新用户注册”按钮,进入注册页面。 2、 正确填写的各项信息,并提交。 3、 系统判断所提交的信息是否合法。 4、 以注册用户身份进入论坛浏览页面。 基于 Struts+Hibernate 框架的在线答疑系统 10 备注事件备注事件如果用户提交的信息不正确则提示错误信息。 用例名称用例名称用户登录 功能简述功能简述管理员、版主和注册用户三种角色的用户需要输入正确的用户 名和密码后才可以进入论坛,并拥有各自权限。 主事件主事件1用户在界面中输入用户名和密码,并提交。 2系统判断用户输入的用户名和密码是否合法。 3用户输入的用户名和密码合法则根据用户不同的角色进 入不同的主页面。 备注事件备注事件如果用户的用户名和密码不合法则返回登入页面并给出错误信 息。 .2 需求流程说明需求流程说明 前台系统功能活动图如图 2.3 所示。 访问论坛 登录注册 浏览论坛 浏览帖子 发表新话题 发帖成功 是否注册 是 否 是否注册 是 否 是 否 是否注册 第二章 项目需求分析 11 图图 2.32.3 前台系统活动图前台系统活动图 2.4 后台系统功能需求说明后台系统功能需求说明 .1 需求用例说明需求用例说明 本系统的后台部分应具有编辑论坛、编辑帖子、更改用户权限等后台功能。 后台系统功能用例图如图 2.4 所示。后台系统用例描述如下: 用例名称用例名称管理用户 功能简述功能简述管理员对用户信息进行管理。 主事件主事件1、 点击“用户管理”按钮,进入用户管理信息页面。 2、 点击用户名,进入用户详细信息页面。 3、 对用户信息进行更改,并提交。 4、 点击“删除”按钮,删除该用户。 备注事件备注事件 用例名称用例名称管理分论坛 功能简述功能简述管理员对分论坛进行管理。 主事件主事件1、 点击“论坛管理”按钮,进入分论坛管理信息页面。 2、 点击分论坛名称,进入分论坛详细信息页面。 3、 对论坛名称、版主进行修改,并提交。 4、 点击“添加”按钮,进入添加新分论坛页面,填写论 坛信息并提交。 备注事件备注事件如果管理员提交的信息不完整则提示错误信息。 用例名称用例名称管理主题 功能简述功能简述管理员和版主对主题、回复进行管理。 主事件主事件1、 点击“编辑”按钮,进入编辑页面。 基于 Struts+Hibernate 框架的在线答疑系统 12 2、 编辑主题或内容,并提交。 3、 点击“删除”按钮,并提交。 备注事件备注事件如果管理员或版主提交的信息不完整则提示错误信息。 管理员 管理用户 管理分论坛 管理主题 图图 2.42.4 后台系统用例图后台系统用例图 .2 需求流程说明需求流程说明 前台系统功能活动图如图 2.5 所示。 2.6 非功能性需求非功能性需求 .1 安全性安全性 本系统应当具备一定的防卫网络攻击的能力、一定的数据库安全性。对不 同用户权限应有严格定义。 第二章 项目需求分析 13 登录 管理用户管理分论坛管理主题 是否注册 是 否 图图 2.52.5 后台系统活动图后台系统活动图 .2 可用性可用性 本系统应能被各种主流浏览器正确访问,不至发生在某一种浏览器下界面 显示错误的情况。 当同一时间有较多用户同时访问时,应能保证每个用户请求的响应时间在 可忍受的范围内。 .3 可扩展性可扩展性 本系统应为未来可能的二次开发或客户需求变更提供足够的可扩展性。 2.7 本章小结本章小结 需求分析是软件项目开发过程是十分重要的一个环节。这一章首先介绍了 项目产生的背景,接着在大量调查研究的基础上,分析用户需求,分别总结出 了前、后台功能需求说明和一些非功能性需求说明。这些需求说明为下一个阶 段的开发指明了方向。 基于 Struts+Hibernate 框架的在线答疑系统 14 第三章第三章 项目设计与实现项目设计与实现 项目需求分析阶段结束以后,将进入项目设计与实现阶段5。本项目的设 计与实现将遵循以下阶段进行6: 1、准备项目开发平台 2、设计数据模型,实现数据库构建 3、系统框架构建 (见“第四章 Struts+Hibernate 框架应用” ) 4、前台功能模块设计与实现 5、后台功能模块设计与实现 6、系统测试 下面将分别介绍以上几个阶段的开发过程。其中,重点通过“前台用户注 册模块”和“登录模块”的设计说明,详细介绍基于 Struts 框架实现 MVC 设 计模式的过程。 3.1 项目开发平台项目开发平台 本系统开发平台准备如下: 1.硬件平台: Intel CentrinoII 1.86GHz (533MHz)/Intel 915PM / 1GBDDR2 PC4200(533MHz) / 网络设备 2.操作系统:Microsoft Windows XP Professional Service Pack 2 3.Java 平台:JDK 1.5 4.Web 服务器:Tomcat v5.0.28 5.数据库服务器:MySQL v5.0.37 / Navicat 8 for MySQL 6.开发平台:MyEclipse Enterprise Workbench Version: 6.0.1 all-in-one GA 7.Eclipse 插件:ResourceBundleEditor v0.7.7 第三章 项目设计与实现 15 3.2 数据模型与数据库设计数据模型与数据库设计 .1 数据模型数据模型 根据需求分析得出的结论,本系统涉及到的可以抽象出来的数据模型有: 用户(User) 、论坛(Forum) 、主题(Topic)以及回复(Response) 。这些数据 模型7在系统中相互关系如图 3.1 所示。 User PKusername password sex email qq signature grade Forum PKid forumname manager FK1username Topic PKid title content FK1author submittime FK2forumid Response PKid title content author submittime FK1topicid +1 +n +1+1 +1 +1 +n +n 图图 3.13.1 数据模型实体关系图数据模型实体关系图 其中每一个模型7的定义如下: 用户(User):代表用户实体。主要属性有用户名(username) 、密码 (password) 、性别(sex) 、电子邮箱(email) 、qq 号码(qq) 、签名档 (signature) 、用户级别(grade) 。 论坛(forum):代表论坛实体。主要属性有 ID、论坛名(forumname)及 版主(manager) 。 主题(Topic):代表主题实体。主要属性有 ID、标题(title) 、内容 (content) 、作者(author) 、提交时间(submittime)和论坛 ID(forumid) 。 基于 Struts+Hibernate 框架的在线答疑系统 16 回复(Response):代表回复实体。主要属性有 ID、标题(title) 、内容 (content) 、作者(author) 、提交时间(submittime)和主题 ID(topicid) 。 .2 数据库实现数据库实现 上述数据模型的实现平台为 MySQL v5.0.37,并使用 Navicat 8 for MySQL 作为可视化数据库平台8。对应数据模型,实现数据库共分为四个表,即用户 表(User) 、论坛表(Forum) 、主题表(Topic)和回复表(Response) 。各表字 段和定义如表 3.1-表 3.4 所示。 表表 3.13.1 UserUser 表表 字段及定义说明字段及定义说明 表表 3.23.2 ForumForum 表表 字段及定义说明字段及定义说明 表表 3.33.3 TopicTopic 表表 字段及定义说明字段及定义说明 第三章 项目设计与实现 17 表表 3.43.4 ResponseResponse 表表 字段及定义说明字段及定义说明 3.3 概要设计概要设计 .1 前台若干功能模块前台若干功能模块 在线答疑子系统总体设计分为前台登录模块和后台登录模块两部分。 前台登录主要用于普通用户以及未注册的游客使用,以实现答疑系统的登录注 册、浏览帖子、发帖、回帖、注销等前台功能,如图 3.2 所示。其访问入口为: http:/localhost:8080/BBS_for_QA/userloginJSP.do 前台用户模块 注册模块 用户注销登陆模块 浏览所有回复模块 发表新话题模块 浏览论坛所有主题模块 浏览所有论坛模块 前台用户登录模块 图图 3.23.2 前台用户模块前台用户模块 基于 Struts+Hibernate 框架的在线答疑系统 18 3.3

温馨提示

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

评论

0/150

提交评论