首页 > 其他分享 >章二 软件体系结构的构建模式(1)

章二 软件体系结构的构建模式(1)

时间:2023-03-28 11:06:20浏览次数:43  
标签:通信协议 模式 过滤器 管道 构建 章二 连接器 构件 软件体系结构


 章二  软件体系结构的构建模式

一个设计良好的通用模式往往是这个工程领域技术成熟的标志。
1、管道过滤模式
1)概述:每个功能模块都有一组输入和输出;功能模块对输入数据流进行增量计算得到输出数据流。
功能模块称作过滤器filter;
功能模块间的连接可看作输入、输出数据流之间的通路,称作管道。
2)特征:过滤器的相对独立性,即过滤器独立完成自身功能,相互之间无需进行状态交互。整个管道过滤网络的最终输出和网络中各过滤器执行操作的顺序无关。
3)优点:
  (1)设计者可以将整个系统的输入、输出特性简单的理解为各个过滤器功能的合成;
  (2)管道过滤模式支持功能模块的复用;
  (3)管道过滤模式的系统具有较强的可维护性和可扩展性;
  (4)支持一些特定的分析,如吞吐量计算和死锁检测等;
  (5)管道过滤模式具有并发性。
4)不足:
  (1)管道过滤模式往往导致系统处理过程的成批操作;
  (2)设计者也许不得不花费精力协调两个相对独立但又存在某种关系的数据流;
  (3)根据实际设计的要求,设计者也需要对数据传输进行特定的处理,导致过滤器必须对输入、输出管道中的数据流进行解析或反解析,增加了过滤器具体实现的复杂性。
5)管道过滤模式的实例:数字通信系统
2、面向对象模式
1)概述:面向对象模式集数据抽象、类继承为一体,使软件工程公认的模块化、信息隐藏、抽象、重用性等原则在面向对象模式下得以充分体现。
追求问题空间和软件系统空间的一致性。
基于面向对象模式构建系统,首先要确定求解问题中有哪些对象,构造适当的类以反映各种不同的对象,通过对象间传递消息和类的继承机制,协同完成对问题的求解。
2)优点:
  (1)高度模块性;
  (2)封装功能;
 (3)代码共享;
  (4)灵活性;
  (5)易维护性;
  (6)可扩充性。
3)不足:在于如果一个对象需要调用另一个对象,它就必须知道那个对象的标识(对象名或其它标识符),这样就无形之中增强了对象之间的依赖关系。
4)实例
ODS开放式分布系统 Open Distributed System
构件:是一个封装了设计和实现的功能单元,它向外界提供接口,多个构件接口互连可以形成一个完整的系统。
构件的优点在于针对接口设计、提供标准的技术服务框架、实现语言和构件位置透明以及基于属性和事件的良好复合性。
CBA方法(Component-Based Analysis)中3个基本的建模概念:
  (1)协作(Collaboration):根据构件所承担的不同角色,协作定义了一组构件之间的动作:ction集合。
  (2)类型(Type):通过描述一个构件的外部可视行为来定义构件在系统中所承担的功能。
  (3)细化(Refinement):体现了对同一事务的不同描述之间的关系,抽象Abstraction描述为基础,实现Realization描述可以看作抽象描述的具体的形式。
ODS系统中构件、连接器和配置的模型:
  (1)构件(Component):是描述开放分布式系统的基本元素:接口Interface、类型Type、语义Semantics、约束条件Constraint、进化Evolution、非功能性属性Nonfunctional Property。
  (2)连接器(Connector):用来分析构件之间的交互模型、定义交互规则。
连接器不一定是开放分布式系统中的一个可编辑单元,可以表现为共享变量、表入口指针、缓冲区、动态数据结构、一系列工程调用、初始化参数、通信协议、管道等多种形式。
对连接器的描述可从5方面展开:接口、类型、语义、约束条件、进化。
  (3)配置(Configuration):也称为拓扑(Topology),是构件和连接器交互组成的体系结构图。
