《软件体系结构.ppt》由会员分享,可在线阅读,更多相关《软件体系结构.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课课 程程 内内 容容 软件体系结构概论软件体系结构概论 软件体系结构建模软件体系结构建模 软件体系结构风格软件体系结构风格 软件体系结构描述软件体系结构描述 动态软件体系结构动态软件体系结构 Web Web服务体系结构服务体系结构 基于体系结构的软件开发基于体系结构的软件开发 软件体系结构的分析与测试软件体系结构的分析与测试 软件体系结构评估软件体系结构评估 软件产品线体系结构软件产品线体系结构 软件体系结构建模的种类软件体系结构建模的种类 第第2 2章章 软件体系结构建模软件体系结构建模2.1 2.1 软件体系结构建模概述软件体系结构建模概述 结构模型结构模型 框架模型框架模型 动态模型动
2、态模型 过程模型过程模型 功能模型功能模型 软件体系结构建模的种类软件体系结构建模的种类 第第2 2章章 软件体系结构建模软件体系结构建模2.1 2.1 软件体系结构建模概述软件体系结构建模概述 结构模型结构模型 这这是是一一个个最最直直观观、最最普普遍遍的的建建模模方方法法。这这种种方方法法以以体体系系结结构构的的构构件件、连连接接件件和和其其他他概概念念来来刻刻画画结结构构,并并力力图图通通过过结结构构来来反反映映系系统统的的重重要要语语义义内内容容,包包括括系系统的配置、约束、隐含的假设条件、风格、性质等。统的配置、约束、隐含的假设条件、风格、性质等。研究结构模型的核心是体系结构描述语言
3、。研究结构模型的核心是体系结构描述语言。软件体系结构建模的种类软件体系结构建模的种类 第第2 2章章 软件体系结构建模软件体系结构建模2.1 2.1 软件体系结构建模概述软件体系结构建模概述 框架模型框架模型 框框架架模模型型与与结结构构模模型型类类似似,但但它它不不太太侧侧重重描描述述结结构构的细节而更侧重于整体的结构。的细节而更侧重于整体的结构。框框架架模模型型主主要要以以一一些些特特殊殊的的问问题题为为目目标标建建立立只只针针对对和适应该问题的结构。和适应该问题的结构。软件体系结构建模的种类软件体系结构建模的种类 第第2 2章章 软件体系结构建模软件体系结构建模2.1 2.1 软件体系结
4、构建模概述软件体系结构建模概述 动态模型动态模型 动动态态模模型型是是对对结结构构或或框框架架模模型型的的补补充充,研研究究系系统统的的“大大颗颗粒粒”的的行行为为性性质质。例例如如,描描述述系系统统的的重重新新配配置置或或演演化化。动动态态可可以以指指系系统统总总体体结结构构的的配配置置、建建立立或或拆拆除通信通道或计算的过程。除通信通道或计算的过程。软件体系结构建模的种类软件体系结构建模的种类 第第2 2章章 软件体系结构建模软件体系结构建模2.1 2.1 软件体系结构建模概述软件体系结构建模概述 过程模型过程模型 过程模型研究构造系统的步骤和过程。过程模型研究构造系统的步骤和过程。结构是
5、遵循某些过程脚本的结果。结构是遵循某些过程脚本的结果。软件体系结构建模的种类软件体系结构建模的种类 第第2 2章章 软件体系结构建模软件体系结构建模2.1 2.1 软件体系结构建模概述软件体系结构建模概述 功能模型功能模型 功功能能模模型型认认为为体体系系结结构构是是由由一一组组功功能能构构件件按按层层次次组组成,下层向上层提供服务。成,下层向上层提供服务。功能模型可以看作是一种特殊的框架模型。功能模型可以看作是一种特殊的框架模型。“4+1”“4+1”模型概述模型概述 第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 Kruchten Kruch
6、ten在在19951995年提出了年提出了“4+1”“4+1”的视图模型。的视图模型。“4+1”“4+1”视视图图模模型型从从5 5个个不不同同的的视视角角包包括括逻逻辑辑视视图图、进进程程视视图图、物物理理视视图图、开开发发视视图图和和场场景景视视图图来来描描述述软软件体系结构。件体系结构。每每一一个个视视图图只只关关心心系系统统的的一一个个侧侧面面,5 5个个视视图图结结合合在在一起才能反映系统的软件体系结构的全部内容一起才能反映系统的软件体系结构的全部内容。“4+1”“4+1”模型概述模型概述 第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模
7、型 逻辑视图逻辑视图进程视图进程视图开发视图开发视图物理视图物理视图最终用户:功能需求最终用户:功能需求场景场景编程人员:软件管理编程人员:软件管理系统集成人员:性能系统集成人员:性能可扩充性、吞吐量等可扩充性、吞吐量等系统工程人员:系统系统工程人员:系统拓扑、安装、通信等拓扑、安装、通信等 逻辑视图逻辑视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 逻逻辑辑视视图图主主要要支支持持系系统统的的功功能能需需求求,即即系系统统提提供供给给最最终终用用户户的的服服务务。在在逻逻辑辑视视图图中中,系系统统分分解解成成一一系系列列的的功功能能抽抽象
8、象,这这些些抽抽象象主主要要来来自自问问题题领领域域。这这种种分分解解不不但但可可以以用用来来进进行行功功能能分分析析,而而且且可可用用作作标标识识在在整整个个系统的各个不同部分的通用机制和设计元素。系统的各个不同部分的通用机制和设计元素。在在面面向向对对象象技技术术中中,通通过过抽抽象象、封封装装和和继继承承,可可以以用对象模型来代表逻辑视图,用类图来描述逻辑视图。用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图逻辑视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 可可以以从从BoochBooch标标记记法法中中导导出出逻逻辑辑视视
9、图图的的标标记记法法,只只是是从从体体系系结结构构级级的的范范畴畴来来考考虑虑这这些些符符号号,用用Rational Rational RoseRose进进行行体体系系结结构构设设计。计。构件构件实例实例继承继承使用使用包含,聚集包含,聚集关联关联类层次类层次参数化类参数化类类服务类服务类类连接件连接件 逻辑视图逻辑视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 逻逻辑辑视视图图中中使使用用的的风风格格为为面面向向对对象象的的风风格格,逻逻辑辑视视图图设设计计中中要要注注意意的的主主要要问问题题是是要要保保持持一一个个单单一一的的、内内聚聚
10、的的对对象象模模型型贯贯穿穿整整个个系统。系统。逻辑视图逻辑视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 对对于于规规模模更更大大的的系系统统来来说说,体体系系结结构构级级中中包包含含数数十十甚甚至至数数百百个个类类 。开发视图开发视图 第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 开开发发视视图图也也称称模模块块视视图图,主主要要侧侧重重于于软软件件模模块块的的组组织和管理。织和管理。开开发发视视图图要要考考虑虑软软件件内内部部的的需需求求,如如软软件件开开发发的的容容易易性性、软软件
11、件的的重重用用和和软软件件的的通通用用性性,要要充充分分考考虑虑由由于于具体开发工具的不同而带来的局限性。具体开发工具的不同而带来的局限性。开开发发视视图图通通过过系系统统输输入入输输出出关关系系的的模模型型图图和和子子系系统统图图来描述。来描述。开发视图开发视图 第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 与与逻逻辑辑视视图图一一样样,可可以以使使用用BoochBooch标标记记法法中中某某些些符符号号来来表示开发视图。表示开发视图。开发视图开发视图 第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型
12、视图模型 在在开开发发视视图图中中,最最好好采采用用4-64-6层层子子系系统统,而而且且每每个个子子系系统统仅仅仅仅能能与与同同层层或或更更低低层层的的子子系系统统通通讯讯,这这样样可可以以使使每每个个层层次次的的接接口口既既完完备备又又精精练练,避避免免了了各各个个模模块块之之间很复杂的依赖关系。间很复杂的依赖关系。设设计计时时要要充充分分考考虑虑,对对于于各各个个层层次次,层层次次越越低低,通通用用性性越越强强,这这样样,可可以以保保证证应应用用程程序序的的需需求求发发生生改改变变时时,所所做做的的改改动动最最小小。开开发发视视图图所所用用的的风风格格通通常常是是层层次结构风格。次结构风
13、格。开发视图开发视图 第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 进程视图进程视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 进进程程视视图图侧侧重重于于系系统统的的运运行行特特性性,主主要要关关注注一一些些非非功能性的需求。功能性的需求。进进程程视视图图强强调调并并发发性性、分分布布性性、系系统统集集成成性性和和容容错错能能力力,以以及及从从逻逻辑辑视视图图中中的的主主要要抽抽象象如如何何适适合合进进程程结结构构。它它也也定定义义逻逻辑辑视视图图中中的的各各个个类类的的操操作作具具体体
14、是是在在哪哪一个线程中被执行的。一个线程中被执行的。进进程程视视图图可可以以描描述述成成多多层层抽抽象象,每每个个级级别别分分别别关关注注不不同同的的方方面面。在在最最高高层层抽抽象象中中,进进程程结结构构可可以以看看作作是是构构成成一一个个执执行行单单元元的的一一组组任任务务。它它可可看看成成一一系系列列独独立立的的,通通过过逻逻辑辑网网络络相相互互通通信信的的程程序序。它它们们是是分分布布的的,通过总线或局域网、广域网等硬件资源连接起来。通过总线或局域网、广域网等硬件资源连接起来。进程视图进程视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模
15、型 通通过过扩扩展展BoochBooch对对AdaAda任任务务的的表表示示法法,来来表表示示进进程程视视图。图。进程视图进程视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 物理视图物理视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 物物理理视视图图主主要要考考虑虑如如何何把把软软件件映映射射到到硬硬件件上上,它它通通常常要要考考虑虑到到系系统统性性能能、规规模模、可可靠靠性性等等。解解决决系系统统拓拓扑结构、系统安装、通讯等问题。扑结构、系统安装、通讯等问题。当当软软件件运运行行于于不
16、不同同的的节节点点上上时时,各各视视图图中中的的构构件件都都直直接接或或间间接接地地对对应应于于系系统统的的不不同同节节点点上上。因因此此,从从软软件件到到节节点点的的映映射射要要有有较较高高的的灵灵活活性性,当当环环境境改改变变时时,对系统其他视图的影响最小。对系统其他视图的影响最小。物理视图物理视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 大大型型系系统统的的物物理理视视图图可可能能会会变变得得十十分分混混乱乱,因因此此可可以以与与进进程程视视图图的的映映射射一一道道,以以多多种种形形式式出出现现,也也可可单单独出现。独出现。物理视图
17、物理视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 ACSACS系统的物理视图系统的物理视图 物理视图物理视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 具有进程分配具有进程分配的小型的小型ACSACS系统系统的物理视图的物理视图 物理视图物理视图第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 具有进程分具有进程分配的大型配的大型ACSACS系统的物系统的物理视图理视图 场景场景第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+
18、1”2.2“4+1”视图模型视图模型 场景可以看作是那些重要系统活动的抽象,它使四场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计者找到需求抽象。在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系。同时,也可以体系结构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。是如何相互作用的。场景可以用文本表示,也可以用图形表示。场景可以用文本表
19、示,也可以用图形表示。场景场景第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 本地呼叫场景的一个原型本地呼叫场景的一个原型 小结小结第第2 2章章 软件体系结构建模软件体系结构建模2.2“4+1”2.2“4+1”视图模型视图模型 逻辑视图和开发视图描述系统的静态结构,而进程逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。视图和物理视图描述系统的动态结构。对于不同的软件系统来说,侧重的角度也有所不同。对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说,比较侧重于从逻辑视图例如,对于管理信息系统来
20、说,比较侧重于从逻辑视图和开发视图来描述系统,而对于实时控制系统来说,则和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。比较注重于从进程视图和物理视图来描述系统。第第2 2章章 软件体系结构建模软件体系结构建模2.3 2.3 体系结构的核心模型体系结构的核心模型 软件过程软件过程第第2 2章章 软件体系结构建模软件体系结构建模2.4 2.4 体系结构的生命周期模型体系结构的生命周期模型 需求分析需求分析 建立体系结构建立体系结构 测试测试 实现实现 设计设计 生命周期模型生命周期模型第第2 2章章 软件体系结构建模软件体系结构建模2.4 2.4 体系结
21、构的生命周期模型体系结构的生命周期模型 第第2 2章章 软件体系结构建模软件体系结构建模2.5 2.5 软件体系结构抽象模型软件体系结构抽象模型 选读选读 第第2 2章章 软件体系结构建模软件体系结构建模本章作业与思考题本章作业与思考题 1 1、选择一个规模合适的系统,为其建立、选择一个规模合适的系统,为其建立“4+1”“4+1”模型。模型。2 2、引入了软件体系结构以后,传统软件过程发生了哪、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?些变化?这种变化有什么好处?3 3、软件体系结构的生命周期模型与软件生命周期模型、软件体系结构的生命周期模型与软件生命周期模型有什么关系?有什么关系?