欢迎来到天天文库
浏览记录
ID:38523020
大小:1.04 MB
页数:52页
时间:2019-06-14
《第2章 软件体系结构建模84698》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章软件体系结构建模本章结构2.1软件体系结构建模概述2.2“4+1”视图模型2.3软件体系结构的核心模型2.4软件体系结构的生命周期模型2.5※软件体系结构抽象模型◇软件体系结构建模的种类第二章软件体系结构建模2.1软件体系结构建模概述◎结构模型◎框架模型◎动态模型◎过程模型◎功能模型◇软件体系结构建模的种类第二章软件体系结构建模2.1软件体系结构建模概述◎结构模型这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质
2、等。研究结构模型的核心是体系结构描述语言。◇软件体系结构建模的种类第二章软件体系结构建模2.1软件体系结构建模概述◎框架模型框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。◇软件体系结构建模的种类第二章软件体系结构建模2.1软件体系结构建模概述◎动态模型动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。◇软件体系结构建模的种类第二章软件体系结构建模
3、2.1软件体系结构建模概述◎过程模型过程模型研究构造系统的步骤和过程。结构是遵循某些过程脚本的结果。◇软件体系结构建模的种类第二章软件体系结构建模2.1软件体系结构建模概述◎功能模型功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。功能模型可以看作是一种特殊的框架模型。◇软件体系结构建模的种类第二章软件体系结构建模2.1软件体系结构建模概述在这5个模型中,最常用的是结构模型和动态模型。◇“4+1”模型概述第二章软件体系结构建模2.2“4+1”视图模型Kruchten在1995年提出了“4+1”的视图模型。“4+1”视图模型从
4、5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。◎DewaynePerry和AlexanderWolf(1992年)软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。软件体系结构={元素,形式,准则}Kruchten提出的“4+1”视图模型建立在体系结构的Perry&Wolf定义和Boehm定义的基础上。◎BarryBoehm软件体系结构包括一个软件和系统构件,互联及约束的集合;一
5、个系统需求说明的集合;一个基本原理用以说明这一构件,互联和约束能够满足系统需求。软件体系结构={构件,连接件,约束,不同人员的需求,准则}◇“4+1”模型概述第二章软件体系结构建模2.2“4+1”视图模型逻辑视图进程视图开发视图物理视图最终用户:功能需求场景编程人员:软件管理系统集成人员:性能可扩充性、吞吐量等系统工程人员:系统拓扑、安装、通信等◇逻辑视图(面向对象的分解)第二章软件体系结构建模2.2“4+1”视图模型逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域
6、。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。第二章软件体系结构建模2.2“4+1”视图模型可以从Booch标记法中导出逻辑视图的标记法,只是从体系结构级的范畴来考虑这些符号,用RationalRose进行体系结构设计。用类图和类模板来表示逻辑体系结构。构件实例继承使用包含,聚集关联类层次参数化类类服务类连接件◇逻辑视图(面向对象的分解)第二章软件体系结构建模2.2“4+1”视图模型◇逻辑视图(面向对象
7、的分解)逻辑视图设计的主要准则是,要设法在整个系统中保持一个单一的、连贯的对象模型,避免类和相关机制出现按照场地或处理器过早的分化。第二章软件体系结构建模2.2“4+1”视图模型逻辑视图中使用的风格为面向对象的风格,逻辑视图设计中要注意的主要问题是要保持一个单一的、内聚的对象模型贯穿整个系统。◇逻辑视图(面向对象的分解)第二章软件体系结构建模2.2“4+1”视图模型对于规模更大的系统来说,体系结构级中包含数十甚至数百个类。◇逻辑视图(面向对象的分解)◇开发视图(子系统分解)第二章软件体系结构建模2.2“4+1”视图模型开发视图也称模块视图,主
8、要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通
此文档下载收益归作者所有