面向对象第11章 构件及部署部分的设计

上传人:飞*** 文档编号:50954756 上传时间:2018-08-11 格式:PPT 页数:41 大小:731KB
返回 下载 相关 举报
面向对象第11章 构件及部署部分的设计_第1页
第1页 / 共41页
面向对象第11章 构件及部署部分的设计_第2页
第2页 / 共41页
面向对象第11章 构件及部署部分的设计_第3页
第3页 / 共41页
面向对象第11章 构件及部署部分的设计_第4页
第4页 / 共41页
面向对象第11章 构件及部署部分的设计_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《面向对象第11章 构件及部署部分的设计》由会员分享,可在线阅读,更多相关《面向对象第11章 构件及部署部分的设计(41页珍藏版)》请在金锄头文库上搜索。

1、 第 2 页在面向对象的系统设计阶段的后期,可考虑在面向对象的系统设计阶段的后期,可考虑 如何对系统的构件进行描述、构造和组织,以及如何对系统的构件进行描述、构造和组织,以及 构件如何在节点上进行分布。构件如何在节点上进行分布。UMLUML支持对构件以及构件之间的关系建模,支持对构件以及构件之间的关系建模, 也支持对构件执行于其上的节点以及节点之也支持对构件执行于其上的节点以及节点之 间的间的 关系建模。本章讲述构件图和部署图,它们分别关系建模。本章讲述构件图和部署图,它们分别 用于对系统进行构件设计和部署设计。用于对系统进行构件设计和部署设计。第 3 页11. 1 11. 1 构件设计构件设

2、计 11.1. 1概念与表示法 通常采用通常采用UMLUML的构件图进行构件设计。构件图是描述构件、的构件图进行构件设计。构件图是描述构件、构件的内部结构和构件之间关系的图。用它表达如何把系统元素组构件的内部结构和构件之间关系的图。用它表达如何把系统元素组 织成构件,从而支持以构件为单位进行软件制品的实现和发布。织成构件,从而支持以构件为单位进行软件制品的实现和发布。1. 1.构件构件 按照按照UML 2.0UML 2.0的定义,的定义,构件构件( component)( component)是系统中的可替换的是系统中的可替换的 模块化部分,它封装了自己的内容模块化部分,它封装了自己的内容;

3、;构件利用供接口和需接口定义构件利用供接口和需接口定义 自身的行为自身的行为; ;它起类型的作用。它起类型的作用。构件是软件系统逻辑架构中定义的概念和功能在构件是软件系统逻辑架构中定义的概念和功能在物理架构中的物理架构中的实现,实现,对应于组成软件系统的目标文件、可执行程序文件、动态库对应于组成软件系统的目标文件、可执行程序文件、动态库 文件、数据库文件和文件、数据库文件和HTMLHTML文件等开发环境中的实现性文件。文件等开发环境中的实现性文件。设计时将类图中的类分配到需要创建的物理组件上去,以达到逻辑结构设计时将类图中的类分配到需要创建的物理组件上去,以达到逻辑结构 设计向物理结构设计的过

4、渡。设计向物理结构设计的过渡。组件就是类和接口的集合;组件就是类和接口的集合;第 4 页按照这个定义以及UML 2.0对构件的其他规定,构件具有如下的含义:1)一个构件是系统的一个模块,而且是一个自包含的单元,它封装了其内部成分。2)构件通过它的供接口和需接口展现行为。 3)构件是可替换的单元,在设计时和运行时依据接口的兼容性,若一个构件能提供另一个构件所具有的功能,则前者可替换后者。4)构件起类型的作用,这意味着构件是可实例化的。 在UML 2. 0中还规定,一个构件可由其他构件构成。按照这种规定 ,构件也具有如下的含义:5)构件是可组装的。 把构件表示为右上角放了一个图标的矩形,该图标由一

5、个矩形加上 在其左侧边放置的两个突出的小矩形组成,如图11-1所示。第 5 页也可以把构件表示为标有关键字也可以把构件表示为标有关键字componentcomponent的带有分栏的矩形,如图的带有分栏的矩形,如图1111 -2-2所示。这意味着可以把接口和操作等列在构件图符的分栏中。所示。这意味着可以把接口和操作等列在构件图符的分栏中。 订单 订单登记 开帐单 发票建立()登记费()图11-2 具有分 栏结 构的构件 表示法示例第 6 页2 构件的接口 接口由一组操作组成,接口由一组操作组成,它指定了一个契约,这个契约必须由实它指定了一个契约,这个契约必须由实现和使用这个接口的构件所遵循。进

