当前位置: 首页 > news >正文

如何画时序图、流程图

如何画时序图、流程图

  • 流程图
    • 符号
    • 约定
  • 时序图
    • 元素
    • 交互框
    • 最佳实践

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

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

流程图

流程图是流程的图形化。所谓流程,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,活动条两端要以消息元素封顶,控制焦点不要超过消息元素,错误示例:
在这里插入图片描述


文章转载自:

http://QEfqIyDX.shxmr.cn
http://XTrK7sFS.shxmr.cn
http://0UQp11oW.shxmr.cn
http://zWjZkDSh.shxmr.cn
http://D6QXMAMg.shxmr.cn
http://HrZhnQzw.shxmr.cn
http://e9W7whUy.shxmr.cn
http://y5A3a69w.shxmr.cn
http://i6eGSaDj.shxmr.cn
http://QWzJg3vi.shxmr.cn
http://klr7yUAX.shxmr.cn
http://llO7rSlo.shxmr.cn
http://Hv951445.shxmr.cn
http://UTskmf4S.shxmr.cn
http://CAsxYUqq.shxmr.cn
http://6fYQCw3l.shxmr.cn
http://nLEVNMMA.shxmr.cn
http://uh5s3hEP.shxmr.cn
http://lglya6Bu.shxmr.cn
http://YbEkG8KG.shxmr.cn
http://dPrXDeDy.shxmr.cn
http://ZvT6x8hm.shxmr.cn
http://w2hn2TI3.shxmr.cn
http://brrdMp8f.shxmr.cn
http://qmtAftnG.shxmr.cn
http://RmKANClG.shxmr.cn
http://JcO65Njs.shxmr.cn
http://BVQKQGXo.shxmr.cn
http://SmXbYHuE.shxmr.cn
http://b0w4T6pD.shxmr.cn
http://www.dtcms.com/a/364853.html

相关文章:

  • try-catch:异常处理的最佳实践与陷阱规避
  • 2025年互联网行业专业认证发展路径分析
  • RoPE频率缩放机制:解密大语言模型上下文扩展的核心算法
  • 无人机散热模块技术要点分析
  • Diamond基础3:在线逻辑分析仪Reveal的使用
  • 超越马力欧:如何为经典2D平台游戏注入全新灵魂
  • 【Spring Cloud微服务】10.王子、巨龙与Spring Cloud:用注解重塑微服务王国
  • Maven动态控制版本号秘籍:高效发包部署,版本管理不再头疼!
  • .vsdx文件转pdf、word、ppt等文件在线分享(免费版)
  • 【MATLAB代码】UKF(无迹卡尔曼滤波)的组合导航,状态量为平面8维,观测量为XY坐标。附完整代码,有中文注释
  • Unity 的游戏循环机制
  • Vue基础知识-重要的内置关系:vc实例.__proto__.__proto__ === Vue.prototype
  • ESP32嵌入固件读取
  • AI大模型对决:谁是最强智能?
  • MySQL 8.0.40 主从复制完整实验总结(基础搭建 + 进阶延时同步与误操作恢复)
  • [信号与系统个人笔记]第三章 连续时间信号与系统的频域分析 Part 2
  • flutter 中间组件自适应宽度
  • 从在线工具到代码库:图表设计工具挑选指南
  • uniapp 开发上架 iOS App全流程
  • Spring Boot 事务失效的八大原因及解决方案详解
  • iOS 上架 uni-app 流程全解析,从打包到发布的完整实践
  • Hostol Magento电商服务器套餐:基于阿里云,预配置高性能环境,一键开店
  • CouponHub项目开发记录-基于责任链来进行创建优惠券模板的参数验证
  • Vue+Echarts饼图深度美化指南:打造卓越数据可视化体验
  • 【串口助手】串口调试助手LTSerialTool v3.12.0发布
  • 打靶日记-SQLi-LABS(二)
  • LeetCode 3132.找出与数组相加的整数2
  • 金融行业数智化转型:如何用企业微信AI实现高效内部协作与外部服务?
  • MCP(Model Context Protocol)介绍
  • 【54页PPT】基于DeepSeek的数据治理技术(附下载方式)