UML(二)component 组件图

组件图即是用来描述组件与组件之间关系的一种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. 账户 提供的服务 操作服务,消费者管理

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

例子二 类视图

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值