快速学习时序图:时序图简介、画法及实例

时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中。下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做了更深入的讲解。


时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中。下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做了更深入的讲解。

快速学习时序图:时序图简介、画法及实例

一、 什么是时序图?

时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。

二、 时序图的作用是什么?

1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;

2、相对于其他UML图,时序图更强调交互的时间顺序;

3、可以直观的描述并发进程。

三、 组成元素有哪些?

1. 角色(Actor)

系统角色,可以是人、机器、其他系统、子系统;在时序图中用快速学习时序图:时序图简介、画法及实例表示。

2. 对象(Object)

(1)对象的三种命名方式

  • 第一种方式包括对象名和类名,例如:直播课时:课时,在时序图中,用“对象:类”表示;
  • 第二种方式只显示类名,即表示它是一个匿名对象,例如: :课程;在时序图中,用“:类”表示;
  • 第三种方式只显示对象名不显示类名,例如:讲师;在时序图中,用“对象”表示。

(2)命名方式的选择

三种命名方式均可,哪种最容易让阅读该时序图的人理解,就选择哪种。

(3)对象的排列顺序

对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:把交互频繁的对象尽可能的靠拢;2.把初始化整个交互活动的对象放置在最左端。

3. 生命线(Lifeline)

在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。

4. 控制焦点(Focus of Control)

又称为激活期,表示时间段的符号,在这个时间段内对象将执行相应的操作。它可以被理解成C语言语义中一对花括号{ }中的内容;用小矩形表示。

5. 消息(Message)

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。

  • 消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义;
  • 消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
  • 返回消息表示从过程调用返回。

6. 自关联消息

表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。

7. 组合片段

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

快速学习时序图:时序图简介、画法及实例

快速学习时序图:时序图简介、画法及实例

常用组合片段举例:

用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..

(1)抉择(Alt)

抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。

快速学习时序图:时序图简介、画法及实例

(2)选项(Opt)

包含一个可能发生或不发生的序列;

快速学习时序图:时序图简介、画法及实例

(3)循环(Loop)

片段重复一定次数,可以在临界中指示片段重复的条件。

快速学习时序图:时序图简介、画法及实例

(4)并行(Par)

快速学习时序图:时序图简介、画法及实例

四、 时序图的绘制工具

时序图的绘制工具有VISO、Rational Rose、StarUML、Web Sequence Diagrams、Timing Designer、Trufun Plato等,可任选其一。

五、 时序图的画法及实例

时序图的绘制步骤可简单总结如下:

  1. 划清边界,识别交互的语境;
  2. 将所要绘制的交互场景中的角色以及对象梳理出来;
  3. 从触发整个交互的某个消息开始,在生命线之间从上到下依次画出所有消息,并注明每个消息的特性(如参数等)。

接下来,我们按照上面所讲的时序图的绘制步骤,以学生在教务系统中查询其课程的成绩为例,来讲解时序图的绘制方法。

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

所谓划清边界,就是要界定好自己所要画的时序图的范围,“学生在教务系统中查询其课程的成绩”就是所要绘制的时序图的交互内容,不用往上延伸到用户登录,也不要往下延伸到下载成绩单。

识别交互的语境,即是读懂所要画的时序图的前提和背景。比如本例中,既然学生可以查询成绩,那么该学生肯定已经注册并认证过其身份,并可选择其所考试的课程查询相应成绩。

2、梳理角色和对象

在本例中,角色有学生,对象有教务系统、课程、成绩。

对象的梳理是一个相对主观的过程,比如本例中,课程以及成绩分别作为了对象存在,也可以合并为数据库这一个对象。

请注意:角色以及对象,都为名词,动词不可作为角色和对象,如“成绩查询”不可作为对象。

快速学习时序图:时序图简介、画法及实例

3、添加消息

学生的登录验证作为本时序图的前置行为,可直接引用到本时序图中,也可忽略不画;学生进入成绩查询页面后,页面会加载本学生的成绩查询课程列表,并显示出课程对应的成绩;

快速学习时序图:时序图简介、画法及实例

参考资料:

  1. 时序图-百度百科
  2. UML序列图总结 http://www.trufun.net/UML/UMLwendang/2016/0115/138.html
  3. UML系列-时序图 http://www.lupaworld.com/article-233409-1.html
  4. UML建模之时序http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html

 

本文由 @那只猫的鱼 原创发布于人人都是产品经理。未经许可,禁止转载。

原创文章,作者:Catherine,如若转载,请注明出处:https://www.iamue.com/23582/

(0)
CatherineCatherine
上一篇 2017-05-05 23:22
下一篇 2017-05-06 01:27

相关推荐

  • 谈谈(web)网页设计中的留白原理 – 2016版

    设计中存在很多关于留白的只是,零零散散在网上也看过很多,总感觉比较零散,自己根据自己的感觉,重新把留白的原理和一些技巧系统的归纳整理了以下,也对自己的一个提升。分享给大家。

    2017-05-28
  • 微交互的设计案例与思考(上篇)

    作为一名交互设计爱好者,在此抛砖引玉,用6类约30个案例供大家参考,本文先分享前面两部分,即为懒而做的设计和为等待而做的设计。

    2017-05-03
  • 扁平化2.0:扁平化设计以前从未有的6个设计风格

    时至今日,扁平化已不再是流行一时的设计风潮,而是一种美学风格。扁平化大胆的用色,简洁明快的界面风格一度让大家耳目一新,当它对元素效果抛弃的如此彻底之际,它又将效果捡起来,改装成另一番模样,使得扁平化进化为扁平化2.0。

    2017-05-24
  • All You Need To Know About Customer Journey Mapping

    “Stories have defined our world. They have been with us since the dawn of communication, from cave walls to the tall tales recounted around fires. They have continued to evolve, with their purpose re…

    2015-01-16
  • 现阶段用户体验最完美的混合动力 试驾新款比亚迪唐100

    以上汽车你体验过开一天车只花4元么?你体验过地板油加速无声无息么?你体验过用车供电吃电火锅开Party么?你体验过下大雨没带伞直接把车遥控过来么?你体验过车外雾霾爆表你却淡定自若么?你体验过下坡行驶续航里程却越来越多么?你体验过开个三月车却用不到100元油费么?今天这个车让我们知道到了答案!话说以前以上君并没有太关注过新能源车型,总感觉没有乐趣,但是真正开上贴近生活以后才发现插电混动是真的实用。YishangAuto第一眼看到唐100就...

    2018-04-07
  • 交互设计:如何设计更好用更舒适的触控手势?

    引言:我们生活在一个人机互动频繁,由设备驱动的世界中。 随着触摸屏逐渐成为移动设备的标配,多点触控手势的广泛应用,让我们与手机、平板电脑甚至是笔记本电脑之间建立起了一种更宽广的联系方式。我们通过模…

    2017-08-04
  • 我总结的一套表单设计指南

    作者:jakd007(UXRen会员)   表单在移动端设计中最常见的界面,每个手机系统及应用对表单都有不同的设计,本文目标是总结出一套表单设计指南,以提高日后工作效率。 表单在移动端设计中最常见的界面,每个手机系…

    交互专题 2017-08-07
  • 腾讯设计通道晋升的过程

    作者:干货君@干货札记   本人有幸能有机会作为通道助理观摩了腾讯2016年上半年D族交互通道晋升的过程,受益匪浅。 注:D族通道是指“Tencent Design腾讯设计通道”,设计通道成立于2006年,隶属于腾讯职业发展通道设…

    交互专题 2017-08-15
  • 【软件资源】Axure RP 8.0软件安装教程——附下载地址

    本次给大家提供Axure RP8.0软件破解版,整个破解过程非常简单。软件适合32,64位的操作系统,破解文件下载地址在文末,请查看!软件介绍:Axure RP是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理。安装步骤:1、选择下载的软件压缩包,鼠标右击选择解压...

    2018-03-24
  • 注意这十点,让你避免糟糕的设计

    本文是给初学者/门外汉的五分钟设计指南。好的设计原则对任何人来说都有用。这个指南会告诉你一些基础设计原则,立即就能用得上并分享给别人。我从不学习打鼓课程,从不学习吉他课程,我靠自己摸索。我认为倘若你真的对什么东西有所热诚,你就会有动力,你就会集中注意力,你可以做任何你想做的事情。
    ——Dave Grohl,喷火战机乐队

    2017-04-30