首页 > 代码库 > UML之交互图

UML之交互图

        我们前面学过的用例图、类图、活动图、顺序图和协作图都描述了逻辑和设计方面的信息。那么现在我们来学习和实现有关的两个图:构件图和部署图。

        实现图用来描述实现方面的信息,它从系统的层次来描述以下两方面的信息:硬件的组成和布局;软件系统划分和功能实现。

        一、构件图


       1、概念

       从建房子来说,一座房子有它的组成,橱柜、窗户、们……那么在系统中,我们也有类似的东西,把它称为构件

       构件图:用来显示一组构件之间的组织与依赖关系

       构件图从软件架构的角度来描述一个系统的主要功能,如子系统、类、包、构件等。使用构件最重要的是复用。

       构件(component)是系统中遵从同一组接口且提供其实现的物理的、可替换的部分。每个构件能实现一定的功能,为其他构件提供使用接口,方便软件的复用。

       构件举例:对象库、可执行体、COM+、企业级Java Bean

       2、构件的类型

       构件是定义良好的接口实现单元,它可以是以下几种类型:源代码构件(源代码文件)、二进制构件(目标码文件、静态链接库、动态链接库)、可执行构件(可执行程序)、数据文件或文档

       3、构件和类

       类表示逻辑抽象,而构件表示物理抽象;构件是其他元素的物理实现;类可以直接拥有属性和操作,一般情况下,构件一般只拥有只能通过其接口访问的操作。

       4、构件的特点

       构件是物理的;构件是可替换的;构件是系统的一部分;构件是遵从一组接口并提供对一组接口的实现

       5、构件与接口:


       构件与其对应接口之间的关系:实现(realization)

       构件与其它接口之间的关系:依赖(dependency)

       示出接口(exporterface):构件实现的接口

       引入接口(imporinterface):构件使用的接口

       二、部署图


       1、概念

       部署图:用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件。主要由节点和节点之间的联系构成,用于表示一个分布式系统的运行系统结构。

       2、节点(Node)


       节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个构件集合一般来说位于一个节点,但有可能从一个节点转到另一个节点。

       节点的图标是一个三维立方体图形,并且节点必须有名字。与对象类一样,节点可以用标记值说明名字的性质,在节点图标中也可以列出配置在本节点的组件,以便更清楚地表示节点的内容,这样的节点称为扩充节点。

       节点和对象类一样可以区分为型和实例。节点的型代表计算机资源的不同类型,节点的实例代表特定的具体的计算机资源。对象和组件实例可以驻留在节点实例上。

一个节点可以与其它节点、组件和对象有关联。节点和对象类、协同、组件等模型元素一样可以组织成包。

       3、节点的联系

       节点与节点通过物理连接发生关系,物理连接如以太网络、共享总线等,从硬件方面保证了系统的节点协同运行。

       节点与节点、节点与组件之间着多种类型的联系,包括关联(通信联系)和依赖(支持联系、成为联系)。

       1.1 通信联系

       通信联系是节点之间的一种关联,是节点之间的通信路径连接的模型。通信联系的表示法是用一条实关联线连接两个节点。在实关联线上可以加构造型以表达节点间的通信路径或连接的性质。

       2.2 支持联系

       支持联系是节点与组件或对象之间的依赖联系。如果一个半月节点与一个组件或对象存在着支持联系,说明该节点上驻留着该组件或对象,该组件或对象能够在该节点上执行。支持联系的表示法是用一条虚箭线从节点指向所连接的组件或对象,并可在虚箭线上加有构造型《supports》。

       3.3 成为联系

成为联系是组件与组件、组件与对象、对象与对象之间的依赖联系。成为联系不是节点之间的联系,但是它是组件或对象在节点之间的迁移的模型。成为联系的表示法是用一条虚箭线从一个节点中的组件指向另一个节点中的组件或从一个节点中的对象指向另一个节点中的对象,并可在虚箭线上加有构造型《become》。

       三、实战演练

       针对机房收费系统的构件图。


           针对机房收费系统的部署图。


          由于第一次接触并画这样的图,有很多不完善的地方,还请大家多多批评指正!

          四、总结

         任何事物都是可以实现的,只要你动手去找答案,那么线索一定会出现在你的眼前。

       

 

 

 

 

UML之交互图