jsp+mysql的OA办公自动化系统+需求分析+系统用例图 第3页
系统总体设计3.1系统架构设计
J2EE技术发展到今天,已有很多成熟的技术和思想,在技术和思想上两者可谓相辅相成,互相影响,缺一不可。技术和思想的不断革命为J2EE系统的开发注入不少动力,并且不断带来变化。从以前的纯JSP开发到JSP+JAVABEAN,再到MVC技术的普及等等,都带来革命性的影响。到了现在,J2EE各项技术和思想上的不断革新,程序员们陆续提倡要回归软件本身,回归软件的核心,即为用户解决领域相关问题的能力,其他的一些特性,尽管他们也许是必需的,但也是用来支持这个核心目的的。
解决领域相关问题要求我们更加关注领域对象模型的建模,而解决来自领域方面的问题的软件本分通常只占整个软件系统的一小部分,这于它的重要性相比是不成正比的。为了应用优秀的领域建模技术,我们需要把领域对象跟系统的其他功能分离出去,才能避免另领域概念雨其他跟软件技术相关的概念混淆或者在庞大的系统中失去对领域的把握。本文来自辣'文*论-文"网
这种成熟的领域分离技术早已出现,它为我们打下良好的基础-----系统架构分层。
传统三层架构早已在J2EE项目中得到广泛应用,它主要分为:表现层,业务逻辑层和持久化层。将一个复杂的程序进行层次划分。为每一层进行设计,每层都是高内聚的而且只依赖于它的下层,每层具体职责为:
表现层 负责向用户显示信息,并解析用户命令。定义软件可以完成的工作,并指挥下层操作领域对象来解决问题。
业务逻辑层 该层对业务影响深远,他包含业务规则或者知识,完成系统主要功能需求,操作领域对象互相合作解决问题
持久化层 为上层提供通用技术能力,把领域对象持久化保存到数据库中,为下次访问该对象提供条件
各层分工合作,层于层之间做到低耦合,每层间的类做到高内聚,使系统可文护性和扩展性得到巨大的提升。
3.2本系统架构设计及系统技术介绍
本系统采用JAVA语言进行开发,面向对象特性为系统的可文护性和可扩展性提供了根本的支持,而且JAVA开放源代码特性,使其迅速发展,涌现大量成熟技术支持,尤其在JAVA EE领域,更可谓前无古人。
JAVA EE包含13种技术,当然现在可能已经不止,当今JAVA EE领域里更多的是使用Struts,Hibernate,Spring的架构方式,现在分别介绍一下这三种技术,然后就这三种技术可以解决的问题作陈述,再而讨论本系统采用这三种技术的必要性。
3.3 Struts
Struts作为一个开放原代码的应用框架,在最近几年得到了飞速的发展,在JSP Web应用开发中应用得非常广泛,有的文献上说它已经成为JSP Web应用框架的事实上的标准。
Struts是一个实现了Model2的MVC框架,要介绍Struts的话,就要从JSP Web应用的两种基本的结构模式:Model 1和Model 2说起,
Model 1结构如图1所示:
mode1 1是一个以JSP文件为中心的模式,在这种模式中JSP页面不仅负责表现逻辑,也负责控制逻辑。专业书籍上称之为逻辑耦合在页面中,这种处理方式,对一些 规模很小的项目如:一个简单的留言簿,也没什么太大的坏处,实际上,人们开始接触一些对自己来说是新的东西的时候,比如,用JSP访问数据库时,往往喜欢 别人能提供一个包含这一切的单个JSP页面,因为这样在一个页面上他就可以把握全局,便于理解。但是,用Model 1模式开发大型时,程序流向由一些互相能够感知的页面决定,当页面很多时要清楚地把握其流向将是很复杂的事情,当您修改一页时可能会影响相关的很多页面, 大有牵一发而动全身的感觉,使得程序的修改与文护变得异常困难;还有一个问题就是程序逻辑开发与页面设计纠缠在一起,既不便于分工合作也不利于代码的重 用,这样的程序其健壮性和可伸缩性都不好。
Grady Booch等人在UML用户指南一书中,强调建模的重要性时,打了一个制作狗窝、私人住宅、和大厦的形象比喻来说明人们处理不同规模的事物时应该采用的合 理方法一样,人们对不同规模的应用程序也应该采用不同的模式。
为了克服Model 1的缺陷,人们引入了Model 2,如下图所示:
它引入了"控制器"这个概念,控制器一般由servlet来担任,客户端的请求不再直接送给一个 处理业务逻辑的JSP页面,而是送给这个控制器,再由控制器根据具体的请求调用不同的事务逻辑,并将处理结果返回到合适的页面。因此,这个servlet 控制器为应用程序提供了一个进行前-后端处理的中枢。一方面为输入数据的验证、身份认证、日志及实现国际化编程提供了一个合适的切入点;另一方面也提供了 将业务逻辑从JSP文件剥离的可能。业务逻辑从JSP页面分离后,JSP文件蜕变成一个单纯完成显示任务的东西,这就是常说的View。而独立出来的事务 逻辑变成人们常说的Model,再加上控制器Control本身,就构成了MVC模式。实践证明,MVC模式为大型程序的开发及文护提供了巨大的便利。 本文来自辣'文*论-文"网
其实,MVC开始并不是为Web应用程序提出的模式,传统的MVC要求M将其状态变化通报给V,但由于Web浏览器工作在典型的拉模式而非推模式,很难做 到这一点。因此有些人又将用于Web应用的MVC称之为MVC2。正如上面所提到的MVC是一种模式,当然可以有各种不同的具体实现,包括您自己就可以实 现一个体现MVC思想的程序框架,Struts就是一种具体实现MVC2的程序框架。它的大致结构如下图所示:
上一页 [1] [2] [3] [4] [5] 下一页
jsp+mysql的OA办公自动化系统+需求分析+系统用例图 第3页下载如图片无法显示或论文不完整,请联系qq752018766