矿大软件体系结构.ppt_第1页
矿大软件体系结构.ppt_第2页
矿大软件体系结构.ppt_第3页
矿大软件体系结构.ppt_第4页
矿大软件体系结构.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对于同一座建筑,住户、建筑师、内部装修人员和电气工程师有各自的视角。这些视角反映了建筑物的不同方面,合起来形成了建筑物的总体结构。,第2章 软件体系结构建模,2.1 软件体系结构建模概述,软件体系结构反映了软件系统的总体结构,它和建筑物一样,存在不同的角度来反映系统的体系结构。, 软件体系结构建模的种类,第2章 软件体系结构建模,2.1 软件体系结构建模概述, 结构模型 框架模型 动态模型 过程模型 功能模型, 软件体系结构建模的种类,第2章 软件体系结构建模,2.1 软件体系结构建模概述, 结构模型 以体系结构的构件、连接件和其他概念来刻画结构,过结构反映系统的内容,包括系统的配置、约束、隐

2、含的假设条件、风格、性质等。 研究结构模型的核心是体系结构描述语言。, 软件体系结构建模的种类,第2章 软件体系结构建模,2.1 软件体系结构建模概述, 框架模型 框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。 框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。, 软件体系结构建模的种类,第2章 软件体系结构建模,2.1 软件体系结构建模概述, 动态模型 研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。, 软件体系结构建模的种类,第2章 软件体系结构建模,2.1 软件体系结构建模概述, 过程模型 过程模型研究构造系统的步骤和过程。 结构是

3、遵循某些过程脚本的结果。, 软件体系结构建模的种类,第2章 软件体系结构建模,2.1 软件体系结构建模概述, 功能模型 功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。 功能模型可以看作是一种特殊的框架模型。, “4+1”模型概述,第2章 软件体系结构建模,2.2 “4+1”视图模型,Kruchten在1995年提出了“4+1”的视图模型。 “4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。, “4+1”模型概述,第2章 软件体系

4、结构建模,2.2 “4+1”视图模型, 逻辑视图面向对象的分解,第2章 软件体系结构建模,2.2 “4+1”视图模型,在面向对象技术中,用对象模型来代表逻辑视图,用类图来描述逻辑视图。,逻辑视图主要支持功能需求系统应当向用户提供什么样的服务。 从问题域出发,采用面向对象的方法,按照抽象、封装、继承的原则进行分解,得到代表着系统的关键抽象表示的对象和对象的类。, 逻辑视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,符号表示法: 从Booch方法派生而来,只考虑对于体系结构有重要意义的元素。在设计工具上,可以使用Rational Rose等UML建模工具。, 逻辑视图,第2章 软件体系

5、结构建模,2.2 “4+1”视图模型,例:专用自动交换分机,风格: 面向对象的风格, 逻辑视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,对于规模更大的系统来说,体系结构级中包含数十甚至数百个类。例:航空交通管制系统的最顶层的类图, 开发视图子系统分解,第2章 软件体系结构建模,2.2 “4+1”视图模型,开发视图也称模块视图,主要侧重于软件模块的组织和管理。 软件被打包成小的程序库或子系统。子系统被组织成层次化的体系,每层为上一层提供一个严密的、明确定义的接口。 开发视图通过系统输入输出关系的模型图和子系统图来描述。, 开发视图,第2章 软件体系结构建模,2.2 “4+1”视图模

6、型,符号表示: 采用Booch表示法的变体,并且只考虑对于体系结构有重要意义的元素。, 开发视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,定义46层的子系统。每一层都有明确定义的责任。某一层的子系统只能依赖于本层或其下层的子系统。 对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生改变时,所做的改动最小。,风格: 分层风格, 开发视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,例: 用5个层次表示的航空交通管制系统的开发视图, 进程视图(过程视图)过程分解,第2章 软件体系结构建模,2.2 “4+1”视图模型,进程视图侧重于系统的运行特性。,要把进程

