Chapter3-软件体系结构及模式.ppt

  1. 1、本文档共211页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 软件体系结构与设计模式 主要内容 软件体系结构 框架 软件设计模式 实例分析 软件体系结构的定义 Software Architecture (SA) Perry Wolf SA=(elements,form,rational) 软件体系结构是由一组元素(elements)构成.这组元素分成3 类:处理元素(processing elements) 数据元素(data elements)和连接元素(connecting elements)。软件体系结构形式(form) 是由专有特性(properties)和关系(relationship)组成。专有特性用于限制软件体系结构元素的选择,关系用于限制软件体系结构元素组合的拓扑结构。而在多个体系结构方案中选择合适的体系结构方案往往基于一组准则(rational)。 软件体系结构的定义 Garlan Shaw SA={components, connectors, constrains} 构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序,如数据库的SQL 服务器。连接器(connector)表示构件之间的相互作用。它可以是过程调用管道远程过程调用等。一个软件体系结构还包括某些限制(constrain)。该模型视角是程序设计语言,构件主要是代码模块。 软件体系结构的定义 Kruchten 软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。 IEEE 610.12-1990 Architecture={component, connector, environment, principle} 体系结构是以构件构件之间的关系构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。 软件体系结构的定义 Booch, Rumbaugh, and Jacobson 软件体系结构是一组关于下述问题的重要决定: 软件系统的组织 构成系统的结构化元素和它们接口的选择 这些模型元素之间的协作所描述的行为 这些结构化和行为元素的组装,以形成更大的子系统 指导这种组织(静态和动态元素,以及它们的接口、协作和组装)的体系结构风格 软件体系结构不仅关注结构和行为,也关注使用、功能、性能、弹性、复用、可理解性、经济和技术约束与折衷、审美考虑 软件体系结构的构成要素 一个软件系统的体系构架定义了组成系统的 构件(components), 连接件(connectors),和 它们之间的匹配 构件用于实施计算和保存状态,连接件用于表达构件之间的关系,构件和连接件之间的匹配表示了系统的拓扑结构。 软件体系结构的构成要素 三类基本的“积木(building blocks)” 构件(components) 连接件(connectors) 配置(configurations) 构件 构件是计算或数据储存的单元 Perry Wolf定义中的处理元素和数据元素 构件是计算和状态的场所 客户(clients) 服务器(servers) 数据库(databases) 过滤器(filters) 层次(layers) 抽象数据类型(ADTs) 构件可以是简单的或复合的 复合构件描述了一个(子)系统 构件事例 连接件 连接件是对以下内容进行建模的体系结构元素 构件之间的交互 指导这些交互的规则 简单交互 过程调用 共享变量访问 复杂和语义丰富的交互 客户/服务器协议 数据库访问协议 异步事件广播 管道数据流 连接件 (续) 传统方法中,构件之间的连接关系通常并不独立存在,而是从属于构件,且表达能力较弱 由于以下原因,表达构件之间关系的连接件应该从中分离出来,作为同构件平等的第一类实体: 连接件可能要表达构件之间相当复杂的关系语义,需要详细的定义和复杂的规约 复杂连接件的定义应当局部化,而不是分散定义在多个构件中,以保证系统具有良好的结构 构件之间的关系并非是固定不变的,有可能随着系统的运行需要动态改变,这种改变应封装在连接件中 连接件和构件一样,都应该是独立的和各有分工的。构件应该只定义它的能力(包括功能和非功能两个方面);连接件应该规定构件之间的交互 系统开发时常常复用已有的连接件,例如客户-服务器协议、数据库访问协议等 配置 体系结构的配置或拓扑是构件和连接件的连接图(connected graph),描述了系统结构 适当的连接 并发和分布特性 复合构件本身就是配置 实例分析 1 实例分析 2 实例分析 3: ANSI/IS-41 Entities and Reference Poi

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档