UML_组件图
2014-01-03 12:12
218 查看
简介
众所周知,组件图是用来描述系统中的各组件之间的关系。首先我们必须知道组件的定义是什么,然后组件之间有哪些关系。理清楚这些,我们在以后的设计中才能
派上用场。UML语言对组件的定义已发生了巨大变化。在之前的版本里面,UML如下定义组件的:
UML1.1语言中对组件的描述:把某个文件或者可以运行的程序称之为组件。但是我们知道,UML出现组件图以前,组件一般用来描述COM组件或者其他的组件,因此造成冲突,所以随着后续UML语言的发布,修改了原有的含义。
UML2.x语言中对组件的的描述:组件是独立的,是运行在一个系统中的封装单位,提供了一系列的服务。
通过上述UML语言中的变迁,目前的理解是:一个系统,可以随意更换系统中的某个组建。而不会影响系统的运行。这可以理解为类似,大家熟悉IOC容器的都应该
知道,运行在IOC容器中的对象,可以看作组件,那么替换其中的提供某一服务的组件,只要满足该组件服务的相关契约就能自动完成替换。而不会影响系统的运行。
每个组件都封装了一些特殊的行为,实现了特定的服务。
组件之间的关系有哪些呢?我们通过下图来看看,组件直接可能存在的关系:
组件直接的关系基本上来说就这2种。下面会举例区别2中关系。
组件图提供的服务:组件图为系统架构师提供了解决方案的自然形式。组件图允许架构师验证系统的必需功能是由组件来完成的。组件是可以复用的。
详解
组件图中包含的元素:
下面我们分别讲解:
(1)、组件:我们知道组件是组件图中最基本的组成元素,组件上面已经讲述了组件的定义。这里就不在多介绍,组件图组成的基本单位即组件。
(2)、容器:可以为多个组件提供服务的管理容器,容器中的组件相互交互。
(3)、包:可以看作一个子系统,其实也可以看作是特殊的组件。
(4)、约束:用于定义接口规范。
(5)、给组件图中的相应元素添加相应注释信息。
组件上可以定义自己的接口。例如上图,人这个组件提供了2个接口。Thinking与Sleep接口。
组件关系的建模:
我们来看看组件之间的关系的表示,根据上面讲解的组件的关系有依赖和泛化,参考类图中的依赖和泛化。
依赖关系,标识一个组件依赖另外一个组件,如果被依赖组件无法正常运行,那么该组件也无法运行。
泛化关系。标识一个组件与其他多个组件的关系为继承关系。
总结:
通过上面的学习我们知道:组件图主要是为系统架构师对整个系统的解决方案的自然形成,可以通过组件图的形式把系统的大体功能进行区分和设计。通过组件图把
系统功能进行抽象和分离。然后通过顺序图把功能流程细分成多个步骤,然后通过类图去构建每个流程步骤中的每个类应具有的个方法。最后形成一个完整的设计文
档。
众所周知,组件图是用来描述系统中的各组件之间的关系。首先我们必须知道组件的定义是什么,然后组件之间有哪些关系。理清楚这些,我们在以后的设计中才能
派上用场。UML语言对组件的定义已发生了巨大变化。在之前的版本里面,UML如下定义组件的:
UML1.1语言中对组件的描述:把某个文件或者可以运行的程序称之为组件。但是我们知道,UML出现组件图以前,组件一般用来描述COM组件或者其他的组件,因此造成冲突,所以随着后续UML语言的发布,修改了原有的含义。
UML2.x语言中对组件的的描述:组件是独立的,是运行在一个系统中的封装单位,提供了一系列的服务。
通过上述UML语言中的变迁,目前的理解是:一个系统,可以随意更换系统中的某个组建。而不会影响系统的运行。这可以理解为类似,大家熟悉IOC容器的都应该
知道,运行在IOC容器中的对象,可以看作组件,那么替换其中的提供某一服务的组件,只要满足该组件服务的相关契约就能自动完成替换。而不会影响系统的运行。
每个组件都封装了一些特殊的行为,实现了特定的服务。
组件之间的关系有哪些呢?我们通过下图来看看,组件直接可能存在的关系:
组件直接的关系基本上来说就这2种。下面会举例区别2中关系。
组件图提供的服务:组件图为系统架构师提供了解决方案的自然形式。组件图允许架构师验证系统的必需功能是由组件来完成的。组件是可以复用的。
详解
组件图中包含的元素:
下面我们分别讲解:
(1)、组件:我们知道组件是组件图中最基本的组成元素,组件上面已经讲述了组件的定义。这里就不在多介绍,组件图组成的基本单位即组件。
(2)、容器:可以为多个组件提供服务的管理容器,容器中的组件相互交互。
(3)、包:可以看作一个子系统,其实也可以看作是特殊的组件。
(4)、约束:用于定义接口规范。
(5)、给组件图中的相应元素添加相应注释信息。
组件上可以定义自己的接口。例如上图,人这个组件提供了2个接口。Thinking与Sleep接口。
组件关系的建模:
我们来看看组件之间的关系的表示,根据上面讲解的组件的关系有依赖和泛化,参考类图中的依赖和泛化。
依赖关系,标识一个组件依赖另外一个组件,如果被依赖组件无法正常运行,那么该组件也无法运行。
泛化关系。标识一个组件与其他多个组件的关系为继承关系。
总结:
通过上面的学习我们知道:组件图主要是为系统架构师对整个系统的解决方案的自然形成,可以通过组件图的形式把系统的大体功能进行区分和设计。通过组件图把
系统功能进行抽象和分离。然后通过顺序图把功能流程细分成多个步骤,然后通过类图去构建每个流程步骤中的每个类应具有的个方法。最后形成一个完整的设计文
档。
相关文章推荐
- UML学习笔记(2)之组件图,部署图以及动态模型的四种图
- UML 基础:类图,组件图,部署图,对象图,包图,用例图,活动图 ,顺序图,协作图,状态图,交互概览图,时间图
- UML学习笔记(2)之组件图,部署图以及动态模型的四种图
- 《Thinking in UML》读书笔记 6 : 分析类,设计类,关系,组件,节点
- UML Component Diagram 组件图
- UML学习——组件,衍型、子系统、类
- UML 基础: 组件图
- UML——组件图和部署图
- UML组件图详解
- UML 组件图
- 图文并茂,讨论UML2组件图!!
- UML 构件图(组件图)
- UML语言简介-组件图
- UML—组件图、配置图
- think in UML读书笔记8 UML核心元素 组件 节点
- UML静态建模——用例图、类图、对象图、组件图、部署图
- UML部署图和图九组件图
- UML建模图组件库,软件设计,UML绘制 ,打印,自动代码产生,软件,VC++,VB,控件源程序
- 使用UML服务组件表示SOA体系结构模式
- 图文并茂,UML2组件图讨论内容