UML时序图,安卓开发框架

Posted yiqicsgo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML时序图,安卓开发框架相关的知识,希望对你有一定的参考价值。

8、时序图和协作图是可以相互转化的,只要按F5就可以轻松转化。

————————————————————————————————————————————————————————

中央控制序列图

分布控制序列图

范例:[自调用、调用、创建、销毁、自销毁、同步、异步消息]

循环与条件:[loop 、alt、 opt、 guard警戒]

——————————————————————————————————————

一. 时序图 (Sequence Diagram)


1.时序图的概念

时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图;

时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触发事件;

时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.

时序图轨迹 : 时序图提供了随时间推移的, 清晰的 可视化的轨迹;

2. 时序图组成

时序图组成 : 时序图包括四个元素 对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);

(1) 对象(Object)

对象 : 时序图中的对象在交互中扮演的角色就是对象;

对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线;

对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建;

– 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;

– 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的;

(2) 生命线(Lifeline)

生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线;

生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间;

对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标 以及 对象下面的生命线图标 如上图;

(3) 激活(Activation)

激活(Activation) : 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 中的内容, 表示该对象被占用以完成某个任务;

去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;

激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条;

激活去激活的时机 :

– 激活 : 对象激活是在激活条的顶部激活;

– 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线;

(4) 消息

消息概念 : 定义 交互 和 协作 中 交换信息 的类, 对 对象之间的 通信内容 建模;

消息动作 :

– 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过 发送 和 接收 消息 进行通信;

– 产生结果 : 消息可以触发操作, 唤起信号, 或使目标对象创建 或 销毁;

消息的异步和同步通信 :

– 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的 命名的 对象间的异步通信;

– 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信;

时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;

消息类型 :

–  : 两个对象间绘制消息;

–  : 两个对象之间的过程调用;

– : 两个对象之间的异步消息;

尾声

开发是需要一定的基础的,我是08年开始进入android这行的,在这期间经历了Android的鼎盛时期,和所谓的Android”凉了“。中间当然也有着,不可说的心酸,看着身边朋友,同事一个个转前端,换行业,其实当时我的心也有过犹豫,但是我还是坚持下来了,这次的疫情就是一个好的机会,大浪淘沙,优胜劣汰。再等等,说不定下一个黄金浪潮就被你等到了。

这是我在这行工作10几年积累的一些资料,如果还想继续在这行业走下去的,或者现在打算跳槽,可以**私信【学习】**我愿意把资料免费分享给大家。
或者直接点击下面链接领取
Android学习PDF+架构视频+面试文档+源码笔记

  • 330页 PDF Android核心笔记

  • 几十套阿里 、字节跳动、腾讯、华为、美团等公司2020年的面试题

  • PDF和思维脑图,包含知识脉络 + 诸多细节

  • Android进阶系统学习视频
    、华为、美团等公司2020年的面试题**

[外链图片转存中…(img-CYSouj3t-1646559005380)]

[外链图片转存中…(img-ePOyPFao-1646559005380)]

  • PDF和思维脑图,包含知识脉络 + 诸多细节

[外链图片转存中…(img-48zE3BjE-1646559005381)]

  • Android进阶系统学习视频

聊聊UML(10)交互图-时序图


 

1

 

今天想要来聊聊时序图。

时序图也称顺序图,Sequence Diagram。

BA其实用的不是很多,但是开发在做详设的时候基本上都会用到。

 

不知道大家是否记得我之前讲的,根据目的的不同,在使用UML建模的时候可以抽象到不同的层级。

对于BA来说,掌握UML建模的关键是通过UML实现现实世界的模型抽象。


所以,对于时序图,我们首先需要可以看得懂,这样才能理解开发的设计与我们的业务解决方案是否理解一致。

更高的要求就是可以将现实世界也就是业务通过时序图抽象表达出来。


2


 


时序图用来确定对象职责和接口,强调消息事件的发生顺序,更方便于阐述事件流的过程,但是很难表达对象之间的关系。

——大象Thinking in UML


 

接下来,我们来看看时序图的一些重要定义。

 

The most common kind of Interaction Diagram is the Sequence Diagram, which focuses on the Message interchange between a number of Lifelines.

——UML2.5

从官方给出的定义来看,时序图主要强调的是消息在对象生命线之间的传递和交互。

聊聊UML(10)交互图-时序图


下面这段官方的描述更加具体了。

A sequence diagram describes an Interaction by focusing on the sequence of Messages that are exchanged, along with their corresponding OccurrenceSpecifications on the Lifelines.

——UML 2.5

 

3

 

 

聊聊UML(10)交互图-时序图

时序图有四个主要元素:对象,生命线,消息,和激活。

 

对象

这个在之前的“聊聊UML(2)”就说过了,这里的对象表示参与交互的对象。

 

聊聊UML(10)交互图-时序图

 

生命周期线

每个对象都有一条生命周期线,对象被激活(创建或者被引用)的时候,生命周期线上会出现一个长条(会话),表示对象的存在。

聊聊UML(10)交互图-时序图


 

消息

消息是由一个对象的生命周期线指向另一个对象或自身的生命周期线。

消息分成4种。

聊聊UML(10)交互图-时序图


简单消息

不强调消息的类型,仅仅表示一个交互。

我们在不强调消息的其他特殊用途和作用时,用这个就够了。


 

返回消息

不是创建一条新的消息,而是源消息的返回体。

在实际应用的过程中,除非强调返回消息,否则不会进行特别的标识。

 

同步消息

发出消息的对象暂停后续动作,一直等到接收消息方响应。

同步消息非常常用。

例如,我们双击一个图标,要等应用程序打开后才会进行下一步操作。

 

限时消息

属于同步消息的一种特殊情况,在等待响应的过程中,可以规定一个等待时间,如果超过则执行后续操作。

比如,我们访问一个网站,在2分钟后仍然连接不成功,则会告知你“无法访问”。

 

异步消息

在发出消息后,不用等待响应,可以继续执行其他操作。

 

销毁

销毁绘制在生命周期线上,表示生命周期的终结。


一般来说,也是在特别强调的时候才会绘制。

 

4

 

什么时候用

在任何时候需要表达对象之间的交互时,或者想分析一下对象的职责和接口的时候都可以使用时序图。

尤其是在进行设计的时候,所以我们会发现,程序猿GG使用时序图的频率会远高于BA。


一般来说,时序图是不会拿给业务用户进行读图的,因为对象这个概念本身比较抽象。

所以如果要读图的话,还是使用活动图比较符合业务习惯和理解。


 


小婧是一名行走在实践路上的资深业务分析师(BA),如果想与我同行,就请关注我吧!




以上是关于UML时序图,安卓开发框架的主要内容,如果未能解决你的问题,请参考以下文章

UML建模之 - 类图&时序图

使用Astah制作UML时序图

UML建模——使用EA工具开发时序图实践及经验

UML类图和时序图

UML用例图

UML 用例图,时序图,活动图的定义以及区别