基于网络的软件架构风格.pptx

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

基于《架构风格与基于网络的软件架构设计》的前三章整理基于网络的架构风格

架构的相关概念1架构风格的实例3架构所具有的品质2内容

1架构的相关概念软件架构和架构风格

软件架构软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件,各个组件之间的连接那么明确和相对细致地描述组件之间的通讯。软件架构是一个软件系统在其操作的某个阶段的运行时元素的抽象。一个系统可能由很多层抽象和很多个操作阶段组成,每个抽象和操作阶段都有自己的软件架构。

软件抽象架构应该描述的是运行时的抽象。抽象能够隐藏一些系统的细节。我们要考虑系统行为抽象和操作阶段抽象。在具体的层次还可能存在另一个架构。抽象的结果我们称之为元素。

架构元素软件架构是由一些架构元素的配置来定义的。元素:处理元素,连接元素,数据元素。组件:执行数据转换的元素。连接器:将架构不同局部结合在一起的元素。数据:包含被使用和被转换的信息的元素。粗糙架构:组件用方框表示,连接器用直线表示。在基于网络的应用中,我们引入了数据元素。

架构元素一个组件是软件指令和内部状态的一个抽象单元,通过其接口提供对于数据的转换。一个连接器是对于组建之间的通讯、协调或者合作进行仲裁的一种抽象机制。一个数据是组件通过一个连接器接收或发送的信息元素。连接器的例子包括共享的表述、远程过程调用、消息传递协议和数据流。连接器通过将数据元素从它的一个接口转移到另一个接口而不改变数据,来支持组件之间的通信。

软件架构我们把系统的运行期间组件、连接器和数据之间的架构关系的结构称之为配置。软件架构的主要活动就是对运行时进行抽象。软件架构抽象会得到元素和配置。在配置之中我们会发现两类配置,一类是主动的配置,一类是通用约束影响的配置。

架构属性架构属性包含有组件、连接器和数据的选择和排列所导致的所有属性。属性有:网络性能,组件可重用性,进化的相对容易程度,动态扩展能力。属性是由架构中的约束所导致的,约束往往是由在架构元素的某个方面应用软件工程原那么来驱动的。通用性原那么驱动的“统一组件接口”,软件将获得可重用性和可配置性。架构设计的目标是创立包含一组架构属性的架构。

架构风格架构风格是一组协作的架构约束,这些约束限制了架构元素的角色和功能,以及在任何一个遵循该风格的架构中允许存在的元素之间的关系。风格是一种用来对架构进行分类和定义它们的公共特征的机制。一种架构风格封装了关于架构元素的重要抉择,强调对于元素和它们之间的关系的重要约束。一种架构风格决定了再此风格的实例中能够使用的组件和连接器的词汇表,以及一组将它们组合在一起的约束。

模式和视图一种设计模式被定义为一种重要的和重复出现的系统构造。一种模式通过遵循一种固定的设计和实现选择路径,定义了一个解决问题的过程。对于系统的可以从很多不同的角度来观察一个架构,不同的角度能够得到不同视图。4+1视图模型:逻辑视图,过程视图,物理视图,开发视图,场景视图。

2架构所具有的品质架构评价和架构属性

评价架构首先是评价能否实现功能需求。其次评价对非功能需求的强调程度。将所有可能的架构风格空间看作继承树。对不同的架构风格和属性构造强调程度表格。

关键架构属性性能简单性可见性可靠性可修改性可伸缩性可移植性

性能网络性能:吞吐量、负载、带宽、可用带宽可觉察性:延迟和完成时间网络效率:网络的使用对于软件的必要性

网络性能负载是指组件对数据的处理数量吞吐量是指信息在组件之间转移的速率可用带宽是指应用实际可用的那局部带宽带宽是指在一个特定网络上可用最大吞吐量我们可以通过减少传输的数据量来提升网络性能

网络效率网络使用所花费的时间我们可以利用缓存数据来减少组件的网络交互我们可以利用保存会话来减少数据的传输我们可以利用远程求值来减少交互的次数我们可以利用按需代码来本地缓存组件我们可以利用选择执行组件的地点来减少时间

可觉察性是指用户对系统运行的感知能力延迟是指从触发初次请求到得到第一个响应指示之间持续的时间完成时间是完成一个应用动作所花费的时间我们可以通过复制数据到本地加快响应我们可以复制代码到本质执行加快响应在管道-过滤器风格在每个组件处理后都可以观察结果来增强可觉察性

简单性功能分配是的单独的组件足够简单我们可以通过别离组件间的关注点增强简单性我们可以实施架构元素通用行原那么来增强简单性

可见性是指一个组件对于其他两个组件之间的交互进行监视或仲裁的能力。我们可以使用通用性接口来确定组件之间的接口我们可以通过组件提供访问监视功能增强可见性我们可以增强交互数据的全面性来增强可见性

可靠性指在框架元素出现局部故障时,一个架构容易受到系统层面故障影响的程度我们可以增加冗余,允许监视来增加可靠性我们可以通过防止单点故障来增加可靠性我们可以通过

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档