UML Sequence Diagrams是交互图,详细说明了如何执行操作。它们捕获协作环境中对象之间的交互。序列图是时间焦点,它们通过使用图表的垂直轴来直观地显示交互的顺序,以表示消息的发送时间和时间。

序列图捕获:

  • 在实现用例或操作的协作中发生的交互(实例图或通用图)
  • 系统用户与系统之间,系统与其他系统之间或子系统之间的高级交互(有时称为系统序列图)

学习UML更快,更好,更容易

您是否正在寻找一种免费的UML工具来更快,更轻松,更快速地学习UML?Visual Paradigm Community Edition是一个支持所有UML图类型的UML软件。它是一款屡获殊荣的国际UML建模师,但它易于使用,直观且完全免费。

免费下载

序列图的目的

  • 模拟系统中活动对象之间的高级交互
  • 对实现用例的协作中的对象实例之间的交互建模
  • 对实现操作的协作中的对象之间的交互建模
  • 模拟通用交互(显示通过交互的所有可能路径)或交互的特定实例(仅显示交互中的一条路径)

序列图一览

序列图显示元素随着时间的推移而相互作用,它们根据对象(水平)和时间(垂直)组织:

对象维度

  • 横轴表示交互中涉及的元素
  • 传统上,操作中涉及的对象根据它们何时参与消息序列从左到右列出。但是,横轴上的元素可以按任何顺序出现

时间维度

  • 纵轴表示页面下的时间进程(或进展)。

注意:

序列图中的时间都是关于排序的,而不是持续时间。交互图中的垂直空间与交互持续时间无关。

序列图示例:酒店系统

序列图是一个交互图,详细说明了如何执行操作 - 发送什么消息以及何时发送消息。序列图根据时间进行组织。当你走下页面时,时间会进行。操作中涉及的对象根据它们何时参与消息序列从左到右列出。

以下是进行酒店预订的序列图。启动消息序列的对象是预留窗口。

注意:类和对象图是静态模型视图。交互图是动态的。它们描述了对象如何协作。

序列图表示法

符号说明

视觉表现

参与者

  • 与主体交互的实体所扮演的一种角色(例如,通过交换信号和数据)
  • 在主体外部(即,在某个意义上,参与者的实例不是其相应主题的实例的一部分)。
  • 表示人类用户,外部硬件或其他主题所扮演的角色。

注意:

  • 参与者不一定代表特定的物理实体,而仅仅代表某个实体的特定角色
  • 一个人可以扮演几个不同参与者的角色,相反,一个参与者可以由多个不同的人演奏。

生命线

  • 生命线代表交互中的个体参与者。

激活

  • 生命线上的细长矩形表示元素执行操作的时间段。
  • 矩形的顶部和底部分别与启动和完成时间对齐

来电留言

  • 消息定义了交互的生命线之间的特定通信。
  • 呼叫消息是一种表示目标生命线操作调用的消息。

返回消息

  • 消息定义了交互的生命线之间的特定通信。
  • 返回消息是一种消息,表示将信息传递回相应的前消息的调用者。

自我消息

  • 消息定义了交互的生命线之间的特定通信。
  • 自我消息是一种表示同一生命线的消息调用的消息。

递归消息

  • 消息定义了交互的生命线之间的特定通信。
  • 递归消息是一种表示同一生命线的消息调用的消息。它的目标指向在调用消息的激活之上进行激活。

创建消息

  • 消息定义了交互的生命线之间的特定通信。
  • 创建消息是一种表示(目标)生命线实例化的消息。

消灭消息

  • 消息定义了交互的生命线之间的特定通信。
  • 销毁消息是一种消息,表示破坏目标生命线生命周期的请求。

持续时间消息

  • 消息定义了交互的生命线之间的特定通信。
  • 持续时间消息显示消息调用的两个时间点之间的距离。

注意

注释(注释)使得能够将各种备注附加到元素。注释不带语义力,但可能包含对建模者有用的信息。

消息和控制焦点

  • 事件是发生事情的交互中的任何一点。
  • 控制重点:也称为执行发生,执行发生
  • 它在生命线上显示为高而薄的矩形)
  • 它表示元素执行操作的时间段。矩形的顶部和底部分别与启动和完成时间对齐。

序列片段

  • UML 2.0引入了序列(或交互)片段。序列片段可以更轻松地创建和维护准确的序列图
  • 序列片段表示为一个框,称为组合片段,它包含序列图中的一部分相互作用
  • 片段运算符(在左上角的短号)表示片段的类型
  • 片段类型:ref,assert,loop,break,alt,opt,neg

操作符号

片段类型

ALT

备用多个片段:只执行条件为真的片段。

选择

可选:仅当提供的条件为真时才执行片段。相当于只有一条迹线的alt。

平价

并行:每个片段并行运行。

循环:片段可以执行多次,并且防护指示迭代的基础。

区域

关键区域:片段只能有一个线程一次执行它。

NEG

否定:片段显示无效的交互。

REF

参考:指在另一个图上定义的交互。绘制框架以覆盖交互中涉及的生命线。您可以定义参数和返回值。

SD

序列图:用于包围整个序列图。

注意:

  • 可以组合帧以捕获例如循环或分支。
  • 组合片段关键字:alt,opt,break,par,seq,strict,neg,critical,ignore,consideration,assert和loop。
  • 约束通常用于显示消息的时序约束。它们可以应用于一条消息的时间或消息之间的间隔。

组合片段示例

用例场景建模的序列图

用户需求被捕获为精简为方案的用例。用例是外部参与者与系统之间交互的集合。在UML中,用例是:

“系统(或实体)可以执行的一系列动作(包括变体)的规范,与系统的参与者进行交互。”

