系统架构分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论系统功能架构设计院系
专业
学号
姓名
成绩
摘要
当今,以信息科学技术为先导的社会变革,全面推动着社会的发展,当代社会进入了以网络信息为中心的信息时代。建立以计算机技术、网络技术、现代数据库技术为基础的现代多层人事管理信息系统,不仅是建立现代化企业的需要,也是发展的需要。文章从J2EE技术出发,对Struts、Spring和Hibemate框架进行了分析。Struts是一个MVC模式的框它将业务代码与视图代码分离开,有效的优化了系统结构,提高了系统的扩展性。Spring是一种轻量级的容器,依赖注入动态的使系统各组件间达到松散结合,同时能够很好的兼容各种框架。Hibemate是一个对象/关系数据库映射工具,提供了Java类到数据表之间的映射,实现了对象与数据库关系之间的交互,使系统具有良好的性能和移植性。
关键词:架构、多层分级、struts、Spring、Hibemate
系统功能架构分析与设计
1.系统分层结构应用及MVC框架开发简介
我们在做着表面上看似是对于各种不同应用的开发,其实背后所对应的架
构设计都是相对稳定的。在一个好的架构下编程,不仅对于开发人员是一件赏
心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不
合理,不仅让系统开发人员受苦受难,软件本身的生命周期更是受到严重威胁。
信息系统功能部分一般采用多层架构,是在MVC框架概念上发展而来的,
最适合B/S及C/S程序的模板。而B/S是随着Internet技巧的兴起,对C/S结构的一种变化或者改良的结构。在这种结构下,用户工作界面是通过WWW浏览
器来实现,极少部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓三层结构,即表现层、业务逻辑层、数据持久层。其中,表现层:包含代码、用户交互GUI、数据验证,这层用于向客户端用户提供GUI交互,它允许用
户在显示系统中输入和编辑数据,同时,系统提供数据验证功能。这样就大大简
化了客户端电脑载荷,减轻了系统保护与升级的成本和工作量,降低了用户的
总体成本。同时也被广泛地应用到工具软件中,成为应用程序的构成基础。MVC把系统的组成分解成模型、视图、控制三个核心组成,三者的分离使得一
个模型可以具有多个显示视图。MVC具有设计清晰,易于扩展,运用可分布的
特点,使得前台后台的数据控制和表现能力彼此分离,加快开发进程及产品推
向市场的时间。
2.SSH开发框架的引入
SSH为Struts+Spring+Hibemate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业
务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、
可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础框架,充当MVC里的Controller层,在Struts框架的模型部分,利用Hibemate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面
向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,
然后编写基本的DAO接口,并给出Hibemate的DAO接口实现,采用Hibemate 架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Service 完成业务逻辑。其中Struts分Struts1和Struts2,从而SSH框架也分成了Struts1整合的SSH和Struts2整合的SSH。
3.SSH系统框架模型的优缺点分析与讨论
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性,而且由于不同层之间的耦合度小,有利于团队成员并行工作,而且能够结合面向对象技术,也是采用分层次架构重要原因之一。另一方面功能的稳定性与灵活性大大提高了开发效率。
尽管SSH开发模型有如此多的优势,但也有一定的与缺陷,Struts将MVC 的Controller层一分为三,因此在获得结构更加清晰的同时,也增加了系统的复杂度,这使得开发人员在工作量上增加很多。而且同时也给系统测试带来不便,它的测试依赖于Web容器,单元测试也很难实现。在开发简单的项目时,Hibernate带来的不便是很明显的,但在开发大型项目的时候,Hibernate带来的效果是惊人的。Hibernate的灵活性也给初学者带来相当大的难度。Spring 的控制器过于灵活,缺少一个公用控制器,给开发人员带来不便。
参考文献
[1]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M]. 北京:电子工业出版社,2004.
[2]Irmion W H.Commentary:The Migration Path[J].ComputerWorld,1996(29):66—72.