zl程序教程

您现在的位置是:首页 >  工具

当前栏目

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

2023-09-27 14:19:46 时间

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 2. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当,持续更新中 。python爬虫入门进阶
❤️ 3. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 4. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
😁 5. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
关注下方公众号,众多福利免费嫖;加我VX进群学习,学习的路上不孤单

组件图介绍

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

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

组件图可以用来显示编译、链接或执行时组件之间的依赖关系,以及组件的接口和调用关系。
在这里插入图片描述

组件图的组成元素

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

组件(Component)

组件(Component)是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组接口。
组件是一个封装好的物理实现单元,它具有自己的身份标示和定义明确的接口。由于它对接口的实现过程与外部元素独立,所以组件具有可替换性。
一般来说,组件就是一个实际的文件或者多个文件组成的可执行程序。
组件分为如下几种:

  1. 源代码组件:一个源代码文件或者与一个包对应的若干个源代码文件。
  2. 二进制组件:一个目标码文件,一个静态的或者动态的库文件。
  3. 可执行组件:在一台处理器上可运行的一个可执行的程序单位,即所谓可执行程序。
    在这里插入图片描述

接口

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

  1. 提供接口:又被称为导出接口或供给接口,是组件为其他组件提供服务的操作的集合。
  2. 需求接口:又被称为引入接口,是组件向其他组件请求相应服务时要遵循的接口。
    在这里插入图片描述
    商品组件提供商品相关的接口,订单组件需要调用商品组件提供的接口。

端口(Port)

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

组件间的关系

组件间的关系有两种:

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

组件图的建模技术

  1. 对源代码结构建模
    • 识别出同一功能点的源代码文件集合,并建模为组件
    • 如果系统规模较大,使用包对组件进行分组
    • 使用接口和依赖关系来表示这些源文件之间的关系
    • 检查组件图的合理性,并识别源代码文件的优先级以便进行开发工作
  2. 对可执行程序结构建模
    • 识别出相关的运行组件集合
    • 考虑集合中每个组件的类型
    • 如果系统规模较大,可以使用包对组件进行分组。这里包的使用可以对应于相应文件的文件存储结构。
    • 分析组件之间的关系,使用接口和依赖关系建模这些关系。
    • 考量建模结果是否实现了组件的各个特性,对建模的结果进行细化。

综合例子

下图展示了一个购物网站的组件图。
在这里插入图片描述

总结

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

参考

UML之组件图

粉丝专属福利

想进学习群请添加VX: wei158556

  1. 回复【python】:即可获取50G的python学习干货
  2. 回复【爬虫】:即可免费获取全面完善的爬虫资料
  3. 回复【数据分析】:即可免费获取全面完善的爬虫资料,超值
  4. 回复【java】:即可获得java全套资料以及面试题
  5. 回复【软考】:即可获得软考资料
  6. 回复【脱单】: 即可获得脱单资料