UML
用例图
元素
- 系统:区分应用编辑
- 参与者
- 主要参与者:系统元素左边
- 次要参与者:系统元素右边
- 用例
- 关系
- 关联:实线
- 包含:指向包含用例的虚线箭头。基本用例执行,包含用例必定执行
- 扩展:从扩展用例指向基本用例的虚线箭头。基本用例执行时,满足一定条件才执行扩展用例
- 泛化:子用例指向父用例的实线空心箭头。
状态图
元素
- 开始节点
- 状态
- 状态名
- 活动
- 入口行为entry
- 执行行为do
- 退出行为exit
- 事件/动作
- 如果是事件:要有监护条件
- 结束节点
@startuml
'https://plantuml.com/zh/state-diagram
state "Req(Id)" as ReqId <<sdlreceive>>
state "Minor(Id)" as MinorId
state "Major(Id)" as MajorId
state c <<choice>>
Idle --> ReqId
ReqId --> c
c --> MinorId : [Id <= 10]
c --> MajorId : [Id > 10]
@enduml
活动图
元素
- 开始节点
- 动作节点
- 决策节点<分支>分支>
- 合并节点<分支合并>分支合并>
- fork节点:并行执行
- join节点:并行结束
- 结束节点
- 配合泳道分组
PlantUML示例
@startuml
'https://plantuml.com/zh/activity-diagram-beta
|用户|
start
repeat
:搜索商品;
repeat while (搜索成功?) is (否) not (是)
:查看商品;
switch ()
case ()
:加入购物车;
:结算;
case ()
:立即购买;
endswitch
:选择地址;
|商城服务|
:生成订单;
|用户|
repeat
:支付;
repeat while (支付成功?) is (否) not (是)
fork
:查看物流;
fork again
|配送服务|
:配送;
:送达;
|用户|
end fork
:确认收货;
stop
@enduml
时序图
元素
- 参与者
- 对象
- 生命线(激活框)
@startuml
actor 用户 as act
participant 自动取款机 as draw
participant 银行服务器 as bank
participant 银行账户 as account
act -> draw: 插入银行卡
activate draw
draw -> bank: 验证银行卡
activate bank
alt 银行卡有效
draw <-- bank: 银行卡有效
act <- draw: 输入密码
else 银行卡无效
draw <-- bank: 银行卡无效
deactivate bank
act <- draw: 吐出银行卡
end
act --> draw: 输入密码
draw -> bank: 验证密码
activate bank
alt 密码有效
draw <-- bank: 密码有效
act <- draw: 输入金额
else 密码无效
draw <-- bank: 密码无效
deactivate bank
act <- draw: 吐出银行卡
end
act --> draw: 金额输入
draw -> bank: 开始交易
activate bank
bank -> account: 验证余额
activate account
alt 余额充足
bank <-- account: 余额充足
bank -> account: 提取金额
bank <-- account: 提取成功
draw <-- bank:交易成功
act <- draw :吐出现金
else 其他
bank <-- account: 余额不足
deactivate account
draw <-- bank:交易失败
deactivate bank
end
act <- draw:吐出银行卡
deactivate draw
@enduml
类图
文档信息
- 本文作者:Ling He
- 本文链接:https://GoggleHe.github.io/2024/04/20/UML/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)