目录

  • 一、什么是时序图?
  • 二、时序图的组成元素
    • 1、角色(Actor)
    • 2、对象(Object)
    • 3、生命线(LifeLine)
    • 4、激活期(Activation)
    • 5、消息(Message)
  • 三、时序图优质模板
    • 1、微信支付时序图
    • 2、时序图-登录
    • 3、验证码注册时序图
    • 4、店员-时序图
    • 5、sso登录时序图
    • 6、打印电子发票时序图
  • 四、时序图的画法
    • 1、划清边界,识别交互语境
    • 2、梳理角色和对象
    • 3、添加消息
  • 五、ProcessOn优点总结

Java程序员越来越卷,如何才能摆脱CRUD,在茫茫人海中脱颖而出,一方面,大家要有过硬的编程基础,另一方面,对UML图的掌握也很重要。如果编程基础是本手,那么高阶的UML图就是妙手。

今天,我们就来说一说其中一种重要的UML图:时序图。

时序图的使用场景非常广泛,几乎各行各业都可以使用,可以用于梳理业务流程,使业务看起来非常清晰,也可以梳理开源软件,梳理各个组件之间的关系,层次非常清楚,便于记忆,也可以使用在更多场景。

一、什么是时序图?

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作,包括发送消息、接收消息、处理消息、返回消息等。

时序图重在展示对象之间的交互顺序,尤其强调交互的时间顺序,它可以直观的描述并发进程。

二、时序图的组成元素

时序图的组成元素主要有5种:

1、角色(Actor)

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

2、对象(Object)

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

  1. 象名和类名。例如:华为手机:手机。
  2. 只显示类名,不显示对象,即为一个匿名对象。例如::手机,在时序图中,用“:类”表示。
  3. 只显示对象名,不显示类名。例如:华为手机:,在时序图中,用“对象:”表示。

3、生命线(LifeLine)

时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线),以一条垂直的虚线表示。对象间的消息存在于两条虚线间。

4、激活期(Activation)

又叫控制焦点,它代表时序图中在对象时间线上某段时期执行的操作,以一个很窄的矩形表示。

5、消息(Message)

表示对象之间发送的信息。消息分为三种类型。

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

三、时序图优质模板

1、微信支付时序图

2、时序图-登录

3、验证码注册时序图

4、店员-时序图

5、sso登录时序图

6、打印电子发票时序图

以上是在不同场景下程序员绘制时序图的案例,以上模板可以直接克隆使用,但授之以鱼不如授之以渔,接下来就为你分享时序图的绘制方法和绘制工具。

四、时序图的画法

时序图的绘制方法简单总结为以下3步:

1、划清边界,识别交互语境

即界定好自己所要画的时序图的范围,了解所要画的时序图的前提和背景。

比如“学生信息管理”就是所要绘制的时序图的交互内容,就不需要往上延伸到学生注册并认证身份,不需要用户登录,也不需要往下延伸到查询课表、资料下载等无关的内容上。

2、梳理角色和对象

在“学生信息管理时序图”中,角色有学生/教务用户,对象有教务主界面、学生信息界面、管理学生信息界面、数据库。
注意:角色和对象都是名词,动词不可以作为角色和对象。

3、添加消息

从触发整个交互的某个消息开始,在生命线之间从上到下依次画出所有消息,并注明每个消息的特性,如参数等。

如何绘制时序图?

ProcessOn——一款专业在线作图工具和知识分享社区,支持流程图、思维导图、原型图、网络拓扑图、UML等专业图形的绘制,无需下载安装,即可使用。

以下是使用ProcessOn绘制时序图的操作方法:

Step1:注册登录ProcessOn

Step2:进入个人文件页,新建流程图,添加UML图形到图形区

Step3:拖拽使用UML相关图形到编辑区

Step4:标注内容,添加消息即可

如果你想让自己的时序图更美观一些,可以把标题、矩形框等填充不同颜色、相同的图标尽可能大小相同(复用功能很好用哦)、上下图形保持对齐等哦。

五、ProcessOn优点总结

1.支持思维导图、流程图、原型图、时序图、架构图等十多种图形绘制。
2.无需下载安装,支持多端使用。
3.支持多人在线协作、修改文件。
4.可轻松实现资源共享和团队管理。
5.各行各业的海量优质模板可供使用。

