- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
软件体系结构风格;;使用软件体系结构风格的优点:
促进设计重用;
带来巨大的代码重用;
使系统更易于被他人理解;
使用标准化的风格有利于系统的互操作性;
便于利用特有的体系结分析方法;
提供特定风格的可视化。;在体系结构层次上,常出现客户机-效劳器系统、管道过滤器设计或者分层体系结构等软件风格术语,这些术语一般与特定的设计方法和符号相关,如面向对象和数据流等,虽然还没有对体系结构惯用模式实现分类,但是这种分类的轮廓已开始出现,如下局部主要种类:;软件体系结构风格是反复出现的组织模式和习惯用法,是对一系列体系结构设计的抽象;
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束;
词汇表包括一些构件和连接件,约束指出系统如何将这些构件和连接件组合起来;;讨论体系结构风格时要答复的问题:
设计词汇表是什么?
构件和连接件的类型是什么?
可容许的结构模式是什么?
根本的计算模型是什么?
风格的根本不变性是什么?
其使用的常见例子是什么?
其优缺点是什么?
体系结构风格最关键的四个要素:提供一个词汇表、定义一套配置规那么、定义一套语义解释原那么和定义对基于这种风格的系统所进行的分析。
分析7种通用的风格;Garlan和Shaw对通用体系结构风格的分类:
〔1〕数据流风格:批处理序列、管道/过滤器
〔2〕调用/返回风格:主程序/子程序、面向对象系统、多级分层
〔3〕独立构件风格:进程通讯、事件系统;
〔4〕虚拟机风格:解释器、基于规那么的系统;
〔5〕知识库风格:数据库系统、超文本系统、黑板系统;经典软件体系结构;管道和过滤器(PIPESANDFILTER);
管道过滤器通用结构:
过滤器是一个独立实体,其间无需共享状态
管线〔Pipelines〕:限制系统的拓扑结构只能是过滤器的线性序列
有界管线〔BoundedPipes〕:限制了在管道中能容纳的数据量
类型定义管道〔TypePipes〕:明确定义在两个过滤器间的数据类型;管道和过滤器风格的例子:
UNIX的shell程序,如命令:
catfile|grepxyz|sort|uniqout
在文件file中查找包括xyz的行?排序?去掉重行?输出到out文件中;
编译器:词法分析?句法分析?语义分析?代码生成。;管道和过滤器的实现:
将系统任务分成几个独立的处理阶段;
定义每个管道传输的数据格式;
决定管道的连接;
设计和实现过滤器;
设计出错处理;
建立处理流水线。;管道和过滤器的优点:
每个过滤器都是独立的整体,相互之间的状态互不影响;只要具备输入条件即可独立地完成自己的处理
支持功能模块的重用;过滤器并不知道它的上游和下游的过滤器的特性;它的设计和实现不会对与它相连的过滤器加以限制。
系统容易维护和扩展
支持某些特定的分析,如吞吐量和死锁检测
并发性;管道和过滤器的缺点:
管线或流水线(PipeLine):过滤器严格限制为单输入、单输出类型,系统拓扑结构只能是线性序列;
交互性比较弱
兼容性相对弱;维持两个相对独立但又存在某种关系的数据流之间的通信可能比较困难;
有名管道:在过滤器之间通过有名的管道来进行数据传送,增加了解析或反响工作,从而降低系统的效率。;数据抽象和面向对象组织;面向对象风格的优点:
封装:对象具有信息隐藏特性,内部结构对外不可见;
继承:从具有通用特征的对象开始,逐渐定义更具体对象多态:不同类型的对象可以对相同的鼓励做出不同的响应;PS:数据抽象是特殊化的面向对象风格:ADT(AbstractDataType)只有封装特点,没有继承和多态的特点。;基于事件的隐式调用;隐式调用风格的优点
为软件重用提供了强大的支持
为改进系统带来了方便
隐式调用风格的缺点
构件放弃了对系统计算的控制
数据交换的问题
既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题;分层系统;例:ISO的OSI/RM(OpenSystemsInterconnectionReferenceModel)7层模型;分层系统的实现:
为分层定义抽象准那么,定义抽象层次;
给每一层命名并指定它们的任务和提供的效劳;
为每个层定义接口、实现独立的层;
确定相邻层通信、降低相邻层的耦合程度;
设计错误处理策略。;基于微内核模式构建的WindowsNT系统:
系统效劳层:子系统与NT执行程序间的接口层;
资源管理层:包括对象管理、平安引用监视、进程管理、I/O管理、虚拟存储管理、局部过程调用等模块;
内核:负责根本功能,如中断和异常处理,多处理器同步,线程调度;
硬件抽象层:隐藏不同处理器系列机器间硬
文档评论(0)