场景是通过用例的一个路径或流程,该用例描述在系统的一个特定执行期间发生的事件序列,其通常由序列图表示。

序列图 - 代码前的模型

序列图可能有点接近代码级别,那么为什么不编码该算法而不是将其绘制为序列图?

  • 一个好的序列图仍然比实际代码的水平高一点
  • 序列图是语言中立的
  • 非编码人员可以做序列图
  • 作为一个团队,更容易做序列图
  • 可用于测试和/或UX线框图

寻找一个好的和免费的UML工具来创建序列图?

Visual Paradigm Online 是你的选择,它提供:

免费序列图示例和模板可在在线序列图软件中编辑:Visual Paradigm Online。使用模板作为起点来创建自己的序列图。

对象创建和删除

时间限制(医院病床分配)

预订座位

简单的ATM

银行报价

下订单

循环片段

替代组合片段

打破沟通片段

LoopAndBreakSyntax

Using MVC Stereotypes with Conditional Statement

Selection and Loops in a Combination

Make a Phone Call

Appointment

Buy Tickets

MVC Framework

Hotel Reservation


要获得完整的UML建模功能,您可以免费使用Visual Paradight Community Edition,也可以在商业版中使用更高级的建模功能。

获取Visual Paradigm Community Edition,一个免费的UML建模工具,并使用免费的序列图工具创建自己的序列图。它易于使用且直观。

免费下载

相关链接

  1. 什么是统一建模语言?
  2. 专业的UML图工具

UML序列图 - 示例总汇相关推荐

  1. 描述时序的好帮手——UML序列图

    一.UML序列图的定义 UML是一种描述上下文不同对象之间,通信.操作.执行细节的序列图.它以时间为基础,并在纵轴上标注发送.接收信息的结点与内容,从而直观地显示对象交互的顺序. UML序列图可用于表 ...

  2. PowerDesigner建立UML序列图

    UML序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一 ...

  3. [ 利器篇 ] - 快速画一张UML序列图

    最近几个项目组的团队进行沟通,有APP交付组的,也有嵌入式设备的交付组,还有云端开发的交付组.几个组一起实现一个涉及APP / Device / Cloud 功能开发,开完讨论会之后,如何用一张图画出 ...

  4. UML设计java程序_利用UML序列图设计Java应用程序详解

    [IT168 技术文章] Java应用程序由许多类所构成,是Java实现面向对象应用程序的核心.类图主要描述Java应用程序中各种类之间的相互静态关系,如类的继承.抽象.接口以及各种关联.要利用UML ...

  5. 【软件工程】UML序列图

    一.概述 序列图(时序图)是一种软件工程行化建模方法,用于可视化系统或应用程序中多个对象之间 的交互.在序列图中,每个对象都表示为竖直线,对象之间的消息则表示为水平箭头 从一个对象指向另一个对象. 序 ...

  6. visio2013-软件UML序列图01

    Visio2013绘制软件UML序列图 绘图形状选择 1. 图形选择 2. 子图说明                 对象:序列图中的对象是类的实例,它可以是系统的参与者或者任何有效的系统对象:    ...

  7. 软件工程里的UML序列图的概念和总结

    俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现-- 时序图也叫序列图(交互图),属于软件 ...

  8. 23种设计模式【全】 包含:模式定义 使用场景 实现步骤 优缺点 模式区别 UML类图 示例代码 注意项等

    23种设计模式(全) ***项目地址***:[GitHub](https://github.com/yjhroot/design-pattern) 声明 模式分类(3大类) 创建型模式(共5种) 结构 ...

  9. 用visio画UML序列图

    2019独角兽企业重金招聘Python工程师标准>>> 今天尝试使用visio画了一个序列图. 话不多说,先打开visio,新建一个UML序列. 先新建几个对象生命线 加入几个激活 ...

最新文章

  1. rabbitmq 查询版本_基于rabbitmq解决分布式事务
  2. mysql100个优化技巧_MySQL 调优/优化的 100 个建议
  3. 【分块】#6277. 数列分块入门 1(区间修改、单点查询)
  4. 网络人的未来分享讲义_酒品看人品,未来酱分享饮酒识人技巧!谁是你值得深交的人?...
  5. Python 中文文本分词(包含标点的移除)
  6. [PHP] 网络与协议
  7. FPGA基础知识之主要的FPGA生产厂商介绍
  8. 9种排序算法 3_希尔排序
  9. VS2010平台下VAssistX和Qt的整合配置及相关便捷操作
  10. linux进程调度时间片算法,进程调度算法–时间片轮转调度算法
  11. python中pow_Python中float的内置pow()和math.pow()之间的区别?
  12. 2019哪里可以进行高层次人才扶持政策申报?
  13. 简单实用的电脑桌面待办清单应用
  14. 有趣的设计模式——微信公众号中蕴藏的观察者模式
  15. 小重山 2022年4月22日
  16. C语言实现数据结构之归并排序
  17. 时间复杂度和空间复杂度及多道例题讲解
  18. 软件的成本与定价如何决策?PMP软件开发规模估算和成本估算方法详解
  19. AVA时空检测数据集下载—AVA_ActionsAVA_Kinetics
  20. 各省简称[转载----作为常识存储]

热门文章

  1. 怎么样做好自己的服务器防御
  2. 价值240万的photoshop中文教程
  3. Camx架构开UMD、KMD log以及dump图的方式
  4. 荷兰Ajax清洁剂,生活指南 | 那些年我在荷兰超市踩过的坑
  5. PI数据库实际应用心得
  6. 隧道、地铁人员定位系统
  7. html里面的好看的动画效果
  8. SqlZoo错题整理
  9. 选择武大国重,我后悔过吗?
  10. 阅读 | 《上下五千年》学习笔记