`
ldb19890624
  • 浏览: 228063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

一个设计良好的通用模式往往是这个工程领域技术成熟的标志。
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)连接器的自适应稳定算法。

分享到:
评论

相关推荐

    软件工程-04-软件架构的构建.pptx

    2022/6/30 2 第4章 软件架构的构建 软件架构也称为软件体系结构。 对软件架构的系统、深入的研究将成为提高软件生产率和解决软件维护问题的新途径。 用户需求中的各种约束对架构的选择都有着直接的影响,软件开发并...

    基于SAAS模式的多用户数据体系结构

    基于SAAS模式的多用户数据体系结构。 信任,或是缺乏充分信任,都是妨碍“软件即服务”(SaaS) 推广的首要问题。我们可以说,关于产 品、客户、雇员、供应商等的数据是商业运营中最重要的资产。当然,SaaS 的核心也是...

    【清华】 软件工程(完) 视频.txt

    18.3分布式系统的体系结构模式 18.3.1主从体系结构 18.3.2两层客户机-服务器结构 18.3.3多层客户机-服务器结构 18.3.4分布式组件体系结构 18.3.5对等体系结构 18.4软件作为服务 要点 进一步阅读材料 练习 参考书目 ...

    计算机系统要素:从零开始构建现代计算机

    在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论...

    软件工程知识点.doc

    第一章 软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题...(4)构建工程的软件工程阶段:重视发展软件体系结构 ,软件设计模式,系统交互性,标准化等领域的重用,积极提倡基于软构件的

    构建安全的 ASP.NET 应用程序(中文译作+英文原作)

    如果知道您的应用程序目前采用或将要采用的体系结构和部署模式,则可通过本指南的这一部分了解相关的安全问题,以及保障特定方案的安全性所需的基本配置步骤。 最后,本指南第 IV 部分的补充信息和参考材料可帮助您...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    13.2 Oracle ClusterWare体系结构与进程介绍 13.2.1 Oracle ClusterWare 简介 13.2.2 Oracle ClusterWare 进程介绍 13.3 RAC数据库体系结构与进程 13.3.1 RAC 简介 13.3.2 Oracle RAC的特点 13.3.3 RAC...

    Ruby on Rails Web开发之旅.pdf【第二部分】

     4.3 MVC体系结构  4.3.1 MVC理论  4.3.2 MVC的Rails方式  4.3.3 ActiveRecord(模型)  4.3.4 ActionPck模块  4.4 代码生成  4.5 ActionMailer  4.6 测试和调试  4.6.1 测试  4.6.2 调试  4.7...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    1.2 RAC体系结构 1.2.1整体结构 1.2.2物理层次结构 1.2.3逻辑层次结构 1.3 RAC的特点 1.3.1双机并行 1.3.2高可用性 1.3.3易伸缩性 1.3.4低成本 1.3.5高吞吐量 1.4 RAC存在的问题 1.4.1稳定性 1.4.2高...

    Windows防火墙与网络封包截获技术源代码

    第二部分讨论局域网的一般性问题,内容包括局域网实现过程中常用的拓扑结构和传输介质、局域网协议体系结构以及LLC的详细内容。第三部分是本书的重点,主要介绍五种相关类型的局域网,内容包括以太网、令牌环网、...

    JSP期末复习资料详细解析

    C/S结构是二层结构平台模式,C/S结构要求客户端要安装指定的软件,客户端负责执行前端的数据处理,服务端进行后端的服务处理。 8.简述JSP技术和Servlet技术的区别和联系。 ♦区别:⑴JSP技术主要用来表现页面,而...

    HP Openview网管建设方案建议书

    3.1.2 HP OpenView 体系结构 10 3.2 网管产品推荐——HP OpenView NNM 12 3.2.1 功能模块 13 3.2.2 分布管理 14 3.2.3 信息过滤 15 3.2.4 高性能 15 3.2.5 其他优势 16 3.3 HP OpenView NNM 6.2新功能 18 3.3.1 配置...

    nand2tetris:计算机系统要素,从零开始构建现代计算机

    在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论...

    asp.net知识库

    革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    本书的知识体系结构如下所示,遵循了循序渐进的原则,逐步引领读者从基础到各个知识点进行学习。 上篇面向对象技术 第1章Java入门 第2章程序设计基础: 变量及其运算 第3章程序设计基础: 流程控制和数组 第4...

    链接器和加载器.PDF(链接器和加载器 Beta 2)

    《链接器和加载器》讲述构建程序的关键工具——链接器和加载器,内容包括链接和加载、体系结构、目标文件、存储分配、符号管理、库、重定位、加载和覆盖、共享库、动态链接和加载、动态链接的共享库,以及着眼于成熟...

    UNIX操作系统教程 张红光

    第1章绪论.1 1.1操作系统概述1 1.1.1建立操作系统的目标1 1.1.2操作系统是用户与计算机的接口1 1.1.3操作系统是资源管理器2 1.2UNIX系统的主要特性3 1.3UNIX系统的发展史4 1.4开源软件与UNIX的推广发展6 1.4.1开源...

Global site tag (gtag.js) - Google Analytics