PlantUML语法

在涉及多个系统复杂交互的时候,时序图可以帮助我们理清交互的细节,同时也可以作为技术文档进行整理和传播。相比纯文字或者需求原型图,UML图更适合开发和测试同学。
使用前,先要在IDEA中安装PlantUML插件。给大家介绍平时用的多的几个语法。

  1. 主题
    title xxx

  2. 声明各系统
    participant a
    participant a as b
    先声明可以指定各系统的排序,如果不先指定则按出现的先后顺序
    用上缩写之后每次能用b代替a

  3. 拆分
    ==xxx==
    比如需要分为浏览商城、加入购物车、结算、支付不同功能,则要用上拆分

  4. 交互
    xxx -> xxx : xxx
    xxx --> xxx : xxx

  5. 条件
    alt xxx
    else xxx
    end
    其中else部分可选,else后面的条件可省略
    alt层里可嵌套其它,但一定要带上end,一个alt需要配一个end

  6. 注释
    note left/right : xxx
    在该条交互的左边/右边进行注释

  7. 类型
    actor xxx
    database xxx

下面是几个示例,可能举的这个例子不够好,大家能理解其中的用法就行。
例1

@startuml
title 我的一天
participant 我
participant 家
participant 公司
participant 其它公司
participant 商场
==工作==
alt 周一至周五
我 -> 公司:上班
alt 需要外出
公司 -> 其它公司:外勤/出差
note left: 商务合作
其它公司 --> 公司:回公司
end
else 周末
我 -> 家:在家办公
end
==休息==
alt 有约
我 -> 商场:逛街
else
我 -> 家:宅
end
@enduml
PlantUML语法_第1张图片
微信图片_20191014223731.png

例2 将“我”的类型置为actor

@startuml
title 我的一天
actor 我
participant 家
participant 公司
participant 其它公司
participant 商场
==工作==
alt 周一至周五
我 -> 公司:上班
alt 需要外出
公司 -> 其它公司:外勤/出差
note left: 商务合作
其它公司 --> 公司:回公司
end
else 周末
我 -> 家:在家办公
end
==休息==
alt 有约
我 -> 商场:逛街
else
我 -> 家:宅
end
@enduml
PlantUML语法_第2张图片
微信图片_20191014223741.png

例3 用上缩写,不改变结果

@startuml
title 我的一天
actor 我 as me
participant 家 as homne
participant 公司 as company
participant 其它公司 as ocompany
participant 商场 as market
==工作==
alt 周一至周五
me -> company:上班
alt 需要外出
company -> ocompany:外勤/出差
note left: 商务合作
ocompany --> company:回公司
end
else 周末
me -> homne:在家办公
end
==休息==
alt 有约
me -> market:逛街
else
me -> homne:宅
end
@enduml

你可能感兴趣的:(PlantUML语法)