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

组件图适用于基于组件的开发模式(Component-Based Development, CBD),它通过组件,及组件的接口、端口来表达组件的构成及其关系。当我们使用 CBD 进行开发时,其实是对行为进行了抽象,一个组件提供了若干的行为,组件图通过接口、端口的方式来表达组件间的连接,很形象的表达出组件是可被替换的概念,一个组件可以被另一个提供了相同接口的组件替换。因此,当我们通过组件进行建模时,能够设计出一个扩展性良好的系统。
基于组件的开发基于这样的假设,即以前构建的组件可以被重用,并且如果需要,组件可以被一些其他“等效”或“一致”组件替换。

组件图是用于描述系统的物理、逻辑结构的,他关注组件间的关联(使用什么接口,通过什么端口通讯),强调通过接口来描述组件行为

component, [interface, provided interface, required interface], class, port, connector, artifact, component realization, dependency, usage

component 组建的一般表示

提供接口 (provided interfaces)

提供接口表明该组件实现的接口,表示该组件能够提供的行为,即该组件可对外提供的服务。 比如上图的例子中,表明了天气服务组件,提供了天气预报的接口,即说明天气服务组件拥有天气预报的行为(能力)

需求接口(required interfaces)

需求接口表明该组件执行过程中,需要使用到具有某个行为的组件,即声明该组件依赖的行为。

需求接口(半圈)和提供接口(圆圈)的图设计得很有意思,一般两个组件连接,即一个组件的提供接口连接另一个组件的需求接口,这样表现出来的就是一个半圆半包裹着一个圆圈,很形象的表明类似插座,或者可互相嵌入的接口,所以从图中我们能够很直观的感受到组件之间是通过接口连接的,只要使用相同的接口,组件间可以随意替换。


伸手要钱 提供的接口是 钱
自己掏腰包 提供的接口是 钱
所以可以互相取代

端口 (port)
端口 表明组件对外提供接口的交互点,和网络中的端口概念相似,它定义了组件对外的出口。通过端口,我们可以限制组件的外部可见性,其他组件与该组件交流,只能通过对应的端口,因此我们通过端口了解到一个组件能够支撑的功能范围。


组建可以替换,前提是接口相同,

连接器(connector)
组建间的连接,通信。


UML 中的依赖关系

例子
网购组建图

第一层次 有哪些顶层组建
有三大组建 WebStore ,Warehouses,accounting

第二层次 — 顶层组建的接口和连接(WebStore 详细写)

1 WebStore 提供的接口(服务) 产品搜索,在线购物,用户接口
输入接口 搜索仓库(依赖于仓库提供的接口) ,购物车输入(依赖于账户管理提供的操作),用户接口
2. Warehouses仓库 提供的服务 搜索库存,管理库存
3. 账户 提供的服务 操作服务,消费者管理

第三层 顶层组建的内部 连接和接口

例子二 类视图

UML(二)component 组件图相关推荐

  1. UML 构件图(组件图)

    UML 构件图(组件图) •什么是构件 构件和构件的要素 •构件是系统中可替换的物理部分,它包装了实现而且遵从并提供一组接口的实现 •规格说明:对于构件,必须有一个它所提供服务的抽象描述.通俗地说,每 ...

  2. 捣鼓PlantUML(二、组件图)

    简单介绍 为什么先讲组件图,是因为我是由于需要画组件图所以才去找的这个工具.组件图实质就是将一个大系统,拆分为若干功能相对独立,互相之间存在关联依赖关系的组件集合.然后由一张图列出所有组件及它们之间的 ...

  3. UML实现图 组件图、配置图

    在学习UML实现图的时候发现书上和视频里对实现图的叫法不一样,但是它们所描述的功能是一样的,在视频中称"组件图"为"构件图":称"部署图"为 ...

  4. UML图详解(五)组件图

    一.概念 组件图(Component Diagram)又称为构件图,他描述的是在软件系统中遵从并实现一组接口的物理的.可替换的软件模块. 构件图 = 构件(Component) + 接口(Interf ...

  5. powerdesigner画UML组件图初步

    组件图 组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构. 组件图可以用来显示组件之间的依赖关系,以及组件的接口和调用关系. 组件图由组件,接口 ...

  6. UML——实现图(组件图、部署图)

    在进行完前面的系统逻辑设计之后,下一步我们就需要定义设计的物理实现,如可执行文件.库.表.文件和文档等.UML的实现图又分为了:组件图和部署图两部分 一.组件图 1.组件图: 用来描述软件组件以及组件 ...

  7. 第3讲:组件图(Component Diagram)

    组件图又称为构件图,组件图中包含组件.接口以及依赖关系. 一.元素 1.1.组件(Component) 系统功能的可重用部件 1.2.提供的接口 表示某个组件实现的且其他组件或者外部系统可以调用的一组 ...

  8. UML 对象图、时序图、活动图 、状态图、协作图 、包图、组件图及部署图

    UML 对象图.时序图.活动图 .状态图.协作图 .包图.组件图及部署图 目录 对象图 时序图 活动图 状态图 协作图 包图 组件图 部署图 对象图 对象图是类图的一个实例,用于显示系统执行时的一个可 ...

  9. Salesforce Lightning开发学习(二)Component组件开发实践

    lightning的组件区分标准组件.自定义组件和AppExchange组件.标准组件由SF提供,自定义组件由developer自行开发,AppExchange组件由合作伙伴建立.下面我们写一个简单的 ...

最新文章

  1. 大叔手记(10):别再让面试官问你单例
  2. python 图片base64 编解码,转换成Opencv,PIL.Image图片格式
  3. Echarts给坐标轴添加自定义属性
  4. 【杭电多校2020】Go Running【几何】【最小点覆盖】
  5. KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)题解
  6. AspNetForums中基于角色的权限控制
  7. vue 深度拷贝数组_前端深拷贝和浅拷贝
  8. 深入JavaScript之获取cookie以及删除cookie
  9. 华为云服务之弹性云服务器ECS的深度使用和云端实践
  10. LayoutManager实现翻页动画
  11. Sniffing and sending packets is not available: winpcap is not installed
  12. ESP8266入门教程11:连接MQTT服务器
  13. 欢迎大家访问我的网站
  14. 理科爱好者杂志理科爱好者杂志社理科爱好者编辑部2022年第3期目录
  15. 基于STM32F407的人脸追踪
  16. autojs上传蓝奏云UI模板
  17. ubuntu相关命令速记
  18. 2345浏览器兼容性设置在哪里
  19. First love
  20. ubuntu16.04为chrome浏览器安装flash插件(Adobe flash play不是最新版本)

热门文章

  1. aiohttp 高并发web服务_能看懂的aiohttp
  2. 计蒜客 烦恼的高考志愿题解
  3. 为什么联发科芯片不能升级鸿蒙,华为鸿蒙系统降临!首批升级手机确定,联发科芯片被放弃?...
  4. React focus鼠标指针变成手指
  5. 如何评估小红书投放效果?有哪些数据可以帮助监测效果
  6. 7个Linux手机平台比较 (4):多媒体架构的异同
  7. 使用dpkg-deb查看deb文件的安装目录
  8. Stata+R:一文读懂精确断点回归-RDD
  9. linux下常用的关机命令
  10. NetSuite商品层次结构(MH)