L第四章软件体系结构基础.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 发展现状 1 真正现在意义上的软件体系结构的研究始于, Dewayne Perry和Alexander Wolf [PW1992], and David Garlan和Mary Shaw [GS1993]的奠基性工作, and 其他人对体系结构风格的分类和评价 [KBA+1994], and 特定领域软件体系结构 DSSAs 的研究和应用 [DSSA1992] 应用现状 体系结构的设计是建立在直觉和经验、而非坚实的工程原则之上的 体系结构的描述是非形式化的和随意的,经常采用框线图(box-and-line diagram)加文字注释的方法 发展现状 2 应用后果 体系结构设计只是被开发人员含糊地理解 难以对体系结构设计作出一致性或完整性的分析 随着系统的演化,难以保持同系统原有体系结构的一致,并且 难以开发有效的工具,辅助人们进行体系结构的设计、性质分析和验证 发展现状 3 在“软件复用的展望和策略” [DoD1992]报告中,美国国防部强调了“以体系结构为中心的复用”在整个软件生存周期中,对于软件开发和支持的重要性。 以下是一些同体系结构相关的研究项目, STARS, DOD CARDS, DOD PRISM, DOD RAPIDE , Stanford Uni. C2 style and ADL, California Uni. Able Architecture Based Languages and Environments , CMU ACME Architecture Interchange Language, CMU Vitruvius, CMU 发展现状 4 鉴于是否有一个稳定的软件体系结构,对软件的质量和成本影响很大,因此如何获得一个良好的体系结构就成为当今软件界研究的重点。 当前软件体系结构研究和实践中,一些最活跃的领域包括: 各种体系结构风格的汇编和总结 体系结构描述语言 体系结构的形式化基础 体系结构分析技术 基于体系结构的开发方法 体系结构恢复和再工程 支持体系结构设计的工具和环境 特定领域的软件体系结构 DSSA …… 软件体系结构的定义 1 Perry and Wolf, 1992 软件体系结构=(元素,形态,基本理论) 软件体系结构是一组具有特定形式的设计元素。这里的设计元素被分为三类:处理元素 processing elements 、数据元素 data elements 和连接元素 connection elements Kruchten, 1994 软件体系结构涉及软件高层结构的设计和实现,通过组装一定数量的具有良好形态的元素,以满足主要的功能和性能需求,例如,可扩展性和可用性 涉及抽象、分解/组装、风格/审美 软件体系结构的定义 2 Shaw and Garlan, 1996 一个软件系统的体系结构定义了组成系统的计算构件和构件之间相互作用的关系 软件体系结构层次的设计主要包括以下方面: 组成系统的构件描述 构件之间的交互 指导构件交互的模式,以及 施加在模式上的约束 Bass, Clements, and Kazman, 1997 软件体系结构是一个系统的结构,包括软件构件、构件的外部可见属性、以及构件关系 这里,“外部可见”属性指的是其他构件可以对该构件所做的假定,比如它提供的服务、性能特性、错误处理、共享资源的使用等 软件体系结构的定义 3 Booch, Rumbaugh, and Jacobson, 1999 软件体系结构是一组关于下述问题的重要决定, 软件系统的组织 构成系统的结构化元素和它们接口的选择 这些模型元素之间的协作所描述的行为 这些结构化和行为元素的组装,以形成更大的子系统 指导这种组织(静态和动态元素,以及它们的接口、协作和组装)的体系结构风格 软件体系结构不仅关注结构和行为,也关注使用、功能、性能、弹性、复用、可理解性、经济和技术约束与折衷、审美考虑 软件体系结构的定义 5 一个软件系统的体系结构定义了组成系统的 构件(components), 连接件(connectors),和 它们之间的匹配 这里,构件用于实施计算和保存状态,连接件用于表达构件之间的关系,构件和连接件之间的匹配表示了系统的拓扑结构。 A2 A1 A3 B1 B2 程序的构成以及发展 程序 算法 + 数据结构(1960’s ) 程序 子程序 + 子程序(1970’s ) 对象 算法 + 数据结构 程序 对象 + 对象(1980’s) 程序 构件 + 连接件(1990’s)

文档评论(0)

精品家园 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档