ProcessOn:不忘初心,历9弥新

程序员进阶神器,ProcessOn绘制时序图相关推荐

  1. 机械动作时序图怎么画_程序员必备画图技能之——时序图

    什么是时序图 时序图(Sequence Diagram),又名序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 使用场景 时序图的使用场景非常广泛, ...

  2. java中怎样导入图片6_java程序员进阶篇之必须掌握的6张思维导图!

    原标题:java程序员进阶篇之必须掌握的6张思维导图! <java程序员的自我修养>的作者是MindMaster思维导图社区用户芒果,作者整理了一系列学习java程序的笔记,方便java程 ...

  3. 从Java程序员进阶为架构师,全套16张图概括最全技能!建议收藏!

    如何从程序员进阶到架构师?今天完整的把我积累的经验和技能分享给大家! 作者:陈睿|优知学院创始人 数据结构+算法=程序 数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及 ...

  4. 从Java程序员进阶架构师,必看的书单推荐!

    算法与数据结构: 数据结构(严蔚敏) java数据结构和算法(美:拉佛) 算法导论 大话数据结构 剑指Offer 程序员面试金典 编程珠玑 编程之美 程序员笔试面试最优解 数据结构与算法经典问题解析( ...

  5. 身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图!

    身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图! 一,UML类图示例图 二,UML类图图例 三,分步解析说明 3.1 类图: 3.2 接口: 3.3 实现继承 3.4 实现接口: 3. ...

  6. 程序员进阶之路 --- 如何超过大多数人?

    点击上方 "程序猿杂货铺" ,选择"置顶公众号" 每天 0 点准时推文,我们不见不散! 本文来源 | coolshell.cn 当你看到这篇文章的标题,你一定对 ...

  7. Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮、代码补全等...

    Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮.代码补全等-- 语法高亮.代码提示补全. ...

  8. Java程序员进阶架构师的五个阶段,你到了哪各阶段?

    之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些.有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用 ...

  9. UML图绘制-----时序图的画法

    UML图绘制-----时序图的画法 1.什么是时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序 主要用来更直观的表现各个对象交互的时间顺序,将体现的重点放在 以时间为参照,各个 ...

最新文章

  1. 孙宇晨大战Vitalik
  2. Delphi之面向对象的界面复用技术
  3. POE供电交换机技术分析及工作过程详解
  4. C#中静态构造函数的一些理解
  5. 【逆向工具】使用x64dbg+spy去除WinRAR5.40(64位)广告弹框
  6. leetcode938.RangeSumofBST
  7. 竞品分析:网易云音乐与QQ音乐
  8. 软考高项-质量管理论文范文
  9. AVI、 MPEG 、 DivX、 Indeo Video 常见的编码与常见的文件格式
  10. MYSQL 思考题5 参考答案
  11. 阿里巴巴正式宣布5.4亿现金战略投资中国万网
  12. 第11集丨Promise.reject
  13. 面向对象之魔术方法_call
  14. 正向/逆向最大匹配法分词实现
  15. 【MP】MybatisPlus教程
  16. Rust 错误处理 简记
  17. vue自定义点击空白隐藏其他标签
  18. jacob java excel_使用 Jacob 操作Excel、Word文件
  19. 巨简单又好用的pygame游戏暂停继续方法
  20. catalina.home和catalina.base

热门文章

  1. Eclipes和Myeclipse插件安装方法
  2. 彩虹6号 计算机服务设置,彩虹六号围攻各选项效果解析与设置建议 画面优化设置方法...
  3. ubuntu快捷键及Linux下一些主要目录
  4. SCRDet:Towards More Robust Detection for Small, Cluttered and Rotated Objects(摇杆旋转目标检测方法)
  5. 篮球英文术语翻译与解释 (以A至E为限)
  6. 微服务(一)--Common
  7. 如何批量提取过期域名,如何批量查询权重域名、收录域名
  8. 域名过期后能否抢注过期高外链域名?
  9. 微信公众号实现“一键关注”功能
  10. 手把手教你写CS231N作业一 KNN分类器 详细解析 作业源文件 数据集