共计 1908 个字符,预计需要花费 5 分钟才能阅读完成。
一、什么是时序图?
1.1 什么是时序图?
时序图(Sequence Diagram),又名序列图、循序图,它是 UML 交互图形的一种。它通过形容对象之间发送音讯的工夫程序显示多个对象之间的动静协作关系。包含发送音讯、承受音讯、解决音讯、返回音讯。
艰深的说,音讯的传递和流动是它的外表性能,更外围的是反馈各个系统之间的协作关系。
时序图是一种二维图,横轴示意对象,纵轴示意工夫,音讯在各个对象之间横向传递,依照工夫程序纵向排列。
1.2 时序图的作用
1. 展现对象之间交互的程序。
将交互行为建模为消息传递,通过形容音讯是是如何在对象间发送和承受来动静展现对象之间的交互
2. 绝对于其余的 UML 图,时序图强调的是对象之间交互的工夫程序。
3. 能够直观的形容并发过程。
二、时序图的组成元素
1. 角色(Actor)
零碎角色,能够是人、机器、其余零碎、子系统。个别是时序图工夫程序的发动点
2. 对象(Object)
对象,在不同的构图软件中,有不同的角色。比方在罕用的绘图软件 plantuml 中(下述),能够有 participant、queue、database 等
该角色个别是形容一个对象、一个模块、一个零碎。对象位于时序图的顶部,以一个矩形示意。
2.1 对象的命名
- 对象名和类名。例如: 快退零碎: 勾销订单
- 只显示类名。示意一个匿名对象。例如: 勾销订单
- 只显示对象名。例如: 快退零碎
2.1 对象的排列程序
对象的左右程序并不重要,然而为了作图清晰整洁,通常应该遵循以下二个准则:
- 把交互频繁的对象尽可能的聚拢
- 把初始化整个交互流动的对象搁置在最左端
3. 生命线(LifeLine)
时序图中每个对象和底部核心都有一条垂直的虚线,这就是对象的生命线(工夫线),以一条垂直的虚线示意,对象间的音讯存在与二条虚线间。
4. 激活期(Activation)
又名管制焦点,它代表时序图在对象工夫线上某段期间执行的操作,以一个很窄的矩形示意。
5. 音讯(Message)
示意对象之间发送的信息。音讯分为三种类型。
1)同步音讯 (Synchronous Message) 音讯的发送者把管制传递给音讯的接收者,而后进行流动,期待音讯的接收者放弃或者返回管制。用来示意同步的意义,以一条实线和实心箭头示意。
2)异步音讯 (Asynchronous Message) 音讯发送者通过音讯把信号传递给音讯的接收者,而后持续本人的流动,不期待接受者返回音讯或者管制。异步音讯的接收者和发送者是并发工作的,以一条实线和空心箭头示意。
3)返回音讯 (Return Message) 返回音讯示意从过程调用返回,以小于号和虚线示意。
4)自关联音讯 示意办法的本身调用或者一个对象内的一个办法调用另外一个办法。
音讯类型 | 示意 |
---|---|
同步音讯 | 实心箭头 + 实线 |
异步音讯 | 空心箭头 + 实线 |
返回音讯 | 实心箭头 + 虚线 |
自关联音讯 | 实心箭头 + 实线 |
6. 组合片段
组合片段:用来解决交互执行的条件和形式,它容许在序列图中间接示意逻辑组件,通过指定条件、子过程的利用区域,为任何生命线的任何局部定义非凡条件和子过程。
组合片段有十几种,最罕用的是 ALT 片段,同属来说就是 if-else 的条件判断组合。
三、如何构建一个时序图?
时序图的绘制办法简略总结为以下 3 步:
1. 划清边界,辨认交互语境
2. 梳理角色和对象
3. 增加音讯
四、应用工具绘制时序图
时序图的绘制工具有 plantuml、VISO、Rational Rose、StarUML、Web Sequence Diagrams、Timing Designer、Trufun Plato 等,可任选其一。
上面联合 plantuml 进行阐明
根本语法参考官网文档:https://plantuml.com/zh/seque…
独自一篇文章来阐明,怎么绘制图形
五、plantuml 工具的扩大
1、学习官网文档,相熟根本语法
2、网上收集一些案例,
3、联合本部门内的图形本人绘制,熟悉业务
学习步骤:
1、熟记各种指令
2、能够依据任何一个图,纯熟的绘画
3、脑中有一个相应的图
这是一方面与日俱增的过程,看到一个不错的图,看到其余共事表白一种想法用了一个很好的形式,或者一种不错的色彩搭配。都能够收集积攒下来
另外一方面是你对系统的意识。
六、时序图的积攒
模板文件:看到一个好的图,本人绘制一遍,收集起来。日常多温习,这些元素细节。
真正重要的是表白。
后期应该是一个积攒的过程,看到一些符号,晓得他能够用来表述什么模块、什么逻辑。缓缓的找到属于本人的简洁的模型。
而后相熟了之后,日常应用应该是一个相同的过程,当你在形容一个货色的时候,你借助这里时序图的模型、符号帮忙你更好的表述一件事。能够很快、很便捷
十、参考链接
1. 时序图
2. 时序图的介绍
3.plantuml 官网文档