软件体系结构建模
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成。用这些重要的案例将前面的四个视图联系到一起,从而
组成第五个视图。
15
最终用户:功能需求 逻辑视图
进程视图 系统集成人员:性能 可扩充性、吞吐量等
场景
编程人员:软件管理 开发视图
物理视图 系统工程人员:系统 拓扑、安装、通信等
对体系结构进行的描述是围绕着以上4个视图展开的。 然后,通过选择出的一些用例对体系结构加以说明。这 些用例被称作场景(scenarios),它们构成了第5个视图。 实际上,体系结构在某种程度上是由场景演化而来的。
使用:空心圆一端连接在请求服务 的类,另一端连接在提供服务的类。
继承:箭头由子类指向基类。
2020/5/21
21
2.2.1 逻辑视图的风格
逻辑视图可以采用面向对象的风格。 逻辑视图设计的主要准则是,要设法在整个系统中保 持一个单一的、连贯的对象模型。
Байду номын сангаас
2020/5/21
22
2.2.1 逻辑视图的例子
物理视图
系统工程人员:系统 拓扑、安装、通信等
u逻辑视图 当采用面向对象的设计方法时,逻辑视图即 是对象模型。
u进程视图 描述系统的并发和同步方面的设计。
u物理视图 描述软件到硬件之间的映射关系,反映系统 在分布方面的设计。
2020/5/21
14
最终用户:功能需求 逻辑视图
场景
编程人员:软件管理 开发视图
不同的视图融合在一起才能获得关于一个系统构架的全面信息。 9
第2章 软件体系结构建模 ◇ “4+1”视图模型概述
2.2 “4+1”视图模型
Rational公司的Philippe Kruchten在1995年提出了用于 体系结构描述的“4十l”视图模型。该模型建立在体系结构 的Perry&Wolf定义和Berry Boehm定义的基础上。
同一事物的不同视图之间是有联系的。对比上面两幅图,除 了南美洲之外基本都是降水量足的地方人口较密集。
2020年5月21日5时45分
12
最终用户:功能需求 逻辑视图
场景
编程人员:软件管理 开发视图
进程视图
物理视图
系统集成人员:性能
系统工程人员:系统
可扩充性、吞吐量等
拓扑、安装、通信等
“4+1”视图模型从5个不同的视角包括逻辑视图
2020/5/21
20
2.2.1 逻辑视图的符号表示法
可以从Booch标记法中导出逻辑视图的标记法,只是从体系 结构级的范畴来考虑这些符号,用Rational Rose进行体系结 构设计。
关联:表示两个类之间存在某种语 义上的联系,真正含义由附加在横 线上的短语说明。
包含:实心圆一端表示整体,另一 端表示部分。
体系结构,即如何对软件体系结构建模。根据建模 的侧重点不同,可以将软件体系结构的模型分为5种:
◎ 结构模型
◎ 框架模型
◎ 动态模型
◎ 过程模型
◎ 功能模型
2020/5/21
3
第2章 软件体系结构建模 ◇ 软件体系结构建模的种类
2.1 软件体系结构建模概述
◎ 结构模型
这是一个最直观、最普遍的建模方法。这种方法以 体系结构的构件、连接件和其他概念来刻画结构,并 力图通过结构来反映系统的重要语义内容,包括系统 的配置、约束、隐含的假设条件、风格、性质等。
、进程视图、物理视图、开发视图和场景视图来
描述软件体系结构。每一个视图只关心系统的一 个侧面,5个视图结合在一起才能够处理富于挑战 性的、大规模的软件系统。
“4+1”视图模型的不同视图之间也存在相互影响。
2020/5/21
13
最终用户:功能需求 逻辑视图
场景
编程人员:软件管理 开发视图
进程视图
系统集成人员:性能 可扩充性、吞吐量等
终端进程
控制器进程
慢周期控 制器任务
快周期控 制器任务
2020/5/21
主控制 器任务
28
(1)在图中,所有终端均由同一个终端进程进行处理,由其输入队列中 的消息驱动。 (2)控制器对象在组成控制器进程的3个任务之一中执行。
控制器进程
终端进程
慢周期控 制器任务
快周期控 制器任务
2020/5/21
主控制 器任务
统所做的简化描述,描述中涵盖了系统的某一特定方面, 而省略了与此方面无关的实体。
软件架构的每个视图分别关注不同的方面,针对不同 的目标和用途。
2020年5月21日5时45分
11
◇ 关于视图
社会学家关心的
气候学家关心的
引入视图的作用:世界地图的绘制者很难将不同的信息都绘 制到同一幅图中;而看地图的人也希望有一幅地图是专门针 对他的需要的。
第2章软件体系结构建模
内容概要
2.1 软件体系结构建模概述 2.2 “4+1”视图模型 2.3 “4+1”视图模型案例分析 2.4 “4+1”视图模型补充知识 2.5 软件体系结构核心模型 2.6 软件体系结构生命周期模型
2
第2章 软件体系结构建模
2.1 软件体系结构建模概述
研究软件体系结构的首要问题是如何表示软件
29
(3)慢循环周期(200ms)任务扫描所有挂起的终端,把任何一个活动的 终端置入快循环周期(10ms)任务的扫描列表。 (4)快循环周期任务检测任何显著的状态改变,并把改变的状态传递给 主控制器任务。
控制器进程
终端进程
慢周期控 制器任务
快周期控 制器任务
2020/5/21
主控制 器任务
30
(5)主控制器任务解释改变,通过消息与相应的终端进行通信。 (6)通过共享内存来实现在控制器进程中传递的消息。
2020/5/21
16
最终用户:功能需求 逻辑视图
场景
编程人员:软件管理 开发视图
进程视图
物理视图
系统集成人员:性能 可扩充性、吞吐量等
“4+1”视图模型的特征一:
系统工程人员:系统 拓扑、安装、通信等
体系结构的概念在每个视图里面都可以独立应用,即可以在每个 视图里面定义体系结构的各种组成元素,如构件、连接件等。
对于不同的视图,还可以选择不同的体系结构风格,因此在同一 个系统结构中可以使用多种风格。
在每一种视图里,我们使用该视图特定的符号。这避免了符号用
法和意义的混乱。
17
最终用户:功能需求 逻辑视图
场景
编程人员:软件管理 开发视图
进程视图
物理视图
系统集成人员:性能 可扩充性、吞吐量等
“4+1”视图模型的特征二:
构件 进程
简化进程 循环进程
连接件 未指定 消息
远程过程调用 双向消息 事件广播
通过扩展Booch对Ada任务的表示法,来表 示进程视图。
2.2.2进程视图的风格
有多种风格适合进程视图。例如管道和过滤器、客户/服务器及其变体(多客 户/单服务器,多客户/多服务器)等。
2.2.2 进程视图的例子(ACS系统局部进程视图)
研究结构模型的核心是体系结构描述语言。
2020/5/21
4
第2章 软件体系结构建模 ◇ 软件体系结构建模的种类
2.1 软件体系结构建模概述
◎ 框架模型
框架模型与结构模型类似,但它不太侧重描述结构 的细节而更侧重于整体的结构。
框架模型主要以一些特殊的问题为目标建立只针对 和适应该问题的结构。
2020/5/21
左图显示了一个专用自动交换分机(ACS)的例
子。专用自动交换分机用于在通信终端之间建
立连接。
会话
转换服务 通信终端可能是电话机、中继线(连接到中心
室的线路)、专用线(专用自动交换分机和一般
的交换分机之间的线路)、数据线、ISDN线等。
不同的线路需要不同的线路接口卡的支持。终
端对象负责维护终端的状态,并代表所在的线
最终用户:功能需求 逻辑视图
编程人员:软件管理 开发视图
场景
进程视图
系统集成人员:性能 可扩充性、吞吐量等
2020/5/21
物理视图
系统工程人员:系统 拓扑、安装、通信等
10
第2章 软件体系结构建模
2.2 “4+1”视图模型
◇ 软件架构视图
Kruchten在其著作《Rational统一过程引论》中写道: 一个架构视图是对于从某一视角或某一点上看到的系
控制器进程
终端进程
慢周期控 制器任务
快周期控 制器任务
2020/5/21
主控制 器任务
31
2.2.3 开发视图:子系统分 解
场景
编程人员:软件管理 开发视图
进程视图
系统集成人员:性能 可扩充性、吞吐量等
物理视图
系统工程人员:系统 拓扑、安装、通信等
“4+1”视图模型的特征三:
不是所有的软件体系结构都需要完整的“4十1”视图。没有用的视 图在体系结构描述中可以被省略。例如对于非常小的系统,逻辑视
图和开发视图有可能非常相似以至于没有必要把它们分开描述。场 景视图在各种环境下都是有用的。
2020/5/21
8
第2章 软件体系结构建模 ◇ “4+1”模型概述
2.2 “4+1”视图模型
以上五种模型各有所长,将五种模型有机的统一在一起, 形成一个完整的模型来刻画软件体系结构更加合适。
WHY:1、每个视图模型可看成对系统不同方面一个投影,一个
构架的不同视图其实反映的是同一个系统。 2、各个不同的视图是可以融合在一起的,而且也只有将
之间的映射、路由等)和连接服务建立两个终
端之间的语音连接。
2020/5/21
23
2.2.1 逻辑视图的例子
仿真和培训
显示及用户 接口
外部接口网 关
飞行管理
空中交通管 理
对于规模更大的系统来说,
体系结构级中包含数十甚至 数百个类 。左图是空中交通
管制系统的顶级类图,该图 包含了8个类种属(即类的 分组)。
系统工程人员:系统 拓扑、安装、通信等
“4十1”模型实际上使得有不同需求的人员能够得到他们对于 软件体系结构想要了解的东西。
系统工程师先从物理视图,然后从进程视图靠近体系结构。 最终使用者、客户、数据专家从逻辑视图看体系结构;项目 经理、软件配置人员从开发视图看体系结构。 18
最终用户:功能需求 逻辑视图
进程视图
物理视图
系统集成人员:性能 可扩充性、吞吐量等
系统工程人员:系统 拓扑、安装、通信等
u开发视图 描述软件在开发环境下的静态组织。
u场景视图 通过选择出一些用例对体系结构加以说明。这些 用例称作场景。
“4+1”的由来:四个视图反映的是同一个系统,之所以用了
第五个视图,“+1”视图,因为它是由一系列重要的案例组
航空信息 基本元素
机械服务
2020/5/21
24
2.2.2 进程视图:过程分解
进程视图(process view,也称过程视图)侧重于系统的运 行特性,主要考虑的是一些非功能性的需求,诸如性能、 可用性等。
它所要面对的问题有并发,分布,系统的完整性,容错能 力等。它还要考虑怎样把进程体系结构与逻辑视图体系结 构的要点相适应——对某个对象的某个操作实际上是在哪 个控制线程上发生的。
2.1 软件体系结构建模概述
◎ 过程模型
过程模型研究构造系统的步骤和过程。 结构是遵循某些过程脚本的结果。
2020/5/21
7
第2章 软件体系结构建模 ◇ 软件体系结构建模的种类
2.1 软件体系结构建模概述
◎ 功能模型
功能模型认为体系结构是由一组功能构件按层次 组成,下层向上层提供服务。
功能模型可以看作是一种特殊的框架模型。
终端
连接服务
路提供通信服务。
控制器
编号计划
线路控制器对象负责译码:从线路接口卡接受 信号,以及向它发送信号,并完成信号和一系 列的事件(如开始、结束、计数等)之间的转换。 控制器还必须受到严格的实时要求的约束。为 了适应不同的接口,这个类有许多的子类。
会话对象代表在一个对话中涉及的终端的集合。
会话对象使用转换服务(逻辑地址和物理地址
2020/5/21
19
2.2.1 逻辑视图:面向对象
逻的辑分视解图主要支持系统的功能需求,即系统提供给最终用
户的服务。在逻辑视图中,系统分解成一系列的功能抽象 ,这些抽象主要来自问题领域。这种分解不但可以用来进 行功能分析,而且可用作标识在整个系统的各个不同部分 的通用机制和设计元素。
在面向对象技术中,通过抽象、封装和继承,可以用对象 模型来代表逻辑视图,用类图来描述逻辑视图。
2020/5/21
25
2.2.2 进程视图:过程分解
可以把进程体系结构分为几个抽象层次来描述,每个层次关 注不同的方面。
在最高层次上,进程体系结构可以看做是构成一个执行单元 的一组任务
通过进程视图可以估计出消息流和过程负荷,也可以从过程 测量一个目标系统最终执行情况。
2020/5/21
26
2.2.2 进程视图的符号表示法
5
第2章 软件体系结构建模 ◇ 软件体系结构建模的种类
2.1 软件体系结构建模概述
◎ 动态模型
动态模型是对结构或框架模型的补充,研究系统的 “大颗粒”的行为性质。例如,描述系统的重新配置 或演化。动态可以指系统总体结构的配置、建立或拆 除通信通道或计算的过程。
2020/5/21
6
第2章 软件体系结构建模 ◇ 软件体系结构建模的种类