【转】[完全免费] 在线UML Sequence Diagram 时序图工具 - 教程第3部分

时序图教程

甲序列图描述了一组对象之间的相互作用参与协作(或情况),布置成按时间顺序; 它通过它们的“生命线”和它们发送给对方的消息来显示参与交互的对象。

序列图例如:ATM


什么是UML中的序列图?

UML序列图是详细说明如何执行操作的交互图。由于序列图可用于捕获协作环境中对象之间的交互,因此序列图的主要用途之一就是从用例所表达的需求过渡到下一个更正式的精化级别。用例通常被细化为一个或多个序列图。

序列图是时间焦点,它们通过使用图的垂直轴来可视化地显示交互的顺序,以表示什么消息被发送以及何时发送。

序列图捕获不同粒度级别的交互:

  1. 系统用户与系统之间,系统与其他系统之间或子系统之间的高级别交互(有时称为系统顺序图)
  2. 在实现用例或操作的协作中发生的交互(实例图或通用图)
  3. 表示对象在(Model,View / Controller)MVC模式中交互的软件框架

尝试一下!

查找在线序列图工具?只需点击下面的绘图按钮即可在线创建序列图。Visual Paradigm Online是免费*且直观的。在开始之前,您也可以通过此序列图教程了解序列图。

现在画


序列图符号

生命线

生命线代表互动中的个人参与者。

UML序列图

演员

演员一种与主体交互的实体所扮演的角色类型(例如,通过交换信号和数据)。演员也可以是主体的外部(即,演员的实例不是其相应主体的实例的一部分)。它们通常代表人类用户,外部硬件或其他主题扮演的角色。

UML序列图:Actor示例

注意:

  1. 演员并不一定代表一个特定的物理实体,而只是某个实体的特殊角色
  2. 一个人可以扮演几个不同的角色,相反,一个给定的演员可以由多个不同的人扮演。

激活

激活由生命线上的薄矩形表示)表示元素正在执行操作的时段。矩形的顶部和底部分别与开始时间和完成时间对齐

UML序列图:激活示例

消息

通话信息

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

UML序列图:呼叫消息示例

返回消息

返回消息定义了交互的生命线之间的特定通信,该通信表示将信息传递给对应的先前消息的调用者。

UML序列图:返回消息示例

自我信息

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

UML序列图:自我信息示例

递归消息

递归消息定义了交互的生命线之间的特定通信,它表示对同一生命线的消息的调用。它是激活消息被调用的激活之上的目标点。

UML序列图:递归消息示例

创建消息

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

UML序列图:创建消息示例

销毁消息

摧毁消息定义了交互的生命线之间的特定通信,这代表了摧毁目标生命线生命周期的请求。

UML序列图:销毁消息示例

时间消息

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

UML序列图:持续时间消息示例

注意

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

UML序列图:注意示例


何时绘制序列图?

  1. 模拟系统中活动对象之间的高级交互
  2. 在实现用例的协作中对对象实例之间的交互进行建模
  3. 对实现操作的协作中的对象之间的交互进行建模
  4. 无论是对泛型交互进行建模(显示通过交互的所有可能路径)或交互的特定实例(仅显示通过交互的一条路径)

如何绘制序列图?

  1. 确定将参与一般协作(或用例场景)的一组对象
    1. 如果您根据用例的场景推导序列图,请首先选择正常场景
    2. 您应该知道激活用例的主要角色
  2. 考虑场景的第一点(或者如果从用例事件流的第一个点开始)
  3. 考虑当系统将消息发送给系统时,系统需要做些什么才能响应该角色
    1. 系统返回消息响应之前需要处理哪些系统?
    2. 例如,一位顾客将ATM卡插入机器,系统将在正常情况下显示“输入PIN码”,对吗?
    3. 猜猜,ADM内部由系统“后面”的一组对象处理什么?类似的,读取并验证ATM卡(读卡器),读取持卡人(银行)的卡信息并询问密码,或者返回“无效卡类型,插入另一张卡”等。
    4. 通过这种方式,您将识别该特定场景的目标应用程序的候选对象和操作,并且还可以使用这些信息作为基础来逐步推导类图。
  4. 重复场景中的每一点(或事件流),直到完成场景中的所有点。

你也可以:

  1. 为例外或替代方案绘制一组相应的序列图。

序列图示例

下面的序列图示例显示了预订座位时用户和订票系统之间的交互。它主要由四部分组成:角色,用户,边界对象'接口',控制器对象'mainController'和两个实体对象的路由和路由。

 

下面的序列图示例显示了患者入院过程。它显示了使用时间和持续时间的限制。

序列图示例 - 医院病床分配

序列图示例显示如何在交互建模中使用递归消息。

序列图示例:对象创建和删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】[完全免费] 在线UML Class Diagram 类图工具 - 教程第1部分

在线Visual Paradigm - UML编辑器 使用在线UML编辑器轻松绘制UML图,其中包含功能强大的UML编辑工具,即时UML语法检查和整洁的用户界面。Visual Paradigm在线UML 图,如类,用例,序列,活动,部署&a…

python 定时器_python 线程之四:定时器(Timer),非阻塞