6、一步地,可以用约束描述接口现和使用这个接口的构件所遵循。进一步地,可以用约束描述接口 ,约束可为前置条件和后置条件,也可为对使用接口中的操作而规,约束可为前置条件和后置条件,也可为对使用接口中的操作而规 定的次序。定的次序。构件的供接口构件的供接口是构件实现的接口,这意味着构件的供接口是构件实现的接口,这意味着构件的供接口是用是用于为其他构件提供服务的。于为其他构件提供服务的。实现接口的构件支持由该接口所拥有的实现接口的构件支持由该接口所拥有的 特征和约束。特征和约束。构件的需接口构件的需接口是构件使用的接口,即构件是构件使用的接口,即构件向其他构件请求服务向其他构件请求服务时要遵循的接口。时

7、要遵循的接口。一个构件依据供接口和需接口,详述了它提供给其他构件的服一个构件依据供接口和需接口,详述了它提供给其他构件的服务的形式规约,以及它向其他构件请求的服务的形式规约。务的形式规约,以及它向其他构件请求的服务的形式规约。第 7 页一个给定的构件可以实现多个接口,也可以请求多个接口一个给定的构件可以实现多个接口,也可以请求多个接口 。一个接口可以由多个不同的构件实现。一个接口可以由多个不同的构件实现。如果一个构件在一个环境中可以执行,且另一个构件遵从如果一个构件在一个环境中可以执行,且另一个构件遵从 该构件的供接口和需接口,则另一个构件也能在这样的环境中该构件的供接口和需接口,则另一个构件

8、也能在这样的环境中 执行。也即,执行。也即,只要其他的构件能够实现一个构件的供接口且遵只要其他的构件能够实现一个构件的供接口且遵 循它的需接口,就可以用这样的构件替换该构件。循它的需接口,就可以用这样的构件替换该构件。正是构件拥正是构件拥 有的供接口和需接口,形成了把构件衔接在一起的基础。有的供接口和需接口,形成了把构件衔接在一起的基础。可以用可以用两种方式两种方式来表示构件和接口之间的关系。第一种方来表示构件和接口之间的关系。第一种方 式是用简略的图符形式表示接口式是用简略的图符形式表示接口: :把供接口表示成用线连到构把供接口表示成用线连到构 件的一个圆,把需接口表示成用线连到构件的一个半

9、圆。件的一个圆,把需接口表示成用线连到构件的一个半圆。在这在这 两种情况下,都把接口的名字写在图符的旁边,如图两种情况下,都把接口的名字写在图符的旁边,如图11-311-3所示所示 。第二种方式是用扩展方式表示接口,这种方式可以展现出接。第二种方式是用扩展方式表示接口,这种方式可以展现出接 口的操作。口的操作。用实现关系把实现接口的构件连接到接口上,用依用实现关系把实现接口的构件连接到接口上,用依 赖关系把使用接口的构件连接到接口上,赖关系把使用接口的构件连接到接口上,如图如图11-411-4所示。所示。第 8 页图11-3 具有两个供接口和三个需接口的构件图11-4 构件与用扩展方式表示的接

10、口第 9 页接口对声明一个构件的总的行为来说是有用的,构件的实现仅需接口对声明一个构件的总的行为来说是有用的,构件的实现仅需 保证要实现供接口中全部操作且遵循所设计的需接口。使用端口保证要实现供接口中全部操作且遵循所设计的需接口。使用端口(port)(port) 是为了能进一步控制这种实现。是为了能进一步控制这种实现。作为构件的一个部件,作为构件的一个部件,端口描述了在构件与它的环境之间以及在端口描述了在构件与它的环境之间以及在 构件与它的内部部件之间的一个构件与它的内部部件之间的一个显式的交互点显式的交互点。也即,端口是一个封也即,端口是一个封 装构件的显式的对外窗口,装构件的显式的对外窗口

11、,所有进出构件的交互都要通过端口。所有进出构件的交互都要通过端口。这明这明 确地指出,确地指出,构件可以拥有构件可以拥有内部结构和形式化其交互点的内部结构和形式化其交互点的一组端口。一组端口。构构 件的外部可见行为恰好是它各端口上的行为总和。件的外部可见行为恰好是它各端口上的行为总和。一个构件可以通过一个特定端口同另一个构件通信,而且通信完一个构件可以通过一个特定端口同另一个构件通信,而且通信完 全是通过由端口支持的接口来描述的。全是通过由端口支持的接口来描述的。供接口说明了通过端口来提供供接口说明了通过端口来提供 服务,需接口说明了通过端口需要从其他构件获得服务。使用端口能服务,需接口说明了

