- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构第5章讲述
第5章 软件体系结构风格
内容提要
5.1 软件体系结构风格概述
5.2 软件体系结构基本风格解析
5.2.1 管道-过滤器
5.2.2 数据抽象与面向对象风格
5.2.3 基于事件的隐式调用风格
5.2.4 分层系统风格
5.2.5 仓库风格和黑板风格
5.2.6 模型-视图-控制器(MVC)风格
5.2.7 解释器风格
5.2.8 C2风格
5.3 案例研究
5.3.1 案例1:上下文关键字
5.3.2 案例2:仪器软件
5.3.3 平台层PaaS和应用程序层SaaS
5.4 客户/服务器风格
5.5 三层C/S结构风格
5.5.1 三层C/S结构的优点
5.5.2 实例:某石油管理局劳动管理信息系统
5.6 B/S风格
5.7 C/S与B/S混合结构风格
5.8 正交软件体系结构风格
5.8.1 正交软件体系结构的概念
5.8.2 正交软件体系结构的优点
5.8.3 正交软件体系结构的实例
5.9 基于层次消息总线的体系结构风格
5.9.1 构件模型
5.9.2 构件接口
5.9.3 消息总线
5.9.4 构件静态结构
5.9.5 构件动态行为
5.9.6 运行时刻的系统演化
5.10 异构结构风格
5.10.1 使用异构结构的原因
5.10.2 异构体系结构的实例
5.10.3 异构组合匹配问题
5.11 小结
5.1 软件体系结构风格概述
软件体系结构风格,是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含了一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格,反映了领域中众多系统所共有的结构和语义特征,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构建系统的规则。
5.2 软件体系结构基本风格解析
5.2.1 管道-过滤器
适用于对有序数据进行一系列已经定义的相互计算的应用程序。管道过滤器模式下,每个功能模块都有一组输入和输出。功能模块从输入集合读入数据流,并在输出集合产生输出数据流,即功能模块对输入数据流进行增量计算得到输出数据流。管道过滤器模式下,功能模块称作过滤器(filter);功能模块间的连接可以看作输入、输出数据流之间的通路,所以称作管道(pipe)。
图5-1 管道–过滤器风格的体系结构
采用管道-过滤器模式建立的系统主要有以下几个优点:
(1)由于每个构件的行为不受其他构件的影响,因此,整个系统的行为比较易于理解。
设计者可以将系统抽象成一个“黑匣子”,其输入是系统中第一个过滤器的输入管道,输出是系统中最后一个过滤器的输出管道,而其内部各功能模块的具体实现对用户完全透明。
(2)支持功能模块的复用。任意两个过滤器只要在相互的输入、输出管道格式上达成一致,就可以连接在一起。
过滤器A和过滤器B只要对管道C中传输的数据格式达成一致就可以实现互连,其中过滤器A并不关心过滤器B如何处理管道C的内容,而过滤器B也不知道管道C的内容究竟是如何产生的,即在管道过滤器模式中,过滤器之间仅需很少的信息交换就可以完成互连。
(3)具有较强的可维护性与可扩展性。可维护性体现在系统过滤器部件的更新或升级。
由于技术改进等原因,过滤器A的实现发生了改变,采用新技术开发的过滤器D具有和A完全相同的输入、输出管道接口,这时可以直接将A替换为D,而无须对系统中的其他过滤器或管道进行任何修改。
图5-2 管道-过滤器支持功能模块复用
图5-3 管道-过滤器的可扩展性
(4)支持特殊的分析:如吞吐量计算和死锁检测等。利用管道-过滤器模式图,可以很容易地得到系统的资源使用与请求状态图,然后,根据操作系统原理等相关理论中的死锁检测方法就可以分析出系统目前所处的状态,是否存在死锁可能及如何消除死锁等问题。
(5)支持并发执行。基于管道-过滤器模式的系统存在很多并行的过滤器,这样的系统在实际运行时,可以将存在并发可能的多个过滤器看作多个并发的任务并行执行,从而大大提高了系统的整体效率,加快了处理速度。当然,在调度并行任务的时候,必须有相应的并行算法作基础,否则,可能导致系统功能的混乱。
5.2.2 数据抽象与面向对象风格
图5-4 数据抽象与面向对象风格的体系结构
面向对象的
您可能关注的文档
最近下载
- 肾动态显像dynamicrenalimaging.PPT
- 人教版(2024新版)英语七年级上册Unit 7 Happy Birthday!大单元整体教学设计.docx
- 《高等职业学校专业教学标准(试行)》存在的问题及改进建议--以财经大类、文化教育大类和旅游大类为例.pdf VIP
- 《小班美工区中幼儿教师指导问题及策略研究报告》9700字.docx
- 三级烟草专卖管理师岗位技能鉴定试卷答案.docx VIP
- 国家开放大学,地域文化,人文武隆形考一 (2).docx
- 2024年秋季新北师大版七年级上册数学全册教案.DOCX
- 手术讲解模板:睾丸扭转复位固定术.ppt
- 壹号土猪市场营销分析.doc VIP
- DELI得力 M201CR用户手册 说明书.pdf
文档评论(0)