c++ 分别对应于uml中的+-#_软件工程专题:UML配置图

88c507b03d735160b612023618fd7e59.png

关注BeTester,学习更多知识

让碎片成体系,让测试更专业

7858e4efceba52f3921c31b116009e70.png

1、概述

组件图(Component Diagram),也叫配置图(Configuration Diagram),是用来描述各个模块之间的相互关系的图。每个模块都有各自的功能职责,通过组件图可以直观观察到组件之间的交流与依赖。

组件图和部署图存在相似性,都是对模块的关联关系的描述,区别在于,组件图更多的是偏向于软件系统内部的模块关系描述,而部署图则结合软件与硬件所组成的拓扑。

2、组件图元素

组件图中主要包含三种元素,即组件、接口和关系。

2.1 组件元素

组件元素是组件图中的基本单元,可以是一个类,也可以是一个模块,也可以是一个子系统,并不严格限制单元的大小。每个单元都有其行为功能,都可以提供对外的接口,但是有些也需要其他单元/组件协助实现接口。

@startuml
[使用中括号定义的组件]
component 使用关键字定义的组件 as c
@enduml

a5f144e2a88cb03da7ca3bd855fa902b.png

组件也允许使用组合的方式把多个组件集合在一起形成一个新的组件,与 部署图 类似,有 package、node、folder、frame、cloud、database关键字进行设置。

@startuml
package 包 {
    component 001
    component 002
}

node 节点 {
    component 003
    component 004
}

folder 文件夹 {
    component 005
    component 006
}

frame 框架 {
    component 007
    component 008
}

cloud 云端 {
    component 009
    component 010
}

database 数据库  {
    component 011
    component 012
}

@enduml

dfb024dec6235e56178d42e818fca178.png

2.2 接口

接口是一个类或模块给另一个类或模块的一组操作。

@startuml
() 接口
@enduml

cf99a2c4388122892c36615bdb4c1238.png

2.3 连接关系

组件与接口之间有两类关系:

  1. 提供接口:又称导出接口,是组件为其他组件提供服务的操作的集合。如 开发工程师 可以提供 工件(APP或固件),测试工程师提供验证服务。
  2. 需求接口:又称导入接口,是组件向其他接口请求服务的操作的集合。
@startuml
component 测试工程师 as te
component 开发工程师 as dev
() 工件 as air
() 验证 as verify
dev -> air : 开发
te ..> air : 集成
te -> verify
@enduml

49537c6d22515275abfcbbc9c0693adf.png

3、实例说明

3.1 前后台功能概要说明

在中台兴起之前,Web服务一般分成前端和后端两部分,后端提供数据服务,前端进行展示,为此我们得出以下的组件图:

@startuml
component 前端 as front
component 后台 as back
() 渲染 as render
() 后台数据 as data
front -> render
front ..> data
back -> data
@enduml

fd94ec86aede60e328acdf866054b81c.png

3.2 Android四大组件

@startuml
component Activity as a
component Service as s
component "BroadCast Receive" as br
component "Content Provider" as cp
() as_intent
() abr_intent
() acp_intent
() sbr_intent
() scp_intent

a --> as_intent
s .down.> as_intent

a -> abr_intent
br ..> abr_intent

a -> acp_intent
cp ..> acp_intent

s -> sbr_intent
br ..> sbr_intent

s -> scp_intent
cp ..> scp_intent

@enduml

fb5ead83590fb73f810a19cc42ddb3a0.png
Android开发有四大组件
Activity:提供用户操作的可视化界面,常见的操作界面。
Service:常用于后台运行处理逻辑任务,并与其他组件进行交互,如音乐后台播放。
Broadcast Receive:接收来自系统或应用的广播消息并加以处理,如低电量进入省电模式。
Content Provider:为不同应用程序之间数据访问提供统一的接口访问,如第三方登录(微信、淘宝等)。

4、小结

组件图常用于项目初期建立系统框架,它快速地把系统模型化并清晰表达出来,让开发和测试都能够对系统有一个直观的认识。除此之外,组件图还能构建出数据库架构、应用程序的模块关系、源代码的逻辑结构等。

—— 更多文章 ——

  • 软件工程专题:UML部署图
  • 软件工程专题:UML状态图
  • 软件工程专题:UML活动图
  • 软件工程专题:UML通信图
  • 软件工程专题:UML顺序图
  • 软件工程专题:UML用例图
  • 软件工程专题:UML类图
  • 软件工程专题:Plant UML实践
  • 软件工程专题:UML简介

71c5f738d486f6371725dc10940c0d83.png

如果有任何的疑问,也可以联系小小志

b94dff80238b315c1a0474bb88a89a76.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值