教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 公文资料 >

软件体系结构风格(上)

来源:网络收集 时间:2026-09-25
导读: 软件体系结构风格 软件体系结构风格(Style):描述特定系统组织方式的惯用范例, 强调组织模式和惯用范例。组织模式即静态表述的样例,惯用范 例则是反映群众多系统共有的结构和语义。 软件体系结构设计的核心问题:能否达到体系结构级的软件重 用; 对软件体

软件体系结构风格

软件体系结构风格(Style):描述特定系统组织方式的惯用范例, 强调组织模式和惯用范例。组织模式即静态表述的样例,惯用范 例则是反映群众多系统共有的结构和语义。

软件体系结构设计的核心问题:能否达到体系结构级的软件重 用; 对软件体系结构风格的研究和实践促进了对设计的复用,一些 经过实践证实的解决方案也可以可靠地用于解决新的问题。

目的:展示软件体系结构丰富的选择空间,在此基础上对 风格选择的一些权衡PS:体系结构模式 体系结构惯用描述和体系结构风格是同一个意思2

使用软件体系结构风格的优点:

促进设计重用; 带来巨大的代码重用; 使系统更易于被他人理解; 使用标准化的风格有利于系统的互操作性; 便于利用特有的体系结分析方法; 提供特定风格的可视化。

在体系结构层次上,常出现客户机-服务器系统、管道过滤器设计或者分层体 系结构等软件风格术语,这些术语一般与特定的设计方法和符号相关,如面向对象和 数据流等,虽然还没有对体系结构惯用模式实现分类,但是这种分类的轮廓已开始出 现,如下部分主要种类:

软件体系结构风格是反复出现的组织模式和习惯用法,是对 一系列体系结构设计的抽象; 软件体系结构风格是描述某一特定应用领域中系统组织方式 的惯用模式。体系结构风格定义了一个系统家族,即一个体 系结构定义一个词汇表和一组约束; 词汇表包括一些构件和连接件,约束指出系统如何将这些构 件和连接件组合起来;

一个软件体系结构风格定义了构件和连接件类型 的符号集,以及规定它们怎样组合起来的约束集合。5

讨论体系结构风格时要回答的问题:

设计词汇表是什么? 构件和连接件的类型是什么? 可容许的结构模式是什么? 基本的计算模型是什么? 风格的基本不变性是什么? 其使用的常见例子是什么? 其优缺点是什么?

体系结构风格最关键的四个要素:提供一个词汇表、定 义一套配置规则、定义一套语义解释原则和定义对基于 这种风格的系统所进行的分析。 分析7种通用的风格

Garlan和Shaw对通用体系结构风格的分类:(1)数据流风格:批处理序列、管道/过滤器(2)调用/返回风格:主程序/子程序、面向对象系统、多级 分层

(3)独立构件风格:进程通讯、事件系统;(4)虚拟机风格:解释器、基于规则的系统; (5)知识库风格:数据库系统、超文本系统、黑板系统

PS: 知识库风格也称为数据中心系统或仓库系统7

经典软

件体系结构 管道和过滤器 数据抽象和面向对象组织 基于事件的隐式调用 分层系统 知识库 模型-视图-控制器(MVC)风格 解释器风格 客户/服务器风格(C/S) 三层C/S结构风格 浏览器/服务器风格(B/S)8

管道和过滤器(PIPES AND FILTER)

产生于UNIX操作系统,适用于对有序数据进行 一系列已经定义的独立计算的应用程序; 每个构件(过滤器)都有一组输入和输出,构件读 输入的数据流,经内部处理,产生输出数据流; 连接件位于过滤器之间,起到信息流导管的作用, 称为管道; 管道和过滤器系统的输出的正确性不依赖于过滤 器的递进处理顺序。

管道过滤器通用结构: 过滤器是一个独立实体,其间无需共享状态 管线(Pipelines):限制系统的拓扑结构只能是过滤器的线性序列 有界管线(Bounded Pipes):限制了在管道中能容纳的数据量 类型定义管道(Type Pipes):明确定义在两个过滤器间的数据类 型10

管道和过滤器风格的例子: UNIX的shell程序,如命令: cat file | grep xyz | sort | uniq > out 在文件file中查找包括xyz的行 排序 去掉重行 输 出到out文件中; 编译器:词法分析 句法分析 语义分析 代码生成。

管道和过滤器的实现: 将系统任务分成几个独立的处理阶段; 定义每个管道传输的数据格式; 决定管道的连接; 设计和实现过滤器; 设计出错处理; 建立处理流水线。

管道和过滤器的优点: 每个过滤器都是独立的整体,相互之间的状态互 不影响;只要具备输入条件即可独立地完成自己 的处理 支持功能模块的重用;过滤器并不知道它的上游 和下游的过滤器的特性;它的设计和实现不会对 与它相连的过滤器加以限制。 系统容易维护和扩展 支持某些特定的分析,如吞吐量和死锁检测 并发性

管道和过滤器的缺点: 管线或流水线(Pipe Line):过滤器严格限制为 单输入、单输出类型,系统拓扑结构只能是线性 序列; 交互性比较弱 兼容性相对弱;维持两个相对独立但又存在某种 关系的数据流之间的通信可能比较困难; 有名管道:在过滤器之间通过有名的管道来进行 数据传送,增加了解析或反馈工作,从而降低系 统的效率。

数据抽象和面向对象组织 建立在数据抽象和面向对象的基础上,数据表示方 法及其相应操作被装到一个抽象数据类型(对象)中; 对象(构件)负责保持资源的完整性,对象通过函数 和过程调用(连接件)来交互; 适用于以相互关联的数据实体的标识和保护为中心 问题的应用程序。

面向对象风格的优

点: 封装:对象具有信息隐藏特性,内部结构对外不可见; 继承:从具有通用特征的对象开始,逐渐定义更具体对象多态:不同类型的 对象可以对相同的激励做出不同的响应16

…… 此处隐藏:591字,全部文档内容请下载后查看。喜欢就下载吧 ……
软件体系结构风格(上).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/711775.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)