软件工程论文

您当前的位置:学术堂 > 计算机论文 > 软件工程论文 >

软件设计模式论文范文7篇(11)

来源:学术堂 作者:李老师
发布于:2017-07-04 共28168字
第七篇关于软件工程论文:
  
  《自适应软件设计模式探讨》
  
  摘 要:根据移动终端应用需求,以自适应软件开发需求为背景,通过对诸多学者关于自适应软件研究与开发成果进行比较,分析其中的优、缺点,展望了自适应软件设计模式的发展趋势,提出了一种新的、基于设计模式组合的自适应软件开发模式可行性设计方法。
  
  关键词:自适应软件;设计模式;体系结构;UML 元模型;模式组合语言。
  
  Abstract: According to the demand of the mobile terminal application and the background of theadaptive software development,the advantages and disadvantages are analyzed through comparing the resultsof adaptive software research and development of many scholars. Adaptive software design patterns trends areProspected. A new model which based on a combination of adaptive design software development modelfeasibility design methods is proposed.
  
  Key Words: Adaptive Software;Design Patterns;Architecture;UML Meta Model;Patterns AssemblyLanguage.
  
  0 前言。
  
  随着移动终端的广泛应用,传统软件的手动静态部署、被动提供服务的特性已经不能满足复杂多变的环境需求,计算机软件越来越多的被要求具备适应性能力以应对各种变化。自适应软件,由于其具备软件自适应能力,已成为软件系统研究领域的热点问题。
  
  自适应软件强调在整个软件生命周期中,通过检测需求和环境的变化以及根据这些变化来改变自身的行为,采取适应性动作以应对用户需求的变化以及系统的错误等,使软件不断演变以适应环境的变化。自适应软件通常需要多个功能模块协同工作。根据不同的环境及客户需求,自适应系统开发人员需要提供与需求相适应的软件设计方案。当前对于自适应软件的研究,主要集中在体系结构[1-4]、自适应特性的形式化描述[5]、自适应算法[6]等方面,缺乏系统化和工程化的自适应软件开发支持。由于自适应软件系统内在的高复杂性和需求的高度相关性,其开发过程通常较为复杂并且易于出现错误,这使得自适应软件所期望的高可靠性和高可用性的特性难于保证。
  
  设计模式是描述某一类软件设计问题的通用解决方案,常用于软件系统的建模过程,以提高软件系统的设计质量和可重用性[7].设计模式已经被广泛地应用于计算机软件系统的开发过程[8-10].近几年一些专家逐步开始尝试使用设计模式来准确描述自适应软件系统各个部分的设计[5,9,11-13],将现有的成熟解决方案归纳为可重用设计模式,为自适应软件设计工程化的开发提供基础。
  
  由于应用环境和业务需求的不同,自适应软件系统的设计必须选用与需求契合的多种设计模式,并且将他们系统地组合起来以满足业务需求,如:Ramirez 等[8]的研究表明,设计一个简化了的自适应互联网服务器,至少应用到 6 种不同的设计模式,包括 3 种演化模式,2 种监控模式,1 种决策模式。然而,传统的设计模式通常使用自然语言或半形式化语言 UML 来表示,缺乏精确性,模式的理解上也容易出现分歧。设计模式的使用,特别是多个设计模式组合使用仍然严重依赖专家的知识,缺乏系统化工程化的理论支撑。
  
  模型驱动架构 MDA(Model Driven Architec-ture) 是国际标准化组织 OMG 提出的一种基于模型的软件开发框架。MDA 致力于将软件开发从以代码为中心提高到以模型为中心,提高软件开发的抽象层次。将设计模式引入到 MDA 中可以结合两者的优点:(1)设计模式可以用作基本的建模单元进行软件设计,充分支持模式的构件化和复用化,提升模式复用的粒度;(2)基于 MDA 使得设计模式的组合过程可被高度精确化、自动化。MDA使得设计模式组合的过程上转换为模式模型的组合过程,该特性可以有效地提高设计模式组合的自动化程度,降低设计模式组合使用中的随意性和不确定性,提高开发的有效性和可靠性。因此,精确描述动态设计模式,准确使用模型驱动工具实现模式的自动组合是提高自适应软件开发的工程化和可靠性的一种有效途径。
  
  1 基于体系结构的自适应软件的演化机制。
  
  对于自适应软件开发,特别是基于自适应框架的自适应软件开发,国内外学者已经做了大量的工作。Garlan[14]等设计了一个基于体系结构的自演化软件框架模型 Rainbow,采用外置的运行体系结构,并给出了自适应软件的变换描述语言。Loyall[15]等人提出了如何在分布式的网络环境下,提供服务质量保证的一个自适应软件框架,同时提出了服务质量测度及控制机制。Dowling[16]等人提出的 K-Component 框架强调演化逻辑与业务逻辑分离,并采用图的转换来表示体系结构的重配置,在业务逻辑方面采用 K-IDL 来刻画。Capra[17]等人提出 CARISMA 系统,引入环境感知的设计思想,当运行环境发生变化时,系统能做出相应的变化与调整。李长云[18]等提出了面向体系空间的动态演化模型,通过保留设计时的体系结构规约与决策,为软件运行时的演化提供支持与依据。余萍[19]等提出了一种面向自适应软件体系结构的在线演化方法,设计并实现了软件体系结构元模型来指导运行时的软件演化。北京大学的梅宏团队[20]提出的 PKUAS 系统是以反射机制为基础,从系统的体系结构出发和系统结构的全局视图来指导,实现对系统的整体控制。丁博等[21]提出了一种支持软件可信演化的构件模型 ACOE,以支持软件环境适应能力的细粒度在线调整。包晓安等[4,22]提出支持多目标演化的自适应软件框架 Transformer,以支持软件系统在复杂和变化环境下的演化。
  
  这些自适应软件框架通常集成了大量的相关设计模式,如监控模式、反射模式、演化模式等,以便具体应用实现者能集中精力于应用本身的特定细节。然而,这些软件的实施严重依赖软件框架的具体设计和其使用的语言平台的支持,软件开发的重用性和适用性受到一定的限制。针对这个问题,最近一些专家提出了基于设计模式的自适应软件开发模式。
  
  2 基于设计模式的自适应软件研究。
  

  由于设计模式可以有效地提升软件解决方案的重用性,因此在自适应软件的设计与开发中起到越来越重要的作用。
  
  Gomaa 等[12]提出将基于模式的开发方式引入到自适应软件的开发过程,并提出了四种典型的软件动态重配置模式,为自适应软件的开发提出了新思路,但其基于文本模板的描述方式使得设计模式较难被准确地重用。Oluyomi[23]等提出了模式描述模板以描述不同智能模块之间的交互和演化,以便用更加规范化的方法来描述离散自主系统的自演化模式。Weyns[5]等提出了 Forms 形式化模型,以形式化的描述方法描述了各种自适应系统的设计模式,同时研究了该形式化模型在离散系统中的扩展。Zhang 等[6]提出了基于模式的自适应软件开发模式,描述了多个软件组件中合作的动态行为,并结合时序逻辑来表示系统的动态演化行为约束。Ramirez 等[8]总结和归纳了 12 种典型的动态系统的设计模式,包括感知模式、行为模式以及策略模式,并演示了如何利用设计模式来指导自适应软件的开发过程。何成万等[24]提出了基于角色的设计模式建模的实现方法,以便更好地将业务流程与模式逻辑分离。伊国定等[25]提出了用自适应对象模型来开发自适应软件,分析了对象模型体系结构中建立动态模型的 5 个典型模式。
  
  这些基于设计模式的自适应软件的研究工作,总结了自适应软件设计涉及到的大量设计模式,为自适应软件开发的工程化和严谨化打下了良好的基础。然而这些研究对设计模式的描述通常采用基于文本和 UML 结合的方式,对于设计模式的扩展方式以及设计模式组合的描述较为缺乏。这就使得设计模式的组合仍严重依赖专家知识,组合后的软件模型的正确性和可靠性难以得到保障。
  
  3 设计模式形式化描述及组合研究。
  

  设计模式自动组合面临的两个主要问题是设计模式的精确建模和自动化模式模型的转换过程。
  
相关内容推荐
相关标签:软件设计模式论文
返回:软件工程论文