如何画时序图、流程图

如何画时序图、流程图

在研发或者写技术方案的时候,我们经常会画各种图。图比文字更加容易理解一些,那么如何画出优秀好看的图呢

下面简单介绍一些画图时需要注意的点

流程图

流程图是流程的图形化。所谓流程,IS09000 系列国际标准中将流程定义为一组将输入转化为输出的相互群或相互作用的活动。流程有六个要素构成,分别是流程的输入资源、流程中的若干活动、活动的相互作用、输出结果、顾客、最终流程创造的价值

一个流程会将这6个要素有序串联起来,而流程图则是承载上述程序的图形载体

符号

流程图中的每个符号都有着特定含义:

约定

除了符号规划、结构规划,绘制流程图过程中还要注意一些约定俗成的路径规划,比如

1,绘制流程图时,为了提高流程图的逻辑性,应遵循从左到右、从上到下的顺序排列

2,一个流程从开始符开始,以结束符结束。开始符号只能出现一次,而结束符号可出现多次。若流程足够清晰,可省略开始、结束符号

3,同一流程图内,符号大小需要保持一致,同时连接线不能交叉,连接线不能无故弯曲

4,流程处理关系为并行关系的,需要将流程放在同一高度

5,处理流程须以单一入口和单一出口绘制,同一路径的指示箭头应只有一个

一个简单的示例

时序图

时序图,又名序列图、循序图,是一种 UML 交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作,时序图可以清晰的说明在多个系统、多个对象中的交互逻辑

元素

我们在画时序图时会涉及7种元素:角色、对象、生命线、控制焦点()、消息(Message)、自关联消息、组合片段。其中前6种是比较常用和重要的元素,剩余的一种组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,在单独介绍组合片段元素。

角色(Actor):系统角色,可以是人或者其他系统,子系统。以一个小人图标表示

对象(Object):

对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:

  • 对象名和类名。例如:华为手机:手机
  • 只显示类名,不显示对象,即为一个匿名类。例如::手机
  • 只显示对象名,不显示类名。例如:华为手机:

生命线(LifeLine):时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线

活动条(Activation):在生命线的虚线上可以用活动条来表示某种行为的开始和结束,一般用小矩形来表示

消息(Message):表现代表对象之间发送的信息。消息分为三种类型

  • 同步消息(Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示
  • 异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线加大于号表示
  • 返回消息(Return Message):返回消息表示从过程调用返回。以小于号加虚线表示

交互框

UML 在2.0时在时序图中加入了交互框。交互框用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,这里只展示一些常用的

最佳实践

1,从初始消息开始画,依次画出随后消息,并给每个消息分配序号,方便理解

2,角色和对象用名词,消息用动词

3,角色放在时序图的开始位置,对象重要程度或使用频率从左到右排列。这就要根据时间的流程考虑了,是一个比较主观的事情

4,活动条两端要以消息元素封顶,控制焦点不要超过消息元素,错误示例:

相关推荐
fish-man2 天前
测试流程图展示问题
linux·服务器·流程图
zzywxc78712 天前
自动化测试框架是软件测试的核心基础设施,通过预设规则和脚本自动执行测试用例,显著提高测试效率和覆盖率。
运维·人工智能·自动化·prompt·测试用例·流程图
TextIn智能文档云平台12 天前
产品无法正确解析复杂表格和流程图,有什么替代方案或优化方法?
流程图
coder_lorraine12 天前
Drawnix:开源一体化白板工具,让你的创意无限流动!
开源·流程图
m0_5557629014 天前
项目1——单片机程序审查,控制系统流程图和时序图
单片机·mongodb·流程图
zzywxc78716 天前
AI在金融、医疗、教育、制造业等领域的落地案例
人工智能·机器学习·金融·prompt·流程图
趣学习17 天前
A043基于博途西门子1200PLC自动售货机系统仿真A043自动售货机+S71200+HMI+主电路图+外部接线图+流程图+IO分配表
毕业设计·流程图·课程设计·plc·西门子
kebeiovo18 天前
项目必备流程图,类图,E-R图实例速通
开发语言·r语言·流程图
晋人在秦 老K18 天前
入梦工具箱怎么检测硬件?3步完成CPU-Z跑分测试 硬件检测总出错?图吧工具箱免费功能实测 draw.io 部署指南:私有化流程图服务搭建教程
测试工具·流程图·工具·draw.io
zzywxc78719 天前
AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)
人工智能·spring·机器学习·金融·数据挖掘·prompt·流程图