软件体系结构建模课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件体系结构建模课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 建模 课件
- 资源描述:
-
1、第2章软件体系结构建模2 2内容概要n2.1 软件体系结构建模概述 n2.2“4+1”视图模型 n2.3“4+1”视图模型案例分析n2.4“4+1”视图模型补充知识n2.5 软件体系结构核心模型n2.6 软件体系结构生命周期模型 研究软件体系结构的首要问题是如何表示软件研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模体系结构,即如何对软件体系结构建模。根据建模的侧重点不同,可以将软件体系结构的模型分为的侧重点不同,可以将软件体系结构的模型分为5种:种:第第2章章 软件体系结构建模软件体系结构建模2.1 软件体系结构建模概述软件体系结构建模概述 结构模型结构模
2、型 框架模型框架模型 动态模型动态模型 过程模型过程模型 功能模型功能模型 3 32022-12-12 软件体系结构建模的种类软件体系结构建模的种类 第第2章章 软件体系结构建模软件体系结构建模2.1 软件体系结构建模概述软件体系结构建模概述 结构模型结构模型 这是一个最直观、最普遍的建模方法。这种方法以这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。的配置、约束、隐含的假
3、设条件、风格、性质等。研究结构模型的核心是体系结构描述语言。研究结构模型的核心是体系结构描述语言。4 42022-12-12 软件体系结构建模的种类软件体系结构建模的种类 第第2章章 软件体系结构建模软件体系结构建模2.1 软件体系结构建模概述软件体系结构建模概述 框架模型框架模型 框架模型与结构模型类似,但它不太侧重描述结构框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。和适应该问题的结构。5 52022-12-12 软件体系结构建模
4、的种类软件体系结构建模的种类 第第2章章 软件体系结构建模软件体系结构建模2.1 软件体系结构建模概述软件体系结构建模概述 动态模型动态模型 动态模型是对结构或框架模型的补充,研究系统的动态模型是对结构或框架模型的补充,研究系统的“大颗粒大颗粒”的行为性质。例如,描述系统的重新配置的行为性质。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。除通信通道或计算的过程。6 62022-12-12 软件体系结构建模的种类软件体系结构建模的种类 第第2章章 软件体系结构建模软件体系结构建模2.1 软件体系结构建模
5、概述软件体系结构建模概述 过程模型过程模型 过程模型研究构造系统的步骤和过程。过程模型研究构造系统的步骤和过程。结构是遵循某些过程脚本的结果。结构是遵循某些过程脚本的结果。7 72022-12-12 软件体系结构建模的种类软件体系结构建模的种类 第第2章章 软件体系结构建模软件体系结构建模2.1 软件体系结构建模概述软件体系结构建模概述 功能模型功能模型 功能模型认为体系结构是由一组功能构件按层次功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。组成,下层向上层提供服务。功能模型可以看作是一种特殊的框架模型。功能模型可以看作是一种特殊的框架模型。8 82022-12-12 “
6、4+1”模型概述模型概述 第第2章章 软件体系结构建模软件体系结构建模2.2“4+1”视图模型视图模型 以上五种模型各有所长,将五种模型有机的统一在一起,以上五种模型各有所长,将五种模型有机的统一在一起,形成一个完整的模型来刻画软件体系结构更加合适。形成一个完整的模型来刻画软件体系结构更加合适。9 9 WHY:1、每个视图模型可看成对系统不同方面一个投影,一个、每个视图模型可看成对系统不同方面一个投影,一个构架的不同视图其实反映的是同一个系统。构架的不同视图其实反映的是同一个系统。2、各个不同的视图是可以融合在一起的,而且也只有将、各个不同的视图是可以融合在一起的,而且也只有将不同的视图融合在
7、一起才能获得关于一个系统构架的全面信息不同的视图融合在一起才能获得关于一个系统构架的全面信息。“4+1”视图视图模型概述模型概述 第第2章章 软件体系结构建模软件体系结构建模2.2“4+1”视图模型视图模型 10102022-12-12 逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等1111 软件架构视图软件架构视图Kruchten在其著作在其著作Rati
8、onal统一过程引论统一过程引论中写道:中写道:一个架构视图是对于从一个架构视图是对于从某一视角或某一点某一视角或某一点上看到的系上看到的系统所做的简化描述,描述中涵盖了系统的统所做的简化描述,描述中涵盖了系统的某一特定方面某一特定方面,而省略了与此方面无关的实体。而省略了与此方面无关的实体。软件架构的每个视图分别关注不同的方面,针对不同软件架构的每个视图分别关注不同的方面,针对不同的目标和用途。的目标和用途。第第2章章 软件体系结构建模软件体系结构建模2.2“4+1”视图模型视图模型 1212 关于视图关于视图气候学家关心的气候学家关心的社会学家关心的社会学家关心的引入视图的作用:引入视图的
9、作用:世界地图的绘制者很难将不同的信息都绘制到同一幅图中;而看地图的人也希望有一幅地图是专门针对他的需要的。同一事物的不同视图之间是有联系的。同一事物的不同视图之间是有联系的。对比上面两幅图,除了南美洲之外基本都是降水量足的地方人口较密集。n“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个视图结合在一起才能。n“4+1”视图模型的不同视图之间也存在相互影响。13132022-12-12逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:
10、软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 14142022-12-12逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 1515 “4+1”的由来的由来:四个视图反映的是同一个系统,之所以用了:四个视图反映的是同一个系统,之所以用
11、了第五个视图,第五个视图,“+1”视图,因为它是由一系列重要的案例组视图,因为它是由一系列重要的案例组成。用这些重要的案例将前面的四个视图联系到一起,从而成。用这些重要的案例将前面的四个视图联系到一起,从而组成第五个视图。组成第五个视图。逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 16162022-12-12 逻辑视图逻辑视图进程视图进程视图开发视图开
12、发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 1717 逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 1818 逻辑视图逻辑视图进程视图进程视图开发视图开
13、发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 1919逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等2022-12-122.2.1 逻辑视图:面向对象的分解
14、 n逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。n在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。20202022-12-122.2.1 逻辑视图的符号表示法可以从Booch标记法中导出逻辑视图的标记法,只是从体系结构级的范畴来考虑这些符号,用Rational Rose进行体系结构设计。21212022-12-12关联:表示两个类之间存在某种语关联:表示两个类之间存在某种语义
15、上的联系,真正含义由附加在横义上的联系,真正含义由附加在横线上的短语说明。线上的短语说明。包含:实心圆一端表示整体,另一包含:实心圆一端表示整体,另一端表示部分。端表示部分。使用:空心圆一端连接在请求服务使用:空心圆一端连接在请求服务的类,另一端连接在提供服务的类。的类,另一端连接在提供服务的类。继承:箭头由子类指向基类。继承:箭头由子类指向基类。2.2.1 逻辑视图的风格 22222022-12-12会话终端控制器转换服务连接服务编号计划 23232022-12-122.2.1 逻辑视图的例子逻辑视图的例子 24242022-12-12 对于规模更大的系统来说,对于规模更大的系统来说,体系结
16、构级中包含数十甚至体系结构级中包含数十甚至数百个类数百个类。左图是空中交通。左图是空中交通管制系统的顶级类图,该图管制系统的顶级类图,该图包含了包含了8个类种属(即类的分个类种属(即类的分组)。组)。显示及用户接口机械服务基本元素航空信息空中交通管理飞行管理外部接口网关仿真和培训2.2.1 逻辑视图的例子逻辑视图的例子 2.2.2 进程视图:过程分解 n进程视图(process view,也称过程视图)侧重于系统的运行特性,主要考虑的是一些非功能性的需求,诸如性能、可用性等。n它所要面对的问题有并发,分布,系统的完整性,容错能力等。它还要考虑怎样把进程体系结构与逻辑视图体系结构的要点相适应对某
17、个对象的某个操作实际上是在哪个控制线程上发生的。25252022-12-122.2.2 进程视图:过程分解 n可以把进程体系结构分为几个抽象层次来描述,每个层次关注不同的方面。n在最高层次上,进程体系结构可以看做是构成一个执行单元的一组任务n通过进程视图可以估计出消息流和过程负荷,也可以从过程测量一个目标系统最终执行情况。26262022-12-122.2.2 进程视图的符号表示法 构 件事 件 广 播双 向 消 息远 程 过 程 调 用消 息未 指 定连 接 件循 环 进 程简 化 进 程进 程 通过扩展通过扩展Booch对对Ada任务的表示法,来表任务的表示法,来表示进程视图。示进程视图。
18、2.2.2进程视图的风格 有多种风格适合进程视图。例如管道和过滤器、客户服务器及其变体(多客户单服务器,多客户多服务器)等。2.2.2 进程视图的例子(ACS系统局部进程视图)28282022-12-12控 制 器 进 程慢 周 期 控制 器 任 务快 周 期 控制 器 任 务主 控 制器 任 务终 端 进 程(1)在图中,所有终端均由同一个终端进程进行处理,由其输入队列中的消息驱动。(2)控制器对象在组成控制器进程的3个任务之一中执行。29292022-12-12控 制 器 进 程慢 周 期 控制 器 任 务快 周 期 控制 器 任 务主 控 制器 任 务终 端 进 程(3)慢循环周期(20
19、0ms)任务扫描所有挂起的终端,把任何一个活动的终端置入快循环周期(10ms)任务的扫描列表。(4)快循环周期任务检测任何显著的状态改变,并把改变的状态传递给主控制器任务。30302022-12-12控 制 器 进 程慢 周 期 控制 器 任 务快 周 期 控制 器 任 务主 控 制器 任 务终 端 进 程(5)主控制器任务解释改变,通过消息与相应的终端进行通信。(6)通过共享内存来实现在控制器进程中传递的消息。31312022-12-12控 制 器 进 程慢 周 期 控制 器 任 务快 周 期 控制 器 任 务主 控 制器 任 务终 端 进 程2.2.3 开发视图:子系统分解 3232202
20、2-12-122.2.3 开发视图:子系统分解(3)开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。33332022-12-122.2.3 开发视图的符号表示法 34342022-12-12构件参照相关性模块连接件子系统层2.2.3 开发视图的风格 35352022-12-122.2.3 开发视图的例子 36362022-12-12公用构件1低层服务支撑机制:通信、时间、储存、资源管理等2航空类、空中交通管制类3空中交通管制功能区:飞行管理、雷达管理等4人机接口外部系统5离线工具测试工具各种各样的空中交通管制系统特定的
21、空中交通管制系统构件空中交通管制系统框架分布式虚拟机基本元素硬件、操作系统、数据库领域特定领域无关通用空中交通管制代码客户定制2.2.3 开发视图的例子 37372022-12-12公用构件1低层服务支撑机制:通信、时间、储存、资源管理等2航空类、空中交通管制类3空中交通管制功能区:飞行管理、雷达管理等4人机接口外部系统5离线工具测试工具各种各样的空中交通管制系统特定的空中交通管制系统构件空中交通管制系统框架分布式虚拟机基本元素硬件、操作系统、数据库领域特定领域无关通用空中交通管制代码客户定制2.2.3 开发视图的例子 38382022-12-12公用构件1低层服务支撑机制:通信、时间、储存、
22、资源管理等2航空类、空中交通管制类3空中交通管制功能区:飞行管理、雷达管理等4人机接口外部系统5离线工具测试工具各种各样的空中交通管制系统特定的空中交通管制系统构件空中交通管制系统框架分布式虚拟机基本元素硬件、操作系统、数据库领域特定领域无关通用空中交通管制代码客户定制2.2.3 开发视图的例子 39392022-12-12公用构件1低层服务支撑机制:通信、时间、储存、资源管理等2航空类、空中交通管制类3空中交通管制功能区:飞行管理、雷达管理等4人机接口外部系统5离线工具测试工具各种各样的空中交通管制系统特定的空中交通管制系统构件空中交通管制系统框架分布式虚拟机基本元素硬件、操作系统、数据库领
展开阅读全文