软件体系结构风格(上)

软件体系结构风格(上)

ID:19804357

大小:489.50 KB

页数:40页

时间:2018-10-06

软件体系结构风格(上)_第1页
软件体系结构风格(上)_第2页
软件体系结构风格(上)_第3页
软件体系结构风格(上)_第4页
软件体系结构风格(上)_第5页
资源描述:

《软件体系结构风格(上)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件体系结构风格1软件体系结构风格(Style):描述特定系统组织方式的惯用范例,强调组织模式和惯用范例。组织模式即静态表述的样例,惯用范例则是反映群众多系统共有的结构和语义。软件体系结构设计的核心问题:能否达到体系结构级的软件重用;对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。PS:体系结构模式体系结构惯用描述和体系结构风格是同一个意思目的:展示软件体系结构丰富的选择空间,在此基础上对风格选择的一些权衡2使用软件体系结构风格的优点:促进设计重用;带来巨大的代码重用;使系统更易于被他人理解;使用标准化的风格

2、有利于系统的互操作性;便于利用特有的体系结分析方法;提供特定风格的可视化。3在体系结构层次上,常出现客户机-服务器系统、管道过滤器设计或者分层体系结构等软件风格术语,这些术语一般与特定的设计方法和符号相关,如面向对象和数据流等,虽然还没有对体系结构惯用模式实现分类,但是这种分类的轮廓已开始出现,如下部分主要种类:4软件体系结构风格是反复出现的组织模式和习惯用法,是对一系列体系结构设计的抽象;软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束;词汇表包括一些构件和连接件,约束指出系统如

3、何将这些构件和连接件组合起来;一个软件体系结构风格定义了构件和连接件类型的符号集,以及规定它们怎样组合起来的约束集合。5讨论体系结构风格时要回答的问题:设计词汇表是什么?构件和连接件的类型是什么?可容许的结构模式是什么?基本的计算模型是什么?风格的基本不变性是什么?其使用的常见例子是什么?其优缺点是什么?体系结构风格最关键的四个要素:提供一个词汇表、定义一套配置规则、定义一套语义解释原则和定义对基于这种风格的系统所进行的分析。分析7种通用的风格6Garlan和Shaw对通用体系结构风格的分类:(1)数据流风格:批处理序列、管道/过滤器(2)调用/返回风格:主程序/子

4、程序、面向对象系统、多级分层(3)独立构件风格:进程通讯、事件系统;(4)虚拟机风格:解释器、基于规则的系统;(5)知识库风格:数据库系统、超文本系统、黑板系统PS:知识库风格也称为数据中心系统或仓库系统7经典软件体系结构管道和过滤器数据抽象和面向对象组织基于事件的隐式调用分层系统知识库模型-视图-控制器(MVC)风格解释器风格客户/服务器风格(C/S)三层C/S结构风格浏览器/服务器风格(B/S)8管道和过滤器(PIPESANDFILTER)产生于UNIX操作系统,适用于对有序数据进行一系列已经定义的独立计算的应用程序;每个构件(过滤器)都有一组输入和输出,构件读

5、输入的数据流,经内部处理,产生输出数据流;连接件位于过滤器之间,起到信息流导管的作用,称为管道;管道和过滤器系统的输出的正确性不依赖于过滤器的递进处理顺序。9管道过滤器通用结构:过滤器是一个独立实体,其间无需共享状态管线(Pipelines):限制系统的拓扑结构只能是过滤器的线性序列有界管线(BoundedPipes):限制了在管道中能容纳的数据量类型定义管道(TypePipes):明确定义在两个过滤器间的数据类型10管道和过滤器风格的例子:UNIX的shell程序,如命令:catfile

6、grepxyz

7、sort

8、uniq>out在文件file中查找包括xyz的行

9、排序去掉重行输出到out文件中;编译器:词法分析句法分析语义分析代码生成。11管道和过滤器的实现:将系统任务分成几个独立的处理阶段;定义每个管道传输的数据格式;决定管道的连接;设计和实现过滤器;设计出错处理;建立处理流水线。12管道和过滤器的优点:每个过滤器都是独立的整体,相互之间的状态互不影响;只要具备输入条件即可独立地完成自己的处理支持功能模块的重用;过滤器并不知道它的上游和下游的过滤器的特性;它的设计和实现不会对与它相连的过滤器加以限制。系统容易维护和扩展支持某些特定的分析,如吞吐量和死锁检测并发性13管道和过滤器的缺点:管线或流水线(PipeLi

10、ne):过滤器严格限制为单输入、单输出类型,系统拓扑结构只能是线性序列;交互性比较弱兼容性相对弱;维持两个相对独立但又存在某种关系的数据流之间的通信可能比较困难;有名管道:在过滤器之间通过有名的管道来进行数据传送,增加了解析或反馈工作,从而降低系统的效率。14数据抽象和面向对象组织建立在数据抽象和面向对象的基础上,数据表示方法及其相应操作被装到一个抽象数据类型(对象)中;对象(构件)负责保持资源的完整性,对象通过函数和过程调用(连接件)来交互;适用于以相互关联的数据实体的标识和保护为中心问题的应用程序。15面向对象风格的优点:封装:对象具有信息隐藏特性,内部结构

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。