PlantUML绘制UML之序列图

        序列图(Sequence Diagram)是描述对象间按照时间先后顺序交互的视图。序列图主要由参与者、消息、生命线等组成。下面给出客户在ATM机取款的序列图。

        图中用到了部分组合消息类型:

  • loop(循环):满足条件就重复执行,类似于程序编码中的while关键字。
  • alt/else:满足条件A,就执行blockA;满足条件B,就执行blockB。类似于程序编码中的if/else语句。
  • group:图中的验证密码块就是用的group关键字实现的。类似于程序中的花括号{}。

        序列图中其实还有opt(可选)、par(并行)等组合消息关键字,这个例子中没有涉及到,以后有机会再补充。

@startuml ATM取款序列图
title ATM取款序列图

actor Customer
actor ATM
database DB as "银行后台"

Customer -> ATM: 取款
group 验证密码
    loop times < 3 && 密码错误 || times == 0
        ATM -> Customer: 提醒输入密码
        Customer -> ATM: 输入密码
        ATM -> DB: 发送卡号和密码
        DB -> DB: 验证密码
        DB -> ATM: 返回验证结果
    end
    alt times == 3 && 密码错误
        ATM -> ATM: 吞卡
        ATM -> Customer: 给出吞卡提示
    else
        ATM -> Customer: 提示输入取款金额
    end
end

Customer -> ATM: 输入取款金额

group 验证取款金额
    loop 取款金额 > 卡中余额
        ATM -> Customer: 提示余额不足,请重新输入取款金额
        Customer -> ATM: 输入取款金额
        ATM -> DB: 发送取款金额
        DB -> DB: 验证取款金额
        DB -> ATM: 发送验证结果
    end
end

ATM -> Customer: 给出纸币

@enduml

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值