线程之一讲了线程,如果不熟悉,可以点击【线程之一:线程的创建、启动及运行方式】1、定时器实质:Timer 定时器源码实现,和我们自定义一个线程方式一样,都是继承了 Thread 类,重写了 run() 方法&a…

人如何认知事物?

自然界是连续的,人类将自然界离散化成一个个独立的概念,独立的概念相互关联,形成模型,随着模型的完善,模型会不断逼近真实事物。 比如人类创造了各种学科,就是从不同的方面深入研究世界的结果。 所以&…

域内定位个人PC的三种方式(1)

会话搜集 在cmd下调用query session命令可以获得当前环境下的windows会话 NetSessionEnum 这个函数不允许直接查询是谁登陆,但是它允许查询是谁在访问此工作站的网络资源时所创建的网络会话,从而知道来自何处,此函数不需要高权限即可查询 第…

02.Teams组成概述及使用分享

在上一篇博客中介绍了Teams的前世今生,大家对Teams已经有了一个初步的认识,但是如上一篇文章中所说Teams是一个集成度很高的云协作平台,具体应该怎么去有效的利用起来呢?接下来这篇博客给大家全方位的分享一下Teams的组成部分以及…

【Qt】解决GDAL直接读取数据到QImage导致图像歪斜的问题

QRect intersect_rect; .... QImage img(intersect_rect.size(), QImage::Format_RGB888); uchar *pImageData (unsigned char *)img.constBits(); int img_width intersect_rect.width(); int img_height intersect_rect.height();// QImage每行是按照sizeof(int)对齐的&am…

高斯课堂数电讲义笔记_【法考经验贴】40岁三战主观题127分!他的笔记学习法助他逆袭!...

这位学员在考证界算是“高龄学员”,高分过关依赖于他的努力和正确的学习方法;本文中他有重点介绍自己是如何做笔记的,非常值得大家学习借鉴!一、个人概况:三战法考我正值不惑之年,是一名在职基层人民警察&a…

【转】持续交付和DevOps的前世今生

作者/分享人:乔梁,20年IT老兵,腾讯公司高级管理顾问,敏捷和精益开发专家,持续交付领域先行者。曾就职于百度,国内多个知名互联网公司的企业教练。 历年QCon技术大会的讲师和专题出品人。 这是一个新概念风起…

关联规则挖掘算法_基于Apriori关联规则的协同过滤算法

Apriori 算法apriori关联规则算法的原理设计较为简单,著名的“啤酒和尿布”说的就是Apriori算法,通俗来讲apriori旨在寻找频繁项集,以帮助商家将消费者有可能一起搭配购买的物品放置在同一个地方,提高消费者的购物效率和良好的购物…

【转】RabbitMQ六种队列模式-1.简单队列模式

前言 RabbitMQ六种队列模式-简单队列 [本文]RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 在官网的教程中,描述了如上六类工作队列模式: 简单队列模式:最简单的…

【转】RabbitMQ六种队列模式-2.工作队列模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列 [本文]RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 上文我们了解了 RabbitMQ 六种队列模式中的简单队列,代码也是非常的简单,比较容易…

redis 哨兵模式 cluster模式区别_Redis哨兵(Sentinel)模式快速入门

当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。 所以更多时候,我们优先考虑哨兵(sentinel) 模式。Redis sentinel是Redis高可用实现方案&#xff…

IOS开发入门笔记

IB:IB是指Interface Builder,如IBAction,IBOutlet。IBOutlet和IBAction是什么?IBOutlet:中文翻译应该是:插座,连接点(书上写的是出口)。autorelease相当于Qt中的deleteLa…

【转】RabbitMQ六种队列模式-3.发布订阅模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅 [本文]RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 上文的工作队列模式是直接在生产者与消费者里声明好一个队列,这种情况下消息只会对应同类型的…

组建一个局域网一般会用到哪些设备_路由器和交换机的区别是什么?在实际使用中有哪些不同...

电工之家:www.dgzj.com QQ群:2179090关注电工之家官方微信公众号“电工之家”,收获更多经验知识。其实关于路由器和交换机确实有很多人容易混淆,包括猫MOdem,我最初就认为猫就是路由器,现在回想起来真的傻…

【转】RabbitMQ六种队列模式-4.路由模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式 [本文]RabbitMQ六种队列模式-主题模式 本文带大家了解 RabbitMQ 队列模式中的路由模式。 其实只要看过上篇发布模式后,相信路由模式…

百度二年级手工机器人_让父母少弯腰的家务神器——追觅扫拖机器人慧目F9评测...

大家好,我是CC。父母都已过了花甲之年,退休在家本应是享清福的时候,为了照顾双上班族的我,平时承担了接儿子放学和给我蹭晚餐的任务,操劳不少。眼看着他们一点点老去,总想也为他们做点什么,所以…

【转】RabbitMQ六种队列模式-5.主题模式

前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 [本文] 从前面的几篇我们依次经历了 exchange 模式从 fanout > direct 的转变过程,在 fanout 时&a…

javase哪部分最难_高中物理哪部分最难?这里有答案和方法!一定要收藏

高中物理最难的部分是什么?对于大多数同学来说,电粒子在电磁场中的运动、动力学分析以及电学实验比较难搞定,看看下面的方法,希望对你有所帮助。从应试而言,应是带电粒子在电磁场中的运动(力,运动轨迹,几何…