企业级应用软件架构模式的研究和应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着软件技术和Internet的发展,软件的规模变得越来越大。软件的架构对于系统的分析和重用起着至关重要的作用。如何合理有效地确定系统的组件构成和组件之间的关系,从而满足软件的功能属性和非功能属性的要求,是架构研究的热点问题。面向模式的软件架构理论地提出,对该问题做出了一个合理地回答。
     本文针对基于Internet的、大规模的、业务逻辑复杂的企业级应用,根据系统的需求和用例,重点研究如何利用软件模式,来构建应用的架构。
     首先对软件架构理论和模式理论的产生、概念做了分析和论述,并且介绍了两大软件平台J2EE和.Net的架构。指出软件架构是以系统的高层设计和总体结构为中心的,而模式是对软件系统的设计和实现中重复出现的特定问题的解决方案进行抽象和提炼,所得到的公共要素,是经验的总结,对于软件架构的构建具有指导作用。其次,按照问题、解决方案和结构、实现的思路深入探讨了架构模式,总结了它们的优缺点,并且从中分析出了所包含或者涉及到的设计模式。最后,结合一个具体的企业级应用实例—企业远程教育支撑平台,在架构模式理论研究的基础上,利用层、模型—视图—控制器和数据传输对象等模式来构建系统的架构,从而在实践中论证了合理地应用模式可以提高系统的可维护性、可扩展性和可配置性。
     在本文中,吸取了多DTO模式的优点,结合工厂模式和策略模式,利用接口来抽象,对DTO模式的实现做出了改进,并且应用到了实际软件项目中,从实践中证明了该解决方案是满足可插入性的设计原则的。这是本文的一个创新点。
With the development of software technology and Internet, the scale of software has become larger and larger. It is crucial for the software architecture to analyze and reuse the system. It is a hot topic to define the components of a system and the relationship among them and meet the requirement of functional and non-functional property. Then the theory of pattern-oriented software architecture is put forward and it gives a reasonable answer for it.
    This dissertation discusses how to construct the architecture of large-scale enterprise application with complex business logic based on Internet using software pattern in accordance with the requirement and use case.
    Firstly, the generation and concepts of software theory on architecture and pattern are discussed. And it introduces two big software platforms as J2EE and .Net. It is pointed out that software architecture is centered on high-level design and the whole structure of the system. Pattern is summarization of experience and also the common factor that is obtained by abstracting solutions to certain problems repeatedly appeared in designing and actualizing software system Abstracted from experience, pattern plays an instructive role in designing software architecture.
    Secondly, on the sequence of problem, solution, structure and actualization, the dissertation explores architecture patterns and generalizes advantages and disadvantages of them respectively.
    Lastly, on the basis of an enterprise application - Enterprise Education Support Platform on Internet, the author analyses the application of architecture pattern in the design of system architecture with layer, MVC and data transfer object pattern etc. And it discusses such benefits as maintainability, ability of extending and configuration to systems due to the appropriate use of architecture pattern.
    In particular, based on practical problems and the research of pattern of DTO, the author suggests an improved DTO pattern by using interface to abstract with factory pattern and strategy pattern. The realization of the DTO pattern has been used in an actual software project
    
    
    
    and proved that the solution is feasible and meets the requirement of design principle. This is an innovation of the dissertation.
