UML

2024/04/20 设计 共 1546 字,约 5 分钟

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

类图

文档信息

Search

    Table of Contents