12、通过端口需要从其他构件获得服务。使用端口能 在更大的程度上增加构件的封装性和可替代性。在更大的程度上增加构件的封装性和可替代性。3. 3. 构件的端口构件的端口 第 10 页可以按端口把构件的接口分组,并独立使用。可以按端口把构件的接口分组,并独立使用。需接口可以需接口可以 是构件的请求端口的类型,供接口可以是构件的提供端口的类是构件的请求端口的类型,供接口可以是构件的提供端口的类 型。型。把一个端口表示成一个跨在构件边上的小方块把一个端口表示成一个跨在构件边上的小方块它代表它代表 了一个穿过构件的封闭边界的一个窗口。可以把供接口和需接了一个穿过构件的封闭边界的一个窗口。可以把供接口和需接 口

13、附属到端口图符上。每个端口都有一个标识,它与构件名一口附属到端口图符上。每个端口都有一个标识,它与构件名一 起唯一地标定一个特定构件上的端口。起唯一地标定一个特定构件上的端口。图图11-511-5展示了一个带有端口的构件展示了一个带有端口的构件“售票处售票处” 。这个构件。这个构件 具有具有“正常售票正常售票”、“优先售票优先售票”、“节目收集节目收集”和和“信用卡信用卡 处理处理”四个端口,它们的类型分别由其上的接口所规定。四个端口,它们的类型分别由其上的接口所规定。第 11 页图11-5 具有两个供接口和三个需接口的构件第 12 页构件构件“ “售票处售票处“ “所对应的实际事物是为一些影

14、剧院所对应的实际事物是为一些影剧院 售票的代理机构。构件售票的代理机构。构件“ “售票处售票处“ “的两个端口的两个端口“ “正常售正常售 票票“ “和和“ “优先售票优先售票“ “,一个为普通用户提供服务,另一一个为普通用户提供服务,另一 个为特殊用户提供服务。个为特殊用户提供服务。在它们上都附属有名为在它们上都附属有名为“ “售票售票 “ “的供接口。端口的供接口。端口“ “信用卡处理信用卡处理“ “上有一个需接口上有一个需接口“ “信用信用 卡卡“ “,其中含有要对外请求的处理信用卡信息的操作。,其中含有要对外请求的处理信用卡信息的操作。 端口端口“ “节目收集节目收集“ “上既有供接口

15、也有需接口。使用接口上既有供接口也有需接口。使用接口 “ “订票订票“ “,构件,构件“ “售票处售票处“ “查询有关影剧院是否需要售票查询有关影剧院是否需要售票 ,若需要则进行订购。使用接口,若需要则进行订购。使用接口“ “装载节目装载节目“ “,剧院将,剧院将演出节目的内容及票的信息录入到售票系统的数据库演出节目的内容及票的信息录入到售票系统的数据库 ,以便出售。,以便出售。第 13 页构件内部的部件能用端口名标识收发消息的端 口,如图11-6所示。图11-6 构件上的端口与其内部成分的 连接第 14 页构件构件“ “订货订货“ “内部的箭线表示它对消息的分发处理,内部的箭线表示它对消息的

16、分发处理,严格严格地讲这样的箭线就是下一小节要讲述的连接件。地讲这样的箭线就是下一小节要讲述的连接件。可用一个显式的对象实现一个端口,它也可能只是一个可用一个显式的对象实现一个端口,它也可能只是一个虚拟的概念。虚拟的概念。对于前一种情况,对于前一种情况,端口的实例随着它们所属的端口的实例随着它们所属的 构件的实例一一起被创建和撤销。一个端口也可以具有多重构件的实例一一起被创建和撤销。一个端口也可以具有多重 性,性,用于指定在构件实例中该端口的实例的可能数目。虽然用于指定在构件实例中该端口的实例的可能数目。虽然 一个端口的多个实例都能接收同种的请求服务,但它们可能一个端口的多个实例都能接收同种的请求服务,但它们可能 有不同的状态和数据值。可赋予端口的每个实例一个不同的有不同的状态和数据值。可赋予端口的每个实例一个不同的 优先级,具有较高优先级的端口实例优先被满足。优先级,具有较高优先级的端口实例优先被满足。第 15 页4. 连接 件 可以通过端口把构件连接起来。连接的规则为可以通过端口把构件连接起来。连接的规则

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号