- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章软件体系结构全解
第4部分 软件生存期模型与软件体系结构 第11章 软件体系结构 11.1 软件体系结构的基本概念 什么是体系结构 目前还没有一个公认的关于软件体系结构的定义,许多专家 学者从不同角度对软件体系结构进行了描述。Bass、 Clements和Kazman给出了如下定义:“一个程序或计算机 系统的软件体系结构是指系统的一个或者多个结构。结构中 包括软件的构件、构件的外部可见属性以及它们之间的相互 关系。外部可见属性则是指软件构件提供的服务、性能、使 用特性、错误处理、共享资源使用等。” 这一定义强调在任一体系结构表述中“软件构件”的角色。 11.1 软件体系结构的基本概念 Dewayne Perry和A1exander Wo1f曾这样定义:“软件 体系结构是具有一定形式的结构化元素,即构件的集合,包 括处理构件、数据构件和连接构件。处理构件负责对数据进 行加工,数据构件是被加工的信息,连接构件把体系结构的 不同部分组合连接起来。” 这一定义注重区分处理构件、数据构件和连接构件。 虽然软件体系结构的定义在变化,但其意图是清晰的。 体系结构设计是一系列决策和基本原理的集合,这些决策的 目标在于开发高效的软件体系结构。在体系结构设计中所强 调的基本原理是系统的可理解性、可维护性和可扩展性。 11.1 软件体系结构的基本概念 11.1 软件测试的基本概念 体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(项目干系 人)进行交流。 (2)体系结构突出了早期设计决策。 (3)软件体系结构是可传递和可复用的模型。 管道/过滤器风格主要缺点如下: (1)通常导致进程成为批处理的结构。这是因为虽然过滤 器可增量式地处理数据,但它们是独立的,所以设计者必须 将每个过滤器看成一个完整的从输入到输出的转换。 (2)不适合处理交互的应用。当需要增量地显示改变时, 这个问题尤为严重。 (3)因为在数据传输上没有通用的标准,每个过滤器都增 加了解析和合成数据的工作,这样就导致了系统性能下降, 并增加了编写过滤器的复杂性。 2.面向对象风格 系统的构件封装了数据和必须应用到该数据上的操 作,构件间通过消息传递进行通信与合作。与主程序/子程 序的体系结构相比,面向对象风格中的对象交互会复杂一 些。面向对象风格与网络应用的需求在分布性、自治性、 协作性、演化性等方面具有内在的一致性。 面向对象风格具有以下优点: (1)因为对象对其他对象隐藏它的表示,所以可以改变一 个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互 的代理程序的集合。 3.层次结构 层次结构的基本结构如下图所示。在这种体系结构中,整 个系统被组织成一个分层结构,每一层为上层提供服务,并 作为下一层的客户。 上图中,可把中心存储库变换成“黑板”,黑板构件负责协 调信息在客户间的传递,当用户感兴趣的数据发生变化时, 它将通知客户软件。黑板系统的组成如下图所示。黑板系统 的传统应用是信号处理领域,如语音和模式识别。另一应用 是松耦合代理数据共享存取。 以上所讲的体系结构模型是通用的模型,除了这些通用的 模型以外,对于特定的应用还需要特定的体系结构模型。这 些体系结构模型称为领域相关的体系结构。有两种领域相关 的体系结构模型:类属模型(generic model)和参考模型 (reference model)。 参考模型源于对应用领域的研究,它描述了一个理想化的包含 了系统应具有的所有特征的软件体系结构。它是更抽象且是描述 一大类系统的模型,并且也是对设计者有关某类系统的一般结构 的指导,如Rockwell和Gera所提出的软件工厂参考模型。 以上两种不同类型的模型之间并不存在严格的区别,也可以将 类属模型视为参考模型。区别之一是类属模型可以直接在设计中 复用,而参考模型一般是用于领域概念间的交流和对可能的体系 结构做出比较。另外,类属模型通常是经过“自下而上”地对已有 系统的抽象,而参考模型是“由上到下”地产生的。它们都是抽象 系统表示法。 分布式系统的一个最简单的模型是多处理器系统,系统由 许多进程组成,这些进程可以在不同的处理器上并行运行, 可以极大地提高系统的性能。 由于大型实时系统对响应时间要求较高,这种模型在大型 实时系统中比较常见。大型实时系统需要实时采集信息,并 利用采集到的信息进行决策,然后发送信号给执行机构。虽 然,信息采集、决策制定和执行控制这些进程可以在同一台 处理器上统一调度执行,但使用多处理器能够提高系统性 能。 (2)胖客户机模型。在这种
文档评论(0)