组件图用于描述系统组件以及组件之间的依赖关系。
组件的概念要点:
- 组件是系统模块化的一部分,封装了某些东西。
- 组件对外提供接口或者使用其他接口。
- 组件在运行环境中是可替换的。
组件必须是一个物理实现单元,否则在环境中就无法做到可替换。
例如,一个dll文件是一个组件,但这个dll文件里面的函数就不是组件,因为无法在不替换dll文件的情况下独立替换某个函数。
UML的组件概念比较宽泛,没有严格说明组件的粒度。实际应用中,满足以下条件的都可以算作组件:
- 动态链接库文件:*.dll、*.so
- 数据库
- 可执行文件:*.exe、*.jar
- 子系统、第三方系统
- 操作系统、JVM
组件图的主要元素:
- 组件:组件用有一个左侧带有两个突出小矩形的矩形来表示。
- 接口:组件的接口强调组件对外提供的服务能力,并不意味着编码接口,是一个逻辑概念,而非具体实现。
- 依赖:依赖表示各组件间存在的关系类型,使用带箭头的虚线表示。