7、视图与逻辑视图的要点相适应对某个对象的某个操作实际上是在哪个控制线程上发生的。, 进程视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,符号表示: 通过扩展Booch对Ada任务的表示法,来表示进程视图。, 进程视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,风格: 有多种风格。例如管道-过滤器、客户/服务器及其变体(多客户/单服务器、多客户/多服务器等)。, 物理视图从软件到硬件的映射,第2章 软件体系结构建模,2.2 “4+1”视图模型,物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。,软件系统在

8、计算机网络的各个处理节点上运行。各种被确定出的元素网络、过程、任务和对象需要映射到各种节点上去。,从软件到处理节点的映射需要高度灵活,并且最小限度地影响其本身的源代码。, 物理视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,符号表示法:, 物理视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,大型专用自动交换分机的物理视图, 物理视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,具有进程分配的小型通信系统的物理视图, 物理视图,第2章 软件体系结构建模,2.2 “4+1”视图模型,具有进程分配的大型通信系统的物理视图, 场景汇总,第2章 软件体系结构建模,2.2

9、 “4+1”视图模型,从某种意义上讲,场景是最重要的需求的抽象,通过使用一些重要场景,4个视图中的元素可以协调地共同工作。, 场景汇总,第2章 软件体系结构建模,2.2 “4+1”视图模型,符号表示法:构件的表示与逻辑视图非常相似,但是连接件的表示使用过程视图中的方法。, 场景,第2章 软件体系结构建模,2.2 “4+1”视图模型,本地呼叫场景的一个原型, 小结,第2章 软件体系结构建模,2.2 “4+1”视图模型,逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。,对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说,比较侧重于从逻辑视图和开发

10、视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。, 小结,第2章 软件体系结构建模,2.2 “4+1”视图模型,系统工程师先从物理视图,然后从进程视图靠近体系结构;最终使用者、客户、数据专家从逻辑视图看体系结构;项目经理、软件配置人员从开发视图看体系结构。,不是所有的软件体系结构都需要完整的“4+1”视图。例如对于非常小的系统,逻辑视图和进程视图有可能非常相似,以至于没有必要把它们分开描述。,第2章 软件体系结构建模,2.3 体系结构的核心模型,核心模型由5个元素组成:构件、连接件、配置、端口和角色。前三个是最基本的模型。,第2章 软件体系结构建模,2.3

11、体系结构的核心模型,构件:具有某种功能的可重用的软件模板单元。表示系统中主要的计算元素和数据存储。 复合构件 原子构件,第2章 软件体系结构建模,2.3 体系结构的核心模型,连接件:表示构件之间的交互。 管道(pipe) 过程调用(procedure call) 客户/服务器(client/server)通信协议 数据库和应用之间的SQL连接等,第2章 软件体系结构建模,2.3 体系结构的核心模型,配置:表示构件和连接件的拓扑逻辑和约束,构件为封装实体,只能通过接口与外部环境交互。接口由一组端口组成。每个端口表示构件和外部环境的交互点。,连接件也有接口,接口由一组角色组成。每个角色定义了交互的

12、参与者。 RPC:caller, callee Pipe:reading, writing 消息传递:sender, receiver, 软件过程,第2章 软件体系结构建模,2.4 体系结构的生命周期模型,需求分析,建立体系结构,测试,实现,设计, 软件过程,第2章 软件体系结构建模,2.4 体系结构的生命周期模型,1.需求分析阶段 需求分析的任务是根据需求,决定系统的功能。 体系结构需求包括需求获取、生成类图、对类分组、把类打包成构件和需求评审等过程。, 软件过程,第2章 软件体系结构建模,2.4 体系结构的生命周期模型,2.建立软件体系结构阶段 从结构的角度对整个系统进行分析,选择恰当的构件、构件间的相互作用以及对它们的约束,最后形成一个系统框架以满足用户需求、为设计奠定基础。, 软件过程,第2章

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论