Typora画图-UML时序图

一、介绍

  • PlantUML 是一个开源项目,支持快速绘制:
    • 时序图
    • 用例图
    • 类图
    • 对象图
    • 活动图
    • 组件图
    • 部署图
    • 状态图
    • 定时图
  • 同时还支持以下非 UML 图: - JSON Data
    • YAML Data
    • Network diagram (nwdiag)
    • 线框图形界面
    • 架构图
    • 规范和描述语言 (SDL)
    • Ditaa diagram
    • 甘特图
    • MindMap diagram
    • Work Breakdown Structure diagram
    • 以 AsciiMath 或 JLaTeXMath 符号的数学公式
    • Entity Relationship diagram

二、基础

1、时序图

  • 以用-> 来绘制参与者之间传递的消息
  • 使用 –> 绘制一个虚线箭头
  • <- 和 <–,这不影响绘图,但可以提高可读性

三、代码示例

1.横向流程图

1
2
3
4
5
6
graph LR
A[方形] --变化--> B(圆角)
B -.变化.-> C{条件a}
C --> |a=1| D[结果1]
C --> |a=2| D[结果2]
F[横向流程图]

2.竖向流程图

1
2
3
4
5
6
graph TD
A[方形] --> B(圆角)
B --> C{条件a}
C --> D[结果1]
C --> E[结果2]
F[竖向流程图]

3.标准流程图(纵向)

1
2
3
4
5
6
7
8
9
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op

4.标准流程图(横向)

1
2
3
4
5
6
7
8
9
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op

5.UML 简单时序图样例

1
2
3
4
5
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述
对象B-->对象A: 我很好(响应)
对象A->对象B: 你真的好吗?

6.UML 复杂时序图样例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Title: 标题: 复杂使用
对象A->对象B: 对象B,你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象B->小三: 你好吗?
小三-->>对象A: 对象B找我了
对象A->对象B: 你真的好吗?
Note over 小三,对象B: 我们是朋友
participant C
Note right of C: 没人陪我玩

7.UML 准样时序图标例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五,你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物
看医生...
李四-->张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!

8.甘兰图

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
gantt

title 软件开发甘特图
dateFormat YYYY-MM-DD
section 设计
需求:done,des1,2020-01-01,2020-01-05
原型:active,des2,2020-01-06,3d
UI设计:des3,after des2,5d
未来任务:des4,after des3,5d
section 开发
学习准备理解需求:crit,done,2020-01-01,24h
设计框架:crit,done,after des2,2d
开发:crit,active,3d
未来任务:crit,5d
耍:2d
section 测试
功能测试:active,a1,after des3,3d
压力测试:after a1,20h
测试报告:48h