引文
[1] Martin Fowler. Patterns of Enterprise Application Architecture. Boston: Addison Wesley Longrnan, Inc., 2002,11.1~4
    [2] 黄洪涛.基于Web的分布式计算.计算机应用研究,2000(2).30~31
    [3] Wolczko, M. Encapsulation, delegation and inheritance in Object-Oriented languages.Software Engineering Journal, 1992(2). 95~101
    [4] 包龙翔,曹抗震.设计面向对象的软件框架.计算机应用研究,2003(3).27~30
    [5] Jeff Garland, Richard Anthony. What is software architecture. Database and network joumal, 2003(1). 3~6
    [6] B.Bruegge,A.H.Dutoit.Object-Oriented Software Engineering.面向对象的软件工程——构建复杂而多变的系统.吴丹等译.北京:清华大学出版社,2002.98~101
    [7] 阎宏.Java与模式.北京:电子工业出版社,2002,10.100~102
    [8] Frank Bushmann, Regine Menunier. Pattern-Oriented Software Architecture Volume 1: A System of Patterns. Indianapolis: John Wiley & Sons, Inc., 1996. 7~12
    [9] Erich Gamma, Richard Helm. Design-Patterns Delements of Resuable Object-Oriented Software. Boston: Addison Wesley Longman, Inc., 1995.2~3
    [10] 王晓庆,曾文英.设计模式中的面向对象原则及其子模式.计算机工程,2003(9).192~194
    [11] 陈波,宁洪.设计模式分析与应用.计算机工程与应用,2003(2).146~148
    [12] 钟茂生,王明文.软件模式及其使用.计算机应用,2002(8).32~33
    [13] John Grundy, John Hosking. SoftArch: tool support for integrated software architecture development. International journal of software engineering and knowledge engineering, 2003(2). 125~151
    [14] 熊江.面向对象的框架设计.西南师范大学学报:自然科学版,2003(3).391~392
    [15] 苏晓玲,王晓东.构建企业级应用的新技术-J2EE技术.福建电脑,2003(1).1~2
    [16] Robert Powell,Richard Weeks.C# and the.Net Framework.C# 和.Net架构.袁鹏飞译.北京:人民邮电出版社,2002.13~16
    [17] 卫伟,陆慧娟.微软.Net开发平台初探.微机发展,2003(6).89~90
    
    
    [18] 任开银,黄东.在.Net上架构企业级应用程序.微型机与应用,2003(1).29~30
    [19] Andrew Haigh. Objected-Oriented Analysis & Design. South Hackensack: The McGraw-Hill Companies, Inc, 2001.30~34
    [20] 莫东松,彭晓东.面向对象的分层应用程序的三种结构模式.计算机应用研究,2003(2).34~35
    [21] Neill, C.J., Gill, B. Refactoring reusable business components. IT professional, 2003(1).33~38
    [22] 林颖贤.面向对象程序设计中的功能复用技术及应用.交通与计算机,2001(5).55~56
    [23] David M. Dikel. Software Architecture: Organizational Principles and Patterns. New Jersey: Prentice Hall PTR, 2001.34~37
    [24] 唐晓君,刘心松.运用设计模式改善软件设计质量的研究.电子科技大学学报,2003(4).170~171
    [25] 刘兵.软件体系架构模式在 J2EE 中的应用.http://www-900.ibm.com/developerWorks/cn/index.shtml.2003,10.
    [26] Wutka M.Java2企业版使用全书.北京:电子工业出版社,2001.121~123
    [27] 蔡开裕,范金鹏.计算机网络.北京:机械工业出版社,2001.17~21
    [28] 杨世瀚,王灏.管道—过滤器软件体系结构风格的形式化.小型微型计算机系统,2000(11).1214~1216
    [29] 陈小平,宋健康.多层J2EE架构下的会话Facade模式.微型电脑应用,2002(12).28~29
    [30] Singh I, Johnson M. J2EE Platform Design Patterns for Enterprise Applications. Sun's 2001 Worldwide Develper Conference. 2001.11~12
    [31] 李赤林,王琳.Model-View-Controller设计模式实例研究.计算机与现代化,2003(3).13~14
    [32] 邓贵仕,易峰.支持Multi-interface的Java程序MVC设计模式研究.计算机工程与应用,2003(7).126~128
    [33] 陆荣幸,郁洲.J2EE平台上MVC设计模式的研究和实现.计算机应用与研究,2003(3).145~146
    
    
    [34] 许春根,刘风玉.软件设计模式及其角色图的表示.计算机应用与研究,2003(2).27~28
    [35] 雷军,牛建伟.企业级应用中的模式策略.计算机应用,2003(6).62~64
    [36] Roman E. EJB Design Strategies and Performance Optimizations. Sun's 2000 Worldwide Developer Conference, 2000. 23~24
    [37] Jyke Jokinen, Hannu-Matti Jarvinen. Incremental introduction of behaviors with static software architecture. Computer Standards & Interfaces, 2003(4). 215~222
    [38] Lawrence Chung, Kendra Cooper. Developing adaptable software architectures using design patterns:an NFRapproach. Computer Standards & Interfaces, 2003(3). 253~260
    [39] Douglas Schmidt, Michael Stal. Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects. Indianapolis: John Wiley & Sons, Inc, 2000. 12~14
    [40] 邹林达,左西尧.基于模式的软件体系结构建模.计算机工程与应用,2003(10).137
    [41] Mark Grand.Java Enterprise Design Patterns.Java企业设计模式.张威等译.北京:电子工业出版社,2003.101~103
    [42] Deepak Alur, John Crupi, Dan Malks. Core J2EE Patterns: Best Practise and Design Strategies. Edinburgh: Pearson Education, Inc., 2001.23~25, 90~92
    [43] 张强.Model 2x的Web应用和EJB Container的数据传递.http://www-900.ibm.com/developerWorks/cn/index.shtml. 2003,2.
    [44] Sean C. Sullivan. DAO advance program, http://www-900.ibm.corn/developerWorks/cn/java/j-dao/index_eng.shtml. 2003,10.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700