配置可用来判断4个问题:构件连接是否合适;接口是否匹配;连接器是否正常;构件连接的语义是否符合设计要求。
配置有8点特征:易理解性、复合性、细化和可描绘性、异构性、可扩充性、进化性、动态性、约束条件。
5)构件的描述方法
UML (Unified Modeling Language)统一建模语言
ADLs(Architecture Description Languages)体系结构描述语言
利用UML和ADLs可以对ODS系统中的构件及其相互之间的通信关系进行描述,利用,GUI体系结构框架自动生成工具,可完成下述几点功能:
  (1)生成构件模型,包括构件的属性、接口和实现;
  (2)建立连接器模型,包括协议、属性和实现;
  (3)体系结构的抽象和封装;
  (4)类型和类型检查;
  (5)主动规范,提供设计向导;
  (6)多视图模式,对不同层次的用户显示不同的内容;
  (7)生成实现,如将构件对应为面向对象技术中的类;
  (8)将系统的修改动态映射到实现。
6)具有自适应稳定性的连接器模型
包括:
  (1)连接器中的通信协议栈;
连接器中的通信协议栈由一组功能各异的通信协议叠加而成,其中每个协议负责构件之间交互信息的一部分功能,这些功能的有机合成就实现了构件之间的可靠通信。
EJB,DCOM和CORBA的构件级复用框架中主要采用了Java/RMI和CORBA/IIOP等通信协议,
Internet采用了TCP/IP协议簇。
ODS系统中的通信协议栈包括以下几个基本协议:构件命名和寻址协议;构件通信传输协议;构件通信传输控制协议;构件通信管理协议。
  (2)连接器的自适应稳定算法。

标签:通信协议,模式,过滤器,管道,构建,章二,连接器,构件,软件体系结构
From: https://blog.51cto.com/prettycms/6154222

相关文章

  • 章二 软件体系结构的构建模式(3)
    章二软件体系结构的构建模式(3)一、知识库模式1、知识库模式特征采用知识库模式构建的系统通常有两个截然不同的功能构件: (1)中央数据单元构件:代表系统当前的各种状态; (2)一......
  • 章三 软件体系结构组态分析与应用(2)
    章三软件体系结构组态分析与应用(2)1、JBoss应用服务器JBoss是一个开放源代码的应用服务器,符合J2EE规范。它提供了基于JMX(JavaManagementExtension)体系的EJB容器--JBossSe......
  • 章三 软件体系结构组态分析与应用
    章二软件体系结构的构建模式(4)一、过程控制环模式1、概述所谓对一个对象(或过程)进行控制,意味着设法使这个被控对象(或被控过程)的功能或特性有效的达到所期望的预期目标。为了......
  • 章四 软件体系结构的形式化描述
    章四软件体系结构的形式化描述一、软件体系结构的形式化描述的方法1、随着软件系统规模和复杂性的不断增大,软件设计的核心已从“算法+数据结构=程序”的传统计算模式转向系统......
  • 章五 软件体系结构集成开发环境的设计与实现
    章五软件体系结构集成开发环境的设计与实现一、软件体系结构描述语言1、目前出现了许多针对特定领域的软件体系结构描述语言,有:Aesop、ArTek、C2、Darwin、LILEANNA、MetaH......
  • 章六 软件体系结构的研究与展望
    章六软件体系结构的研究与展望计算机的软件领域主要研究计算机使用的环境技术,包括系统软件、用户编程环境与工具、应用软件等。计算机硬件能够快速发展的原因之一是工业化......
  • 火山引擎 DataTester:构建增长闭环,3-5 人即可搭建企业增长团队
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 增长是一个老生常谈的话题,对许多企业而言这个词都很熟悉,但在实践过程中仍然有很......
  • 2023.3.27-构建之法-3月份读后感1
    最近,我阅读了构建之法的一部分,我有了一些感受。过去我对于软件工程的了解不够深入,对于“程序=数据结构+算法”这句话的理解不够深入。构建管理、源代码管理、软件设计、......
  • mountpoint-s3 linux 构建一些问题
    依赖包问题cmake3yuminstall-ycmake3clang通过scl解决yuminstallcentos-release-sclyuminstallllvm-toolset-7scl......
  • 阅读笔记-构建之法1
    《构建之法》第一章:软件=程序+软件工程。作为一名程序员,不能仅仅会写代码,深入了解一个软件是通过怎么样的层层工序制作出来,也是我们应当重点掌握的。文中通过生活实例,启发......