在产品设计过程中,多模块交互的复杂业务逻辑,要想表达清楚是件不容易的事情。不,应该说,首先让自己考虑清楚各种情况本身就不容易。这个时候,时序图是一个非常好的工具。如果涉及多种应用场景的复杂情况,使用多个用户用例+对应时序图的方式可以轻松的让自己和其他人理解清楚。
之前苦于时序图没有方便的软件绘制工具,而习惯于在纸上手绘。缺点也是很明显的,不但画起来费劲,不美观,也不利于发给其他团队成员。目前发现最好的时序图绘画工具,居然是markdown书写软件中的时序图模块。比如马克飞象中的时序图功能,如下图。
时序图用写文字的方式来画图,貌似是一些程序员专用的产品,但其实不然。时序图不像其他图,其结构很固定,不同时序图的结构都大致一样,区别只在于流程和数据。而流程和数据是很容易用文字表示的。这种工具有如下优势:
- 语法简单,学习成本极低
- 绘制效率极高,熟练的话甚至能快过用笔手绘
- 几乎不用考虑排版,框大框小线长线短全自动
- 改图非常简单,不用考虑一般画图软件改图牵一发动全身的问题
常用的时序图语法:
位置顺序:
- 利用
participant
的先后顺序来表示模块左右顺序 - 利用语句的先后顺序来表示线条的上下顺序
连线类型:
-
->
实线箭头 -
-->
虚线箭头 -
->>
实线尖箭头 -
-->>
虚线尖箭头
注释位置:
-
Note left of
在左边 -
Note right of
在右边 -
Note over
在中间,如果需要横跨多个元素,则over首元素和尾元素
另外markdown也支持流程图的画图模块,但流程图并不适合此工具。稍微复杂一点的流程图,markdown画出来就不好看,应该借助专业画图软件更佳。那用什么专业画图软件呢?推荐:yEd。这是java做的一款跨平台画图软件(linux用户的福音),功能强大,支持大量快捷键操作。使用熟练的话,画起图来可以很快。
网友评论