【UML学习】--构件图和部署图

来源:互联网 发布:js实现拖拽效果 编辑:程序博客网 时间:2024/04/29 21:00

一、构件图(组件图)

     一辆汽车由轮子、发动机等物理部件组成,一个软件往往也是由很多“物理部件”(如:控件、重用构件等)组成的,组件图就是用来描述软件内部物理组成的一种图。

1.构件表示的变化:

(1)UML1.4中


(2)UML2.0中


2.构件图中的关系


3.构件图的两个示例:


4.主要目的:

      显示系统构件间的结构关系,在UML2.0中,构件被认为是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口。虽然 UML 2.0 规范没有严格地声明它,但是构件是呈现事物的更大的设计单元,这些事物一般将使用可更换的组构件来实现。但是,并不象在 UML 1. x中,现在,构件必须有严格的逻辑,设计时构造。主要思想是,你能容易地在你的设计中重用及/或替换一个不同的构件实现,因为一个构件封装了行为,实现了特定接口。这也是软件工程可重用思想的重要体现。

5.作用:

 构件图对于不同的项目开发小组是有用的交流工具。
     (1)关键项目发起人及实现人员:通常,当构件图将系统的实现人员连接起来的时候,构件图通常可以使项目发起人感到轻松,因为图展示了对将要被建立的整个系统的早期理解。
     (2)对于开发者: 构件图给他们提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。
     (3)系统管理员:可以获得将运行于他们系统上的逻辑软件构件的早期视图。虽然系统管理员无法从图上确定物理设备或物理的可执行程序,但是,他们仍然比较喜欢构件图,因为它较早地提供了关于构件及其关系的信息(这可以帮助系统管理员轻松地计划后面的工作)。

    小结:

    组件图经常是一个架构师在项目的初期就建立的非常重要的图。然而,组件图的有用性跨越了系统的寿命。组件图是无价的,因为它们模型化和文档化了一个系统的架构。因为组件图文档化了系统的架构,开发者和系统可能的系统管理员会发现这一工作的关键产品有助于他们理解系统。


二、部署图:

    部署图是用来描述系统如何部署、本系统与其他系统是怎样的关系的图,用于静态建模,主要表示运行时过程节点结构、构件实例及其对象结构。

1.组成:

    部署图包括两种基本模型元素:节点和节点间的连接。每个模型中,仅包含一个部署图。节点包括两种类型:处理器和设备。
    一个节点,通常描述成一个立体的盒子,表示一个计算设备,一般是一个单独的硬件设备,例如一台电脑,网络路由器,主机,传感器,或个人数字助理(PDA)。 


2.目的:

  (1)描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的。
 (2)平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。
 

3.部署图示例:



4.部署图与构件图关系

(1)部署图与构件图相同的构成元素:
构件、接口、构件实例、构件向外提供服务、构件要求外部提供的服务。
(2)部署图与构件图的区别:
①部署图表现构件实例;  构件图表现构件类型的定义。
②部署图偏向于描述构件在节点中运行时的状态,描述了构件运行的环境;

构件图偏向于描述构件之间相互依赖支持的基本关系。

  总结:

       构件图和部署图属于UML的实现图,他们都是用来帮助设计系统的整体架构的。但是两者的作用还有所不同,使用构件图可以帮助读者了解某一个功能位于软件包的哪个位置,以及各个版本的软件包含什么功能。使用部署图可以帮助读者了解软件中国各个构件驻留在硬件的哪个位置,以及这些硬件之间的交互关系。一般来说,当开发一个大型系统时,会比较需要组建图和部署图这两个图。



0 0
原创粉丝点击