时序图(Sequence Diagram),亦称为序列图或循序图,是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。via: wiki
简介
时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图
时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触发事件
时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送
时序图轨迹 : 时序图提供了随时间推移的, 清晰的 可视化的轨迹
时序图元素
时序图中包括的建模元素主要有:对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message)等等
对象
对象 : 时序图中的对象在交互中扮演的角色就是对象
对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线
对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建
- 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了
- 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的
生命线
生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线
生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间
对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标 以及 对象下面的生命线图标
激活
激活(Activation) : 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表示该对象被占用以完成某个任务
去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象
激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条
激活去激活的时机 :
- 激活 : 对象激活是在激活条的顶部激活
- 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线
消息
消息概念 : 定义 交互 和 协作 中 交换信息 的类, 对 对象之间的 通信内容 建模
消息动作 :
- 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过 发送 和 接收 消息 进行通信;
- 产生结果 : 消息可以触发操作, 唤起信号, 或使目标对象创建 或 销毁
消息的异步和同步通信 :
- 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的 命名的 对象间的异步通信
- 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信
时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系
参考
www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/3101.html
blog.csdn.net/shulianghan/article/details/17927131
design-patterns.readthedocs.org/zh_CN/latest/read_uml.html
本文由 Chakhsu Lau 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。