UML组件图定义
UML组件图,英文名Component Diagram,是用来描述组件与组件之间关系的一种UML图。
UML组件图作用
UML组件图的作用体现在如下4点:
① 组件图明确了系统设计,降低了沟通成本;
② 组件图可以用来显示组件之间的依赖关系,以及组件的接口和调用关系;
③ 有利于帮助工作组的其他人员理解系统;
④ 有利于软件系统的组件重用;
UML组件图组成
UML组件图中主要包含5种元素,即组件、接口和关系等。
UML组件图 = 构件(Component) + 接口(Interface) + 关系(Relationship) + 端口(Port) + 连接器(Connector)
1.组件
组件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组接口。
如下图所示:
组件分为如下3种:
源代码组件:一个源代码文件或者与一个包对应的若干个源代码文件;
二进制组件:一个目标码文件,一个静态的或者动态的库文件;
可执行组件:在一台处理器上可运行的一个可执行的程序单位,即所谓可执行程序;
2.接口
对于一个组件而言,它有两类接口,提供接口与需求接口。
提供接口(Provided interface):顾名思义就是组件提供出去供组件使用方调用的接口 ,用直线关联到圆形符合的组件表示组件提供了对接口的实现。
需要接口(Required Interface ):就是组件需要外部提供的接口,用直线关联到半圆形的组件表示对接口的使用。
如下图所示:
3.关系
组件间的关系有两种:
1)依赖关系
依赖关系分为两种:
- 一种是组件与需求接口之间建立依赖关系;
- 另一种是组件与组件之间建立依赖关系;
2)泛化关系
组件与提供接口之间建立实现关系。
4.端口
端口 (port):端口 表明组件对外提供接口的交互点,和网络中的端口概念相似。
5.连接器
连接器是表示两个组件之间可以互相通讯的表达方式,而组件之间具体是通过什么方式通讯连接器并没有强调,有可能是组件间通过比如 http 通讯,也有可能共享变量、传参的方式通讯。
UML组件图例子
下图是一个统一搜索引擎的组件图,由一个前端的搜索框、后端提供了搜索服务和搜索内容的保存服务。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》