软件体系结构建模PPT演示文稿
合集下载
软件体系结构Chap05建模ppt课件
2021/5/31
:
4
不同视图从不同的侧面描述系统;使得不同需求的 人员能够得到他们对于软件体系结构想要了解的东 西。
逻辑视图(Logic View);
进程视图(Process View);
物理视图(Physical View) or 部署视图(Deployment View);
开发视图(Development View) or 实现视图 (Implementation View);
:
22
4、实现阶段
将设计阶段的算法和数据结构用程序语言表 示,满足设计体系结构和需求分析的要求;
每个构件必须满足软件体系结构中说明的对 其他构件的责任;
通过组装支持工具把构件的实现体组装起来 ,完成整个系统的连接与合成。
5、测试阶段
单个构件的功能性测试和整个系统的功能和 性能测试。
2021/5/31
2021/5/31
:
26
领域知识:解决某一问题所应用的知识的范围,包括问 题领域知识、商业领域知识、解决方案领域知识、通用 知识,等等;
需求规格说明:表示规格说明,描述了所要开发的体系 结构的系统需求;
解决方案抽象:定义了体系结构中子结构的概念表示; 体系结构描述:定义了软件体系结构的规格说明。
2021/5/31
:
31
4、模式驱动的体系结构设计
软件设计模式的目的在于编制一套可重用的基 本原则,用于开发高质量的软件系统;
意图:表示使用模式的基本原则;
上下文:表示问题的产生环境;
问题:表示上下文环境中经常出现的问题;
解决方案:以元素及其关系的抽象描述的形式
来表示对问题的解决方案。
第五章 软件体系结构建模
软件体系结构设计方法ppt课件
2.1.3 模式驱动的方法
模式驱动的体系结构设计方法从模式导出体系结构 抽象。软件设计模式的目的在于编制一套可重用的 基本原则,用于开发高质量的应用系统。体系结构 模式类似于设计模式,但它关心更粗粒度的系统结 构及其交互。
15
客户 需求规格说明书
通用知识 2:实现
体系结构模式 描述 意图
上下文
问题
解决方案
体系结构描述Biblioteka 4:组合3:应用 体系结构模式
图4 模式驱动的体系结构设计的概念模型
16
3. 系统的管理端业务处理模块
3.1 总的网络拓补结构
系统管理员
数据库 和
Web程序 都在这上
导师
导师
导师
17
3. 系统的管理端业务处理模块
在该系统中采用面向对
象分析作为主要的系统
建模方法,用不同的设
计角度描述角色(管理
有所不同。
3
客户
领域知识
捕捉需求 需求规格 说明书
提取解决方 案的结构
领域知识 工作
解决方案抽象
体系结构 规格说明
领域知识
体系结构
图1 体系结构设计方法的元模型 4
2.软件体系结构设计方法的分析
为了获取对体系结构设计的抽象,人们已经提出 了许多方法。
2.1 体系结构设计方法的分类
(1)工件驱动(Artifact-Driven)的方法 (2)用例驱动(Use-Case-Driven)的方法 (3)模式驱动(Pattern-Driven)的方法 (4)领域驱动(Domain-Driven)的方法
*
者)与系统的其它的 管理员
构件是如何联系的。管
管理端子系统 *
理端的主用例图如右图:
模式驱动的体系结构设计方法从模式导出体系结构 抽象。软件设计模式的目的在于编制一套可重用的 基本原则,用于开发高质量的应用系统。体系结构 模式类似于设计模式,但它关心更粗粒度的系统结 构及其交互。
15
客户 需求规格说明书
通用知识 2:实现
体系结构模式 描述 意图
上下文
问题
解决方案
体系结构描述Biblioteka 4:组合3:应用 体系结构模式
图4 模式驱动的体系结构设计的概念模型
16
3. 系统的管理端业务处理模块
3.1 总的网络拓补结构
系统管理员
数据库 和
Web程序 都在这上
导师
导师
导师
17
3. 系统的管理端业务处理模块
在该系统中采用面向对
象分析作为主要的系统
建模方法,用不同的设
计角度描述角色(管理
有所不同。
3
客户
领域知识
捕捉需求 需求规格 说明书
提取解决方 案的结构
领域知识 工作
解决方案抽象
体系结构 规格说明
领域知识
体系结构
图1 体系结构设计方法的元模型 4
2.软件体系结构设计方法的分析
为了获取对体系结构设计的抽象,人们已经提出 了许多方法。
2.1 体系结构设计方法的分类
(1)工件驱动(Artifact-Driven)的方法 (2)用例驱动(Use-Case-Driven)的方法 (3)模式驱动(Pattern-Driven)的方法 (4)领域驱动(Domain-Driven)的方法
*
者)与系统的其它的 管理员
构件是如何联系的。管
管理端子系统 *
理端的主用例图如右图:
精品PPT课件--第9章软件体系结构与设计模式
在组织形式上,框架是一个待实例化的完整系统,定义 了软件系统的元素和关系,创建了基本的模块,定义了涉 及功能更改和扩充的插件位置。典型的框架例子有MFC框 架和Struts框架。
9.1 软件体系结构的基本概念
• 体系结构的重要作用
体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(项目干系
层次结构具有以下优点: (1)支持基于抽象程度递增的系统设计,使设计者可以把
一个复杂系统按递增的步骤进行分解。 (2)支持功能增强,因为每一层至多和相邻的上下层交
互,因此,功能的改变最多影响相邻的内外层。
9.2 典型的体系结构风格
(3)支持复用。只要提供的服务接口定义不变,同一层的 不同实现可以交换使用。这样,就可以定义一组标准 的接口,从而允许各种不同的实现方法。
9.1 软件体系结构的基本概念
2.风格
风格是带有一种倾向性的模式。同一个问题可以有不同 的解决问题的方案或模式,但我们根据经验,通常会强烈 倾向于采用特定的模式,这就是风格。
每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某
种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”
个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互
的代理程序的集合。
9.2 典型的体系结构风格
其缺点如下: (1)为了使一个对象和另一个对象通过过程调用等进行
交互,必须知道对象的标识。只要一个对象的标识 改变了,就必须修改所有其他明确调用它的对象。 (2)必须修改所有显式调用它的其他对象,并消除由此 带来的一些副作用。例如,如果A使用了对象B,C 也使用了对象B,那么,C对B的使用所造成的对A 的影响可能是料想不到的。
9.1 软件体系结构的基本概念
• 体系结构的重要作用
体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(项目干系
层次结构具有以下优点: (1)支持基于抽象程度递增的系统设计,使设计者可以把
一个复杂系统按递增的步骤进行分解。 (2)支持功能增强,因为每一层至多和相邻的上下层交
互,因此,功能的改变最多影响相邻的内外层。
9.2 典型的体系结构风格
(3)支持复用。只要提供的服务接口定义不变,同一层的 不同实现可以交换使用。这样,就可以定义一组标准 的接口,从而允许各种不同的实现方法。
9.1 软件体系结构的基本概念
2.风格
风格是带有一种倾向性的模式。同一个问题可以有不同 的解决问题的方案或模式,但我们根据经验,通常会强烈 倾向于采用特定的模式,这就是风格。
每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某
种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”
个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互
的代理程序的集合。
9.2 典型的体系结构风格
其缺点如下: (1)为了使一个对象和另一个对象通过过程调用等进行
交互,必须知道对象的标识。只要一个对象的标识 改变了,就必须修改所有其他明确调用它的对象。 (2)必须修改所有显式调用它的其他对象,并消除由此 带来的一些副作用。例如,如果A使用了对象B,C 也使用了对象B,那么,C对B的使用所造成的对A 的影响可能是料想不到的。
C2_软件体系结构建模共73页PPT资料
2020/1/10
18
第2章 软件体系结构建模
2.2 “4+1”视图模型
◇ “4+1”模型概述
以上五种模型各有所长,将五种模型有机的统一在一起, 形成一个完整的模型来刻画软件体系结构更加合适。
每个视图模型可看成对系统不同方面一个投影,一个构架 的不同视图其实反映的是同一个系统。
各个不同的视图是可以融合在一起的,而且也只有将不同 的视图融合在一起才能获得关于一个系统构架的全面信息1。9
◎ 结构模型
◎ 框架模型
◎ 动态模型
◎ 过程模型
◎ 功能模型
2020/1/10
13
第2章 软件体系结构建模 ◇ 软件体系结构建模的种类
2.1 软件体系结构建模概述
◎ 结构模型
这是一个最直观、最普遍的建模方法。这种方法以 体系结构的构件、连接件和其他概念来刻画结构,并 力图通过结构来反映系统的重要语义内容,包括系统 的配置、约束、隐含的假设条件、风格、性质等。
你的老板(项目经理)让你预计你将要完 成的几个模块的开发时间。
你怎么办?
2020/1/10
2
假定你是Module Designer
你来开发A2和A3,怎么开始?
2020/1/10
3
与Module Designer交流
基本想法是什么? 我该做什么 (如,实现哪些需求) ? 我该在哪做 (如,这项功能实现在哪里) ? 我和谁交互?接口是什么? 有什么可以重用的代码? 必须遵从什么约定(质量目标、旧体系/接口、预
其他设计问题
代码重用、标准的运用 风险分析 运作、管理和维护
2020/1/10
10
好描述
线和框有不同的形状/颜色,并有图例说明 用表格总结方案选择等等各种问题 图并不试图去表达很多信息:把信息分散
《软件体系结构》课件
重构的实施
4
来进行重构。
重构应该是一个渐进的过程,通过逐步 修改系统的部分来达到整体的改进。
软件体系结构的例子和项目实践
实例一:在线商店系统
以在线商店系统为例,介绍如何 设计和实现具有扩展性和可维护 性的软件体系结构。
实例二:社交媒体平台
以社交媒体平台为例,讨论如何 应用不同的架构模式来满足用户 的需求。
项目实践:设计和实现一 个软件系统
通过一个具体的项目实践,展示 如何在整个软件开发生命周期中 应用软件体系结构的原理和方法。
结语
1 总结和反思
回顾我们在这份PPT课件中所讨论的内容,并总结其中的关键要点。
2 展望未来的发展趋势
预测软件体系结构领域的发展趋势,并对未来的研究方向提出建议。
3 鼓励学习和实践软件体系结构的重要性
通过评估和分析软件体系结构,我们可以发 现潜在的问题并做出相应的改进。
软件体系结构的演化和重构
1
演化的原因
技术的进步、需求的变化和系统的缺陷
重构的目的和方法
2
可能会导致软件体系结构的演化。
重构旨在改善系统的设计和结构,以提
高可维护性和可扩展性。Βιβλιοθήκη 3重构的技术和策略
通过使用设计模式、分解复杂的模块和
简化系统之间的依赖关系等技术和策略
客户端-服务 器架构
客户端发送请求,服 务器提供响应。这种 架构常用于网络应用 程序和分布式系统。
浏览器-服务 器架构
浏览器充当客户端, 通过HTTP协议与服务 器进行通信。这种架 构常用于Web应用程 序。
面向服务的架 构
系统通过服务进行通 信,每个服务提供特 定的功能。这种架构 可以促进系统的松耦 合和可扩展性。
软件体系结构 ppt课件
图A 播放AVI文件的Graph Filter图
上图中每个模块分别代表了不同的Filter,媒体文件Filter从硬盘读取AVI文件,AVI分离 Filter将文件分离为音频流和视频流,AVI解码Filter对视频流进行解码并送往Video表现Filter, 由后者将各帧在显示器上显示,默认的 DirectSound 设备用DirectSound将音频流输 2019 10 出。。
6
•
2019
1概述-软件危机的原因
• 软件复杂度越来越高 • 软件不仅仅是在规模上快速地发展扩大,而且其复 杂性也急剧地增加。软件产品的特殊性和人类智力的 局限性,导致人们无力处理“复杂问题”。 所谓“复杂问题”的概念是相对的,一旦人们采用 先进的组织形式、开发方法和工具提高了软件开发效 率和能力,新的、更大的、更复杂的问题又摆在人们 的面前。
2019
-
3
1概述
• 它是一种简单的、清楚的、完善的方式 形成的
• 软件工程师需要一种更好的视角来理解 软件,并试图找到一种新的方法来构建 更复杂的大型软件系统 • SA (software architecture)
• 一个简单程序到复杂系统软件的距离是 十年
2019 4
1概述-需求开发的主要困难
软件体系结构
刘兴
2019
计算机学院软件工程系
1
软件体系结构内容
• • • • • • • 1概述 2软件体系结构风格 3案例研究 4软件体系结构的分析与评估(略) 5流行的软件体系结构 6设计模式与软件架构 7企业架构师和设计师、企业软件架构简介
2
2019
1概述
• • • • 我们要学的这个是什么玩意? 我们为什么要学这个玩意? 我们将来会怎么干? 其他人是怎么玩的?
演示文档软件体系结构第二章软件体系结构风格精品PPT课件
当地约束于配置规则之中,并具有清晰的含义。
4.定义可以对基于这种风格建立的系统进行的分 析。如:Client/Server结构风格的实时处理过程的可调度性。
基本的软件体系结构风格
Garlan和Shaw对通用体系结构风格的分类:
•数据流风格:批处理序列;管道/过滤器; •过程/调用风格:主程序/子过程;面向对象;分层系统; •独立组件风格:进程通讯;基于事件驱动的系统(显式调用\隐式调用) •虚拟机风格:表格驱动的解释器(类似CPU);基于规则的系统(类似工业
件。系统中其它组件的过程在一个或多个事件中注册,当一个事件 被触发,系统自动调用在这个事件中注册的所有过程。这样,事件 的触发就可以隐式调用模块中的过程。
管道-过滤器
数据中心式
中央数据库:常见的数据库 应用系统
超文本系统: WWW 黑板
独立部件式
互通信进程:UNIX系统 事件系统(隐式调
用):Windows
显式调用
虚拟机式
解释器: JAVA虚拟机 基于规则的系统: 过程控
制系统
基本的软件体系结构风格
出发点:侧重于软件体系结构的结构模型,即观察软件部件、连
基本的软件体系结构风格
----管道/过滤器(pipes and filters)
计算过滤器
管道
计算过滤器
过滤器:对输入数据进行局部变换,并采用渐进式计算方法, 在未处理完所有输入数据以前,就可以产生部分计算结果, 并将其送到输出端口。
管道:各过滤器之间的连接器将一个过滤器的输出传到下一 过滤器的输入端。
Interpreter
Rule-based System
From Chapter 5, Software Architecture in Practice, p. 95
4.定义可以对基于这种风格建立的系统进行的分 析。如:Client/Server结构风格的实时处理过程的可调度性。
基本的软件体系结构风格
Garlan和Shaw对通用体系结构风格的分类:
•数据流风格:批处理序列;管道/过滤器; •过程/调用风格:主程序/子过程;面向对象;分层系统; •独立组件风格:进程通讯;基于事件驱动的系统(显式调用\隐式调用) •虚拟机风格:表格驱动的解释器(类似CPU);基于规则的系统(类似工业
件。系统中其它组件的过程在一个或多个事件中注册,当一个事件 被触发,系统自动调用在这个事件中注册的所有过程。这样,事件 的触发就可以隐式调用模块中的过程。
管道-过滤器
数据中心式
中央数据库:常见的数据库 应用系统
超文本系统: WWW 黑板
独立部件式
互通信进程:UNIX系统 事件系统(隐式调
用):Windows
显式调用
虚拟机式
解释器: JAVA虚拟机 基于规则的系统: 过程控
制系统
基本的软件体系结构风格
出发点:侧重于软件体系结构的结构模型,即观察软件部件、连
基本的软件体系结构风格
----管道/过滤器(pipes and filters)
计算过滤器
管道
计算过滤器
过滤器:对输入数据进行局部变换,并采用渐进式计算方法, 在未处理完所有输入数据以前,就可以产生部分计算结果, 并将其送到输出端口。
管道:各过滤器之间的连接器将一个过滤器的输出传到下一 过滤器的输入端。
Interpreter
Rule-based System
From Chapter 5, Software Architecture in Practice, p. 95
《软件体系结构建模》幻灯片PPT
体系构造建模
郑州大学软件学院 赵哲
复习
软件体系构造概论 软件危机 构件与软件重用 软件体系构造的兴起和开展 软件体系构造的应用现状
郑州大学软件学院 赵哲
本章主要内容
软件体系构造建模概述 4+1视图模型
郑州大学软件学院 赵哲
软件体系构造建模概述
建模modeling :建立系统模型的过程 软件体系构造建模:如何对软件体系构
造建立系统模型 根据建模的侧重点不同 可将软件体系构造模型分为5类
郑州大学软件学院 赵哲
软件体系构造模型的分类
构造模型(骨头拆分) 框架模型(骨骼) 动态模型(时序图、状态图和活动图来,
与操作时间或顺序有关) 过程模型(步骤、过程) 功能模型(层次) P31
郑州大学软件学院 赵哲
一点延伸
郑州大学软件学院 赵哲
软件过程
需求分析 建立体系结构
设计
实现 测试
郑州大学软件学院 赵哲
需求分析
与用户沟通 由不同代表组成的小组:分析人员、客
户、设计人员、测试人员等对需求进展 审查
郑州大学软件学院 赵哲
建立体系构造
由体系构造设计师对整个系统进展分析 选择一个适宜的体系构造风格
郑州大学软件学院 赵哲
主要侧重软件模块的组织和管理,为编 程人员效劳。
软件可以通过程序库或子程序进展组织, 这样就可以由不同的人进展开发
郑州大学软件学院 赵哲
开发视图
开发视图要考虑软件内部的需求,如软 件开发的容易性、软件的重用和软件的 通用性,要充分考虑由于具体开发工具 的不同而带来的局限性。
开发视图通过系统输入输出关系的模型 图和子系统图来描述。
郑州大学软件学院 赵哲
4+1模型
郑州大学软件学院 赵哲
复习
软件体系构造概论 软件危机 构件与软件重用 软件体系构造的兴起和开展 软件体系构造的应用现状
郑州大学软件学院 赵哲
本章主要内容
软件体系构造建模概述 4+1视图模型
郑州大学软件学院 赵哲
软件体系构造建模概述
建模modeling :建立系统模型的过程 软件体系构造建模:如何对软件体系构
造建立系统模型 根据建模的侧重点不同 可将软件体系构造模型分为5类
郑州大学软件学院 赵哲
软件体系构造模型的分类
构造模型(骨头拆分) 框架模型(骨骼) 动态模型(时序图、状态图和活动图来,
与操作时间或顺序有关) 过程模型(步骤、过程) 功能模型(层次) P31
郑州大学软件学院 赵哲
一点延伸
郑州大学软件学院 赵哲
软件过程
需求分析 建立体系结构
设计
实现 测试
郑州大学软件学院 赵哲
需求分析
与用户沟通 由不同代表组成的小组:分析人员、客
户、设计人员、测试人员等对需求进展 审查
郑州大学软件学院 赵哲
建立体系构造
由体系构造设计师对整个系统进展分析 选择一个适宜的体系构造风格
郑州大学软件学院 赵哲
主要侧重软件模块的组织和管理,为编 程人员效劳。
软件可以通过程序库或子程序进展组织, 这样就可以由不同的人进展开发
郑州大学软件学院 赵哲
开发视图
开发视图要考虑软件内部的需求,如软 件开发的容易性、软件的重用和软件的 通用性,要充分考虑由于具体开发工具 的不同而带来的局限性。
开发视图通过系统输入输出关系的模型 图和子系统图来描述。
郑州大学软件学院 赵哲
4+1模型
软件体系结构ppt精选课件
基于规则系统
• 调用和返回系统
数据中心系统(知识库)
• 主程序和子程序
• 面向对象系统
• 多级分层
数据库
超文本系统
黑板
• 独立构件
• 通讯进程
• 事件系统
精选ppt
24
2.1体系结构风格
• 7种通用的风格
• 管道和过滤器、对象、隐式调用、层、知识库、解释器和过程调用。
精选ppt
25
2.2管道过滤器(pipes &filters)
软件体系结构
精选ppt
1
1概述
• 我们要学的这个是什么玩意?
• 我们为什么要学这个玩意?
• 我们将来会怎么干?
• 其他人是怎么玩的?
精选ppt
2
1概述
• 软件工程师需要一种更好的视角来理解软件,并试图找到一种新的方法来
构建更复杂的大型软件系统
• SA (software architecture)
软件系统“可扩展”的前提条件是“保持结构稳定”,否则软件难
以按计划开发出来,稳定性是使系统能够持续发展的基础。所以稳
定性和可扩展性都是体系结构设计的要素。
• •如果每次变化都导致体系结构发生大的变动,那简直就是“伤筋
动骨”,这样的体系结构无疑是败笔之作。(例如房屋装修)
精选ppt
21
• 复用就是指“重复利用已经存在的东西”。被复用的对象可以是有
套共享的,语义丰富的词典,它由软件系统的习
惯用语,模式,软件系统组织结构风格组成。
• 通过识别一个管道过滤器体系结构风格的实例,
一个软件工程师传达了这样的事实:这个系统的
主要功能就是进行数据流的转换,系统的主要功
• 调用和返回系统
数据中心系统(知识库)
• 主程序和子程序
• 面向对象系统
• 多级分层
数据库
超文本系统
黑板
• 独立构件
• 通讯进程
• 事件系统
精选ppt
24
2.1体系结构风格
• 7种通用的风格
• 管道和过滤器、对象、隐式调用、层、知识库、解释器和过程调用。
精选ppt
25
2.2管道过滤器(pipes &filters)
软件体系结构
精选ppt
1
1概述
• 我们要学的这个是什么玩意?
• 我们为什么要学这个玩意?
• 我们将来会怎么干?
• 其他人是怎么玩的?
精选ppt
2
1概述
• 软件工程师需要一种更好的视角来理解软件,并试图找到一种新的方法来
构建更复杂的大型软件系统
• SA (software architecture)
软件系统“可扩展”的前提条件是“保持结构稳定”,否则软件难
以按计划开发出来,稳定性是使系统能够持续发展的基础。所以稳
定性和可扩展性都是体系结构设计的要素。
• •如果每次变化都导致体系结构发生大的变动,那简直就是“伤筋
动骨”,这样的体系结构无疑是败笔之作。(例如房屋装修)
精选ppt
21
• 复用就是指“重复利用已经存在的东西”。被复用的对象可以是有
套共享的,语义丰富的词典,它由软件系统的习
惯用语,模式,软件系统组织结构风格组成。
• 通过识别一个管道过滤器体系结构风格的实例,
一个软件工程师传达了这样的事实:这个系统的
主要功能就是进行数据流的转换,系统的主要功
软件体系结构模式ppt课件
解决时应该考虑的各个方面,如:
– 解决方案必须满足的需求—例如:对等进程的通信 必须是高效的
– 你必须考虑的约束—例如:进程间通信必须遵守特 定协议
– 解决方案必须具有希望的特性—例如,软件更改应 该是容易的
10
2.3 解决方案
模式的解决方案给出了如何解决再现问题,或 者更恰当地说是如何平衡与之相关的强制条件。 其包括两个方面:
体系结构模式表示软件系统的基本结构化组织 图式。它提供一套预定义的子系统,规定它们 的职责,包含用于组织它们之间关系的规则和 指南。
例如:MVC体系结构模式
13
3.2 设计模式
软件体系结构的子系统,以及它们之间的关系, 通常由几个更小的体系结构单元构成。我们用 设计模式来进行描述。
设计模式提供一个用于细化软件系统的子系统 或组件,或它们之间关系的图式。它描述通信 组件的公共再现结构,通信组件可以解决特定 语境中的一个一般设计问题。
– 每个模式规定了一个特定的结构,即元素的一个空 间配置
– 每个模式规定了运行期间的行为
11
三、模式类别
模式可分为三种类型
– 体系结构模式 – 设计模式 – 惯用法
每一种类型都由具有相似规模或抽象程度的模 式组成。
12
3.1体系结构模式
根据一些整体构建原理来建立可行的软件体系 结构。
软件体系结构模式
1
软件体系结构模式
教学目标:
– 掌握模式的概念 – 熟练掌握模式的构成 – 掌握模式的类别
教学重点:
– 掌握模式的概念、作用与构成
教学难点:
– 熟练掌握模式的构成
2
一、什么是模式
当专家求解一个特殊问题时,一般不会发明一 种和已有解决完全不同的方案来处理这个问题。
– 解决方案必须满足的需求—例如:对等进程的通信 必须是高效的
– 你必须考虑的约束—例如:进程间通信必须遵守特 定协议
– 解决方案必须具有希望的特性—例如,软件更改应 该是容易的
10
2.3 解决方案
模式的解决方案给出了如何解决再现问题,或 者更恰当地说是如何平衡与之相关的强制条件。 其包括两个方面:
体系结构模式表示软件系统的基本结构化组织 图式。它提供一套预定义的子系统,规定它们 的职责,包含用于组织它们之间关系的规则和 指南。
例如:MVC体系结构模式
13
3.2 设计模式
软件体系结构的子系统,以及它们之间的关系, 通常由几个更小的体系结构单元构成。我们用 设计模式来进行描述。
设计模式提供一个用于细化软件系统的子系统 或组件,或它们之间关系的图式。它描述通信 组件的公共再现结构,通信组件可以解决特定 语境中的一个一般设计问题。
– 每个模式规定了一个特定的结构,即元素的一个空 间配置
– 每个模式规定了运行期间的行为
11
三、模式类别
模式可分为三种类型
– 体系结构模式 – 设计模式 – 惯用法
每一种类型都由具有相似规模或抽象程度的模 式组成。
12
3.1体系结构模式
根据一些整体构建原理来建立可行的软件体系 结构。
软件体系结构模式
1
软件体系结构模式
教学目标:
– 掌握模式的概念 – 熟练掌握模式的构成 – 掌握模式的类别
教学重点:
– 掌握模式的概念、作用与构成
教学难点:
– 熟练掌握模式的构成
2
一、什么是模式
当专家求解一个特殊问题时,一般不会发明一 种和已有解决完全不同的方案来处理这个问题。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
2.2软件体系结构模型
逻辑视图,也称概念视图,主要是支持系统功能 需求的抽象描述,即系统最终将提供给用户什么 样的服务,逻辑视图描述了系统的功能需求及其 之间的相互关系
开发视图,也称模块视图,主要侧重于描述系统 的组织,与逻辑视图密切相关,都描述了系统的 静态结构
过程视图,主要侧重于描述系统的动态行为,即 系统运行时所表现出来的相关特性,着重解决系 统的可靠性、吞吐量、并发性、分布性和容错性
模块视图描述的是每个模块的功能和模块之间的 相互关系,在模块视图下,又包括:分解视图、 使用视图、分层视图和类视图等多个子视图
分配视图反映了软件元素在创建环境和执行环境 中的分配关系,在分配视图下,又包括:部署视 图、实现视图和工作分配视图等多个子视图
11
2.2软件体系结构模型
在组件-连接件视图中,组件是计算的主要单元, 连接件是组件之间相互通信的工具,组件根据其 接口定义其所提供和需要的操作,而连接件则封 装了两个或多个组件之间的互连协议,在组件连接件视图下,又包括:进程视图、并发视图和 共享数据视图等多个子视图
第二章 软件体2.2软件体系结构模型 2.3软件体系结构的形式化描述 2.4软件体系结构的生命周期 2.5软件体系结构的建模语言 2.6基于软件体系结构的开发
2
2.1软件体系结构建模概述
模型是对现实问题的逻辑抽象,能够从某些 侧面来显示系统的重要性质,忽略其相关细 节
构件作为一个封装的实体,仅通过其接口与 外部环境进行交互,而构件的接口是由一组 端口组成的,每个端口表示构件与外部环境 之间的交互点
14
2.3软件体系结构的形式化描述
连接件作为软件体系结构建模的主要实体, 同样也有接口,连接件的接口是由一组角色 构成的,每个角色定义了该连接所表示交互 的参与者
软件体系结构::=软件体系结构核心模型|软 件体系结构风格
软件体系结构核心模型::=(构件,连接件,约 束)
构件::={端口1,端口2,…,端口N}
15
2.3软件体系结构的形式化描述
连接件::={角色1,角色2,…,角色M} 约束::={(端口i,角色j),…} 软件体系结构风格::={管道-过滤器,客户/服
逻辑视图定义了系统的目标,开发视图和过程视 图提供了详细的系统设计实现方案,物理视图解 决了系统的拓扑结构、安装和通信问题,场景反 映了完成上述任务的组织结构
9
2.2软件体系结构模型
“4+1”视图模型的不足:
“4+1”视图不能体现体系结构的构造是多层次 抽象的过程,不能充分表达系统的体系结构风格
数据作为系统的重要组成部分,在“4+1”视图 中没有得到充分地体现
“4+1”视图不能充分地反映系统要素之间的联 系,例如:构件、功能和角色之间的关联
在实现体系结构模型时,缺乏构造视图和建立视 图之间关系的指导信息
10
2.2软件体系结构模型
软件体系结构模型分解为三类视图:模块视 图、组件-连接件视图和分配视图
软件体系结构建模,就是建立软件体系结构 模型的方法和过程
软件体系结构模型以具体的形式来表现系统 的框架结构
软件体系结构模型能够帮助人们从全局的角 度来把握整个系统的框架结构
3
2.2软件体系结构模型
不同的风险承担者有着不同的软件质量属性 需求,他们所关注的问题是不相同的
不同的人从框架结构中所获取的信息也是不 相同的,所以,软件体系结构模型应该是多 维的,而不是一种单一的结构
8
2.2软件体系结构模型
物理视图,描述如何把系统软件元素映射到硬件 上,通常要考虑系统的性能、规模和容错等问题, 展示了软件在生命周期的不同阶段中所需要的物 理环境、硬件配置和分布状况
场景视图,场景是用户需求和系统功能实例的抽 象,设计者通过分析如何满足每个场景所要求的 约束来分析软件的体系结构
软件体系结构模型分为5种:结构模型、框 架模型、动态模型、过程模型和功能模型
4
2.2软件体系结构模型
结构模型:以构件、连接件及其之间的关联关系 为基础来刻画系统的框架结构,力图通过结构来 反映系统的语义
框架模型:框架模型与结构模型很类似,但是, 它不太侧重框架的细节,而是更多地考虑了系统 的整体结构
5种模型各有所长,只有将5种模型有机地结 合起来,才能形成一个完整的模型来刻画软 件的框架结构
6
2.2软件体系结构模型
“4+1”视图模型
最终用户:功能需求 逻辑视图
开发人员:软件管理 开发视图
场景
过程视图
物理视图
系统集成人员:并发 性、分布性和容错性等
系统工程人员:系统拓 扑结构、安装和通信等
连接件也是可预制和可重用的软件元素,是 构件之间的连接单元
构件和连接件之间的关系用约束来表示
13
2.3软件体系结构的形式化描述
软件体系结构核心模型(Software Architecture Core Model)=构件 (Components)+连接件(Connectors)+ 约束(Constraints)
各种视图为软件质量属性的实现提供了依据,同 时,软件质量属性的实现最终也要在各个视图中 得以体现,各种视图构成了一个有机的整体,从 不同的侧面来描述软件体系结构模型
12
2.3软件体系结构的形式化描述
软件体系结构,又被称为架构,指可预制和 可重构的软件框架结构
构件是可预制和可重用的软件元素,是组成 体系结构的基本计算单元和数据存储单元
动态模型:动态模型是对结构模型和框架模型的 补充,描述系统的“大颗粒”行为特性,例如: 系统的重新配置和重新演化
5
2.2软件体系结构模型
过程模型:说明构造系统的步骤和过程,过程模 型以某种过程脚本的形式来体现
功能模型:该模型认为体系结构是由一组功能构 件按层次组成的,下层构件向上层构件提供服务, 可以看作是一种特殊的框架模型
务器,仓库,…}
16
2.3软件体系结构的形式化描述
软件体系结构的形式化描述
软件体系结构
构件
连接件
约束
体系结构风格 1~*
1~N
…
…
端口
1~M 角色
管道-过滤器
客户/服务器 … …
仓库
17
2.3软件体系结构的形式化描述