【UML建模】(8) UML建模之组件图

简介: 组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。

组件图介绍

组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。

组件图明确了系统设计,降低了沟通成本,而且按照面向对象方法进行设计的系统和子系统保证了低耦合度,提高了可重用性。

组件图可以用来显示编译、链接或执行时组件之间的依赖关系,以及组件的接口和调用关系。

组件图的组成元素

组件图由组件,接口,组件图中的关系,端口组成

组件(Component)

组件(Component)是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组接口。

组件是一个封装好的物理实现单元,它具有自己的身份标示和定义明确的接口。由于它对接口的实现过程与外部元素独立,所以组件具有可替换性。

一般来说,组件就是一个实际的文件或者多个文件组成的可执行程序。

组件分为如下几种:

1.源代码组件:一个源代码文件或者与一个包对应的若干个源代码文件。

2.二进制组件:一个目标码文件,一个静态的或者动态的库文件。

3.可执行组件:在一台处理器上可运行的一个可执行的程序单位,即所谓可执行程序。

接口

对于一个组件而言,它有两类接口,提供接口与需求接口。

1.提供接口:又被称为导出接口或供给接口,是组件为其他组件提供服务的操作的集合。

2.需求接口:又被称为引入接口,是组件向其他组件请求相应服务时要遵循的接口。

商品组件提供商品相关的接口,订单组件需要调用商品组件提供的接口。

端口(Port)

端口(Port) 是一个被封装的组件的对外窗口,在封装的组件中,所有出入组件的交互都要通过端口。它是被封装的组件与外界的交互点,遵循指定接口的组件通过它来收发消息。

组件间的关系

组件间的关系有两种:

1.依赖关系
依赖关系分为两种,一种是组件与需求接口之间建立依赖关系;另一种是组件与组件之间建立依赖关系,说明在运行过程中A某些行为上依靠组件B的支持

2.泛化关系
组件与提供接口之间建立实现关系

组件图的建模技术

1.对源代码结构建模

识别出同一功能点的源代码文件集合,并建模为组件

如果系统规模较大,使用包对组件进行分组

使用接口和依赖关系来表示这些源文件之间的关系

检查组件图的合理性,并识别源代码文件的优先级以便进行开发工作

2.对可执行程序结构建模

识别出相关的运行组件集合

考虑集合中每个组件的类型

如果系统规模较大,可以使用包对组件进行分组。这里包的使用可以对应于相应文件的文件存储结构。

分析组件之间的关系,使用接口和依赖关系建模这些关系。

考量建模结果是否实现了组件的各个特性,对建模的结果进行细化。

综合例子

下图展示了一个购物网站的组件图。

总结

本文详细介绍了组件图,组件图是一种描述组件以及组件之间关系的结构型图表。首先介绍了组件中的各种组成元素,接着介绍组件的建模技术,最后提供了一个实际案例。希望对读者朋友们有所帮助。

参考

UML之组件图

相关文章
|
7月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
152 0
|
7月前
|
存储 测试技术 开发工具
软考中的UML图、数据流图等二十余种示例
软考中的UML图、数据流图等二十余种示例
628 0
|
3月前
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
6月前
|
设计模式 uml
设计模式学习心得之前置知识 UML图看法与六大原则(下)
设计模式学习心得之前置知识 UML图看法与六大原则(下)
45 2
|
7月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
97 0
|
6月前
|
设计模式 数据可视化 程序员
设计模式学习心得之前置知识 UML图看法与六大原则(上)
设计模式学习心得之前置知识 UML图看法与六大原则(上)
47 0
|
6月前
|
数据可视化 测试技术 uml
如果更好的绘制UML图
如果更好的绘制UML图
46 0
|
7月前
|
Java uml
UML之组件图(构件图)
UML之组件图(构件图)
159 0
|
7月前
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
677 0
|
7月前
|
测试技术 uml
UML—浅谈常用九种图
UML—浅谈常用九种图
190 0