- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章
软件体系结构风格
天津商业大学
1
◇ 体系结构风格概述
对在实践中一些常见的体系结构风格(模式)的讨论,有助于我们对软件体系结构的理解。
对常见体系结构风格的讨论框架
(1)每一个常见的体系结构风格,都可以看成是一组计算构件以及构件间的交互。
(2)以图示的方式表示构件和构件间的交互。
2
◇ 定义
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
软件体系结构风格定义的主要内涵:
定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型。
约束指出系统是如何将这些构件和连接件组合起来的。
3
◇ 研究意义
体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。
4
特别注意:体系结构风格不是对软件进行分类的标准。它仅仅是表示描述软件的不同角度而已。
例如:一个系统采用了分层风格,但这并不妨碍它用面向对象的方法来实现。同一个系统采用多种风格造成了所谓体系结构风格的异构组合。
5
◇ 体系结构风格的四要素
(1)提供一个词汇表;
(2)定义一套配置规则;
(3)定义一套语义解释原则;
(4)定义对基于这种风格的系统所进行的分析。
6
◇ 经典的体系结构风格
◎ 数据流风格:批处理序列;管道和过滤器。
◎ 调用/返回风格:主程序/子程序;面向对象风格;层次结构。
◎ 独立构件风格:进程通讯;事件系统。
◎ 虚拟机风格:解释器;基于规则的系统。
◎ 仓库风格:数据库系统;超文本系统;黑板系统。
7
◇ 管道和过滤器模式:模型
构件:过滤器,接收数据输入,进行转化后输出
过滤器是独立的实体,相互之间没有状态的依赖
对一个过滤器而言,它上游和下游的过滤器是透明的
交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入。
8
◇ 管道和过滤器模式
管道过滤器通用的结构有:
(1)管线:也称为流水线,即限制系统的拓扑结构只能是过滤器的线性结构;
如:批处理系统、Unix Shell、编译器
(2)有界管道:限制了在管道中能容纳或传输的数据量;
(3)类型定义管道:也称类型管道,即要求明确定义在两个过滤器间传输的数据类型。
9
◇ 管道和过滤器模式实例
3.2 经典软件体系结构风格
10
◇ 数据抽象和面向对象组织模式
面向对象模型
(1)封装
(2)继承
(3)多态性
11
◇ 数据抽象和面向对象组织模式
构件:对象,或者说是抽象数据类型的实例。
(1)对象是一种被称作管理者的构件,负责保持资源的完整性。
(2)对象通过函数和过程的调用来交互的。
12
◇ 数据抽象和面向对象组织模式
这种模式的两个重要方面:
(1)对象维护自身表示的完整性;
(2)这种表示对其他对象是隐藏的。
13
◇ 数据抽象和面向对象组织模式实例
人事档案管理系统
14
◇ 基于事件的隐式调用模式
对象之间通过方法调用进行交互,但是调用是隐式的,通过事件机制进行调用触发。
(1)对象可以发布(广播)事件。
(2)对象也可以通过事件注册将某一个方法和事件进行绑定。
注意:一旦该事件触发,所有与该事件绑定的方法都将被调用。
15
◇ 基于事件的隐式调用模式
构件:模块,模块既可以是过程,又可以是事件的集合。
过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。
特点:事件的触发者并不知道哪些构件会被这些事件影响。
(1)不能假定构件的处理顺序;
(2)不知道哪些过程会被调用;
(3)许多隐式调用的系统也包含显式调用作为构件交互的补充形式。
16
◇ 基于事件的隐式调用模式
下图是一个基于事件驱动的软件系统的示意图:
17
◇ 基于事件的隐式调用模式
事件驱动风格和面向对象风格的关系
基于面向对象风格的系统由多个封装起来的对象构成,对象之间通过消息传递实现通信,而事件驱动正是对消息传递机制的一种实现。所以基于事件驱动风格的系统往往都是面向对象的。
18
◇ 分层模式
一个使用分层模式的系统体系出一种层次结构。
(1)每一层都向它的上一层提供服务。
(2)每一层都使用它下一层的服务。
下层无需知道上层的存在,每一层对其上层隐藏其实现细节(虚拟机)。
19
◇ 分层模式实例—计算机网络的设计
20
◇ 分层模式实例
.Net平台也是一个明显的分层系统:
21
◇ 仓库系统及知识库模式
仓库系统体系结构:
能够描述很多系统;
共同点是共享数据;
仓库系统运行机制:
收集、操作、保存大量的数据;
知识库是仓库系统的典型实例:
具有成长的特性。
您可能关注的文档
最近下载
- DB34T-中医护理灸疗技术操作规范 第一部分:督灸.pdf VIP
- 2025年秋小升初入学分班语文测试卷(一)(统编版) .pdf VIP
- 施必牢丝锥使用介绍.pdf VIP
- 外教社2023新世纪英专本科生系列(修订版):英语阅读 第1册 Unit 4 PPT课件.pptx VIP
- 小英雄雨来读书分享ppt.pptx VIP
- 新人教版七年级上册生物全册教案(2024年秋季新版教材).docx
- 免疫云-接种端培训20240222.pptx VIP
- 中建项目成本管理实施细则(2021年).docx VIP
- 高考作文模拟写作:“独立,是摆脱依赖还是建立新的依恋,以了解世界,洞悉自己” 导写及范文.docx VIP
- 全国教育科学规划课题开题报告.doc VIP
文档评论(0)