您的位置:主页 > 财经资讯 > 干货分享|看懂时序图,写程序也可以很简单_科技频道_东方资讯

干货分享|看懂时序图,写程序也可以很简单_科技频道_东方资讯

发布日期:2020-07-19 06:47   来源:未知   阅读:

看懂了时序图就别再喊难了,写程序也可以很轻松。

时序图在源代码梳理方面比流程图等一些图表更能有效地解决问题。时序图又可以叫做序列图或者循序图,是一种UML交互图它表达了对象之间传递信息的时间顺序,展现对象之间的动态合作。

使用场景

时序图的使用范围十分广泛,在很多行业之间都使用得非常频繁。在这里,作为一名老程序员,本文的主要讲述内容是一面列举一面阐述软件开发有关的场景相关的使用情景。

一般情况下,软件开发是为了支持特定的业务。当业务流程复杂且涉及多个角色时,我们就可以采用时序图来理清业务的内在思路。这使得业务看起来非常清晰,代码是按照它应该的样子编写的。

整理开源软件

如果要成为一个成熟的程序员,那理解源代码的能力必须要好。成熟一些的框架所采用的源代码调用都会比较深入,他们之间的调用关系也很繁琐。如何用时序图来整理框架中的对象关系就显得很重要。时序图的角色

在绘制时序图时会涉及7种元素:

角色

对象

生命线

控制焦点

消息

自关联消息

组合片段。

这里面,前面六种是一些常见的重要元素,最后的组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,再单独介绍组合片段元素。

1. 角色

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

2. 对象

对象处于时序图的顶部,用矩形来表示。对象的命名方式有这三种:

? 对象名和类名。

? 只显示类名,不显示对象,即为一个匿名类。

? 只显示对象名,不显示类名。

3. 生命线

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

4. 控制焦点

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

5. 消息

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

? 同步消息,消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示。

? 异步消息,消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线和大于号表示。

? 返回消息,返回消息代表从过程调用返回。以小于号和虚线表示。

6. 自关联消息

表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。

下面举例一个时序图的例子,看下上面几种元素具体的使用方式。

7. 组合片段

组合片段是用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,名称及含义如下:

组合名称组合含义ref引用其他地方定义的组合片段alt在一组行为中根据特定的条件来选择某个交互opt表示一个可选的行为break提供了和编程语言中的break类拟的机制par支持交互片段的并发执行seq强制交互按照特定的顺序执行strict明确定义了一组交互片段的执行顺序neg用来标志不应该发生的交互region标志在组合片段中先于其他交互片断发生的交互ignore明确定义了交互片段不应该响应的消息consider明确标志了应该被处理的消息assert标志了在交互片段中作为事件唯一的合法继续者的操作数loop说明交互片段会被重复执行。

组合片段的功能平常用得比较少,更全面一些的使用方式可以参考本文最后一段关于组合片段的part。

如果你喜欢这篇文章,就请转发点赞评论吧,在评论区等你。

------分隔线----------------------------

科技前沿 - 时尚新闻 - 法律在线 - 军事新闻 - 金融新闻 - 热透新闻 - 星声星语 - 体育新闻 - 社会新闻 - 大咖名流 -