UML 图解:顺序图( sequence diagram )

您所在的位置:网站首页 ea如何画时序图 UML 图解:顺序图( sequence diagram )

UML 图解:顺序图( sequence diagram )

2023-03-29 05:36| 来源: 网络整理| 查看: 265

为什么需要顺序图建模

我们描述过程一般有2种方式:

1. 按照时间顺序,把活动编排顺序,这就是活动图。参见:活动图

2. 列出对象,按照时间的顺序,描述各个对象的交互,这就是交互图。

而顺序图属于交互图的一种(除此之外,还有:通信图、交互概览图、时间图,参见:UML概览)。描述活动的过程,大家一般想到的是活动图,为什么还需要顺序图呢?

这是因为只是描述过程,而不知道过程的各个活动由谁负责,这样的过程是无法执行的。所以,必须把过程分解为多个角色/类/模块的职责。类的关系和职责的描述用类图(参见:类图),而活动图和类图是完全不同的视角,这就需要一个以对象交互视角描述活动过程的图。

请看下面2个图例的对比:

 

下面是引入了顺序图的分析设计方法:

 

可见,借助顺序图,我们可以把活动清晰的分解为对象的交互,然后在定义类图,这样每个行为都有了负责者,这无论是对业务流程分析还是软件流程分析都是关键的一环:

业务流程的交互分析可以让每个业务工作有人负责。 软件流程的交互分析可以让每个软件功能有模块负责。

顺序图有什么

任何UML图都有语义、元素、关系和用途,下面对顺序图做个列表描述:

语义 描述几个对象随时间顺序而进行的交互 元素 对象 (object) ,生命线(lifeline),端点(endpoint),图的门口(diagram gate),状态(state) 关系 对象之间的消息(message),分为同步调用(call)、异步消息(message)和自身消息(self message) 用途 可以描述业务对象之间的交互,用户和系统的交互,也可以描述系统对象之间的交互。

 

图例:贪吃蛇游戏的顺序图

为了让读者看的更形象,采用图例的方式介绍顺序图的用法,下面是贪吃蛇游戏的顺序图:

顺序图说明:

对象交互而不是类交互,因为对象才能在时间上存在,才具有生命。 按照时间上下位置编排消息的先后次序 顺序图的交互过程是不可逆的,因为时间是流逝的、历史不可以重来。

对象的说明:

对象一般是属于某个类的,一个顺序图上可以具有同类的多个对象。 对象最好具有名字,这样我们才能区分同类的多个对象。 分配过程到对象交互的过程,就是职责分配的过程,这会造就类的职责(参见:类图); 职责分配的原则是:高内聚、低耦合,这样的关系简单清晰、互相影响小、执行效率高。

消息的说明:

消息一定是被对象发出或者接收的,所以消息也是有存在时长的; 消息不能超越对象的生命周期。 交互消息的存在3种: 同步消息: 发出消息的对象,会等待接收消息的对象的响应,有了响应后才继续Next。 异步消息:发消息的对象,发出消息后就继续做自己的事情,不等待接收消息的对象的响应。 自身消息:对象发给自己的消息,也就是执行自己的职责。

 

顺序图的要素说明:

如下是顺序图中的对象的说明字典:

 序号  对象  说明  1.  player1:Player  游戏的对象,可以启动游戏,控制蛇的方向。  2.  Timer1:Timer  定时器的对象,可以产生时钟心跳,驱动蛇爬动。  3.  map1:Map  地图的对象,可以被打开,上面有一个食物对象和一个蛇对象。  4.  snake1:Snake  蛇的对象,被地图创建,可以爬动,还可以吃食物。  5.  Food1:Food  食物的对象,可以被地图创建,也可以被蛇吃掉。

说明:本文的模型采用建模工具EA建模。

UML图解系列:

1.UML概览 2.用例图 3.活动图 4.类图 5.对象图 6.顺序图

 

后记

希望您读了此文后有所受益。

如果您有经验乐于分享,欢迎投稿给我们。

如果您对我们的培训、咨询和工具感兴趣:

课程:基于UML和EA进行分析设计   课程:MBSE(基于模型的系统工程)   课程:基于模型的需求管理)方法与实践 课程:基于SysML和EA进行系统设计与建模   课程:企业架构建模 课程:系统架构建模方法与案例 课程:领域驱动的建模与设计 课程:基于模型的设计 课程:业务建模与业务分析 建模工具:EA 基于模型的需求管理工具:iSpace 咨询方案:MBSE(基于模型的系统工程) 咨询方案:基于UML的模型驱动的开发


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3