全面认识UML时序图
本文和大家重点讨论一下UML时序图,UML时序图是一种强调消息时序的交互图,他由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focusofcontrol)组成。
1.UML时序图简介
时序图(SequenceDiagram)是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换。时序图是一个模型,用于描述对象组如何随着时间在某些行为方面进行协作。
时序图是一种强调消息时序的交互图,他由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focusofcontrol)组成。在UML中,对象表示为一个矩形,其中对象名称标有下划线;消息在时序图中由有标记的箭头表示;生命线由虚线表示,控制焦点由薄薄的矩形表示。
时序图将交互关系表示为一个二维图,纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色的活动用生命线表示。当对象存在时,生命线用一条纵线虚线表示,当对象的过程处于激活状态时,生命线是一个双通道。消息用从一个对象的生命线到另一个对象生命线的箭头表示,箭头以时间顺序在图中从上到下排列。
2.设计UML时序图时的通用准则
◆尽力保持消息的顺序从左到右排列
◆将分类器分层
◆避免建模对象Destruction
◆分类器的原则
◆消息的原则
◆直接创建对象
◆为参数占位符说明类型
◆类的消息实现为静态操作
◆返回值的原则
当返回值非常明显时就不要对返回值建模,返回值的显示是使用带返回值标记的虚线箭头,返回值是可选的。
◆为返回值占位符注明类型
◆明确地为简单值标明实际值
3.UML时序图的用途
◆当不同的类之间存在多个简短的方法时,描述控制流的整体序列。
◆显示并发进程和激活。
◆显示在协作图中难以描述的时间序列。
◆显示涉及类交互而与对象无关的一般形式。
动态模型描述了系统随时间变化的行为,这教学些行为是用从静态视图中抽取的系统的瞬间值的变化来描述的,在UML的表现上,动态模型主要是建立系统的交互图和行为图。
交互图包括时序图和协作图,行为图则包括状态图和活动图
时序图(SequenceDiagram)用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。
4.UML时序图元素
时序图中包括如下元素:类角色,生命线,激活期和消息
1,类角色(ClassRole)
类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。类角色一般代表实际的对象
2,生命线(Lifeline)
生命线代表UML时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。
3,激活期(Activation)
激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容