时序图 订阅
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。 展开全文
时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。
信息
外文名
Sequence Diagram
别    称
序列图或循序图
坐标轴
纵轴显示时间,横轴显示对象
种    类
UML行为图
中文名
时序图
组成元素
角色对象生命线激活期和消息
时序图简介
时序图中包括如下元素:角色,对象,生命线,控制焦点和消息。1、角色(Actor)系统角色,可以是人或者其他系统,子系统。2、对象(Object)对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表 类角色。对象一般包含以下三种命名方式:第一种方式包含对象名和类名。第二种方式只显示类名不显示对象名,即为一个匿名对象。第三种方式只显示对象名不显示类名。3、生命线(Lifeline) 生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。4、控制焦点(Activation)控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。 5、消息(Message)消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。 时序图描述对象是如何交互的,并且将重点放在消息序列上。也就是说,描述消息是如何在对象间发送和接收的。时序图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示对象。每一个对象的表示方法是:矩形框中写有对象和 / 或类名,且名字下面有下划线;同时有一条纵向的虚线表示对象在序列中的执行情况(即发送和接收的消息对象的活动) , 这条虚线称为对象的生命线。对象间的通信用对象的生命线之间的水平的消息线来表示,消息线的箭头说明消息的类型,如同步,异步或简单。 浏览时序图的方法是,从上到下查看对象间交换的消息,分析那些随着时间的流逝而发生的消息交换。时序图中的消息可以是信号、操作调用或类似于C++ 中的RPC( Remote Procedure Call,远程过程调用)或Java中的RMI( Remote Method Invocation ,远程方法调用)。当对象接收到一个消息时,该对象中的一项活动就会启动,我们把这一过程称做激活 ( Activation )。 激活会显示控制焦点,表明对象在某一个时间点开始执行。一个被激活的对象或者是执行它自身的代码,或者是等待另一个对象的返回(该被激活的对象已经向另一个对象发送了消息)。在图形上,激活被绘制为对象生命线上的一个瘦高矩形。消息可以用消息名及参数来标识。消息还可带有条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。消息也可以有顺序号,但是在时序图中,消息的顺序号很少使用,因为时序图已经将消息的顺序显式地表示出来了。一个对象可以通过发送消息来创建另一个对象,当一个对象被删除或自我删除时,该对象用 "X"标识。1、确定交互过程的上下文;2、识别参与过程的交互对象;3、为每个对象设置生命线;4、从初始消息开始,依次画出随后消息;5、考虑消息的嵌套,标示消息发生时的时间点,则采用FOC(focus of control);6、说明时间约束的地点。
收起全文
精华内容
下载资源
问答
  • 时序图

    千次阅读 2020-12-15 14:26:32
    一、时序图简介(Brief introduction) 时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。 顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。 时序图中包括的建模...

    一、时序图简介(Brief introduction)

           时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。

          顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。

    时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

    二、时序图元素(Sequence Diagram Elements)

      角色(Actor)

       系统角色,可以是人、及其甚至其他的系统或者子系统。

      对象(Object)

      对象包括三种命名方式:

      第一种方式包括对象名和类名;用“对象:类”表示

      第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;用“:类”表示

      第三种方式只显示对象名不显示类名 用“对象”表示

    对象的排列顺序不重要,但是为了作图清晰易懂,应该遵循以下准则:

    c1.交互频繁的对象尽可能的靠拢
    c2.把初始化整个交互活动的对象放在最左边

    生命线(Lifeline)

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

    控制焦点(Focus of Control)

      控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示,如下图。

    消息(Message)

      消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:

    同步消息=调用消息(Synchronous Message

      消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。 

      异步消息(Asynchronous Message

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

      返回消息(Return Message

      返回消息表示从过程调用返回

    自关联消息(Self-Message)

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

    Combined Fragments

    7.组合片段

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

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

    (2)选项(Opt)
    包含一个可能发生或不发生的序列;

    (3)循环(Loop)
    片段重复一定次数,可以在临界中指示片段重复的条件。

    (4)并行(Par)

    实例:

    三、时序图实例分析(Sequece Diagram Example Analysis)

      时序图场景

    完成课程创建功能,主要流程有:

    1、请求添加课程页面,填写课程表单,点击【create】按钮

    2、添加课程信息到数据库

    3、向课程对象追加主题信息

    4、为课程指派教师

    5、完成课程创建功能

    时序图实例

    时序图实例分析

    1、序号1.0-1.3 完成页面的初始化

    2、序号1.4-1.5 课程管理员填充课程表单

    3、序号1.6-1.7 课程管理员点击【Create】按钮,并响应点击事件

    4、序号1.8     Service层创建课程

    5、序号1.9-1.10 添加课程到数据库,并返回课程编号CourseId

    6、序号1.11-1.12 添加课程主题到数据库,并返回主题编号topicId

    7、序号1.13         给课程指派教师

    8、序号1.14         向界面抛创建课程成功与否的消息

    四、总结(Summary)

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

    https://blog.csdn.net/fly_zxy/article/details/80911942

    展开全文
  • UML时序图(Sequence Diagram)学习笔记

    万次阅读 多人点赞 2018-07-04 14:37:25
    什么是时序图时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。时序图的元素我们在画时序图时会涉及7种元素:角色(Actor)、对象...

    什么是时序图

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

    让我们来看一看visio2016对时序图的的解释。


    时序图的元素

    我们在画时序图时会涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。其中前6种是比较常用和重要的元素,剩余的一种组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,在单独介绍组合片段元素。

    角色(Actor)

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

    对象(Object)

    对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
        1 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。
        2 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
        3 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。

    生命线(LifeLine)

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

    控制焦点(Activation)

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

    消息(Message)

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

    自关联消息

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

    认识时序图六种元素

    我们来使用Visio2016来画一个用户打开微信扫描二维码支付流程时序图,通过这个时序图来认识刚刚介绍的6种时序图元素。


    时序图解释
    1,用户输入手机密码
    2,打开手机
    3,打开微信扫一扫
    4,返回微信扫一扫界面
    5.1 扫描商家收款码
    5.2 商家生成收款二维码
    5.3 返回收款二维码
    5.4 识别商家收款码
    6,提示用户输入微信支付密码
    7.1 输入微信支付密码
    7.2 微信验证用户输入密码正确
    7.3 向商家汇款

    7.4 汇款成功
    8,提示用户支付成功

    组合片段

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



    常用组合片段举例

        抉择(Alt)

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

    我们还拿微信支付的时序图举例,如果7.3向商家汇款的成功或失败流程需要在时序图中体现出来,可以这么使用Alt片段组合。


    选项(Opt)

    包含一个可能发生或不发生的序列。Opt相当于if..语句。

    循环(Loop)

    片段重复一定次数,可以在临界中指示片段重复的条件。Loop相当于for语句。


    并行(Par)

    并行处理,片段中的事件可以并行交错。Par相当于多线程。


    时序图的绘制工具

    画时序图的工具有很多,但是个人只用过微软visio工具,感觉很好用,可以满足需要。

    时序图的绘制步骤

    时序图的绘制步骤可以总结为:

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

        所谓划清边界是是指要确定好绘制时序图的范围。在微信支付例子中省略列商家打开微信、输入收款金额等交互消息,这些不是我们需要体现的,我们主要体现的是用户的扫码支付流程。

        所谓识别交互语境就是要知道自己绘制时序图的前提和背景。在微信支付的例子中用户登录了微信、开通了支付功能是前提,背景是用户需要扫描付款买东西。

    2,梳理时序图中的角色和对象都有哪些

        微信支付的例子中角色只有一个,即用户。对象有华为手机:手机、安卓版微信:微信、:商家。

    3,对象之间有哪些交互消息 

        对象之间交互的消息详见以上时序图。

    时序图的绘制技巧

    时序图的绘制技巧:

    1,从初始消息开始画,依次画出随后消息,并给每个消息分配序号,方便理解。

    2,角色和对象用名词,消息用动词。

    3,角色放在时序图的开始位置,对象重要程度或使用频率从左到右排列。这就要根据时间的流程考虑了,是一个比较主观的事情。


    4,控制焦点两端要以消息元素封顶,控制焦点不要超过消息元素。

    正确示范


    错误示范


    最后的技巧就是多联系绘制时序图,熟能生巧,自然而然就会画了。

    练习事例

    用户登录系统时序图


    参考资料

    https://baike.baidu.com/item/%E6%97%B6%E5%BA%8F%E5%9B%BE/3659178?fr=aladdin

    http://baijiahao.baidu.com/s?id=1561926824533534&wfr=spider&for=pc



    展开全文
  • UML图绘制-----时序图的画法

    万次阅读 多人点赞 2019-04-25 09:52:19
    UML图绘制-----时序图的画法 1.什么是时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序 主要用来更直观的表现各个对象交互的时间顺序,将体现的重点放在以时间为参照,各个对象发送、接收...

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

    1.什么是时序图

      时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序

    主要用来更直观的表现各个对象交互的时间顺序,将体现的重点放在 以时间为参照,各个对象发送、接收消息,处理消息,返回消息的 时间流程顺序,也称为时序图。

    又名序列图、循序图、顺序图,是一种UML交互图

    2.时序图的作用:

    确认和丰富一个使用情境的逻辑。

    3.时序图的构成:

    1对象: 时序图中对象使用矩形表示, 并且 将对象名称下有下划线.对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.

    也可以是系统角色,可以是人或者其他系统,子系统

     

     

    2生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线.

    3消息: 两个对象之间的单路通信. 从发送方指向接收方

            同步消息=调用消息Synchronous Message):消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

     

           异步消息(Asynchronous Message):消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的

     

          返回消息(Return Message):返回消息表示从过程调用返回

     

          自关联消息: 表示方法的自身调用以及一个对象内的一个方法调用另外一个方法

    4激活钝化:

    激活表示该对象被占用以完成某个任务. 钝化对象处于空闲状态, 等待消息. 在 UML 中, 对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期.

     

    5对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.

    6.推荐在线UML作图工具

    https://www.processon.com/

     

    等待继续更新

    自关联消息

    组合

    替换组合

    其他

     

     

     

     

     

     

    展开全文
  • 时序图(SequenceDiagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象...
  • 什么是时序图时序图(Sequence Diagram),又名序列图、循序图、顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中...

    什么是时序图

    时序图(Sequence Diagram),又名序列图、循序图、顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

    教你如何看懂时序图

    操作时序永远使用是任何一片IC芯片的最主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事情,要充分做好的第一件事就是要把它的器件手册上有用的内容提取,掌握。介于中国目前的芯片设计能力有限,所以大部分的器件都是外国几个IC巨头比如TI、AT、MAXIM这些公司生产的,器件资料自然也是英文的多,所以,英文的基础要在阅读这些数据手册时得到提高哦。即便有中文翻译版本,还是建议看英文原版,看不懂时不妨再参考中文版,这样比较利于提高。

    我们首先来看1602的引脚定义,1602的引脚是很整齐的SIP单列直插封装,所以器件手册只给出了引脚的功能数据表:

    我们只需要关注以下几个管脚:3脚:VL,液晶显示偏压信号,用于调整LCD1602的显示对比度,一般会外接电位器用以调整偏压信号,注意此脚电压为0时可以得到最强的对比度。

    4脚:RS,数据/命令选择端,当此脚为高电平时,可以对1602进行数据字节的传输操作,而此脚为低电平时,则是进行命令字节的传输操作。命令字节,即是用来对LCD1602的一些工作方式作设置的字节;数据字节,即使用以在1602上显示的字节。值得一提的是,LCD1602的数据是8位的。

    5脚:R/W,读写选择端。当此脚为高电平可对LCD1602进行读数据操作,反之进行写数据操作。笔者认为,此脚其实用处不大,直接接地永久置为低电平也不会影响其正常工作。但是尚未经过复杂系统验证,保留此意见。

    6脚:E,使能信号,其实是LCD1602的数据控制时钟信号,利用该信号的上升沿实现对LCD1602的数据传输。

    7~14脚:8位并行数据口,使得对LCD1602的数据读写大为方便。

    现在来看LCD1602的操作时序:

    在此,我们可以先不读出它的数据的状态或者数据本身。所以只需要看两个写时序:

    ① 当我们要写指令字,设置LCD1602的工作方式时:需要把RS置为低电平,RW置为低电平,然后将数据送到数据口D0~D7,最后E引脚一个高脉冲将数据写入。

    ② 当我们要写入数据字,在1602上实现显示时:需要把RS置为高电平,RW置为低电平,然后将数据送到数据口D0~D7,最后E引脚一个高脉冲将数据写入。

    发现了么,写指令和写数据,差别仅仅在于RS的电平不一样而已。以下是LCD1602的时序图:

    大家要慢慢学会看时序图,要知道操作一个器件的精华便蕴藏在其中,看懂看准了时序,你操控这个芯片就是非常容易的事了。1602的时序是我见过的一个最简单的时序:

    1、注意时间轴,如果没有标明(其实大部分也都是不标明的),那么从左往右的方向为时间正向轴,即时间在增长。2、上图框出并注明了看懂此图的一些常识:

    (1)。时序图最左边一般是某一根引脚的标识,表示此行图线体现该引脚的变化,上图分别标明了RS、R/W、E、DB0~DB7四类引脚的时序变化。

    (2)。有线交叉状的部分,表示电平在变化,如上所标注。

    (3)。应该比较容易理解,如上图右上角所示,两条平行线分别对应高低电平,也正好吻合(2)中电平变化的说法。

    (4)。上图下,密封的菱形部分,注意要密封,表示数据有效,Valid Data这个词也显示了这点。

    3、需要十分严重注意的是,时序图里各个引脚的电平变化,基于的时间轴是一致的。一定要严格按照时间轴的增长方向来精确地观察时序图。要让器件严格的遵守时序图的变化。在类似于18B20这样的单总线器件对此要求尤为严格。

    4、以上几点,并不是LCD1602的时序图所特有的,绝大部分的时序图都遵循着这样的一般规则,所以大家要慢慢的习惯于这样的规则。

    也许你还注意到了上面有许多关于时间的标注,这也是个十分重要的信息,这些时间的标注表明了某些状态所要维持的最短或最长时间。因为器件的工作速度也是有限的,一般都跟不上主控芯片的速度,所以它们直接之间要有时序配合。话说现在各种处理器的主频也是疯狂增长,日后搞不好出现个双核单片机也不一定就是梦话。下面是时序参数表:

    大家要懂得估计主控芯片的指令时间,可以在官方数据手册上查到MCU的一些级别参数。比如我们现在用AVR M16做为主控芯片,外部12MHz晶振,指令周期就是一个时钟周期为(2/12MHz)s,所以至少确定了它执行一条指令的时间是us级别的。我们看到,以上给的时间参数全部是ns级别的,所以即便我们在程序里不加延时程序,也应该可以很好的配合LCD1602的时序要求了。怎么看这个表呢?很简单,我们在时序图里可以找到TR1,对应时序参数表,可以查到这个是E上升沿/下降沿时间,最大值为25ns,表示E引脚上的电平变化,必须在最大为25ns之内的时间完成。大家看是不是这个意思?

    现在我来解读我对这个时序图的理解:

    当要写命令字节的时候,时间由左往右,RS变为低电平,R/W变为低电平,注意看是RS的状态先变化完成。然后这时,DB0~DB7上数据进入有效阶段,接着E引脚有一个整脉冲的跳变,接着要维持时间最小值为tpw=400ns的E脉冲宽度。然后E引脚负跳变,RS电平变化,R/W电平变化。这样便是一个完整的LCD1602写命令的时序。

    打开APP阅读更多精彩内容

    点击阅读全文

    展开全文
  • 原标题:快速学习时序图:时序图简介、画法及实例时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中。下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做了更...
  • 时序图讲义

    2018-02-23 15:38:03
    时序图讲解 第八章 时序图(顺序图) (sequence diagram)
  • 时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中。下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做了更深入的讲解。一、什么是时序图时序图(Sequence ...
  • EDA的时序图

    2021-01-19 22:58:01
    时序图用图形的方式来表示一个设计实体的输入信号和输出信号之间的时序关系,它应描述各种输入信号可能出现的各种情形以及对应的输出信号所处的状态。从时序图上,我们可以看出各输入信号的种类,作用的先后,上升或...
  • UML—时序图

    2021-01-07 21:07:05
    时序图 描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图 时序图包括了4个元素:对象(Object),生命线(Lifeline),激活(Activation),消息(Message) 1.对象 对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,972
精华内容 5,188
关键字:

时序图