UML-时序图
时序图的概念
时序图定义:描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图。
时序图描述的事物:时序图描述系统中类和类之间的交互,将这些交互建模成消息交换,时序图描述了类以及类之间的交换以完成的期望行为的消息,时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件。
时序图表示:参与交互的对象在时序图顶端水平排列,每个对象的底端绘制了一条垂直虚线,对象A像对象B发送消息,用一条带箭头的实线表示,该实线起始于对象A底部的虚线,终止于对象B底部的虚线;实线箭头水平放置,越靠近顶端越早被发送。
时序图轨迹:时序图提供了随时间推移的,清晰的可视化的轨迹。
时序图组成
时序图组成:时序图包括四个元素,对象(Object),生命线(Lifeline),激活(Activation),消息(Message)。
对象(Object)
对象:时序图中的对象在交互中扮演的角色就是对象。
对象的符号:使用矩形将对象名称包含起来,并且对象名称下有下划线。
对象创建时机:对象可以在交互开始的时候创建,也可以在交互过程中进行创建。
- 处于顶部:如果对象的位置在时序图顶部,说明在交互开始的时候对象就已经存在了。
- 不在顶部: 如果对象的位置不在顶部,那么对象在交互过程中创建的。
生命线(Lifeline)
生命线:生命线是一条垂直的虚线,这条虚线表示对象的存在,在时序图中,每个对象的底部都有生命线。
生命线作用:生命线是一个时间线,从时序图顶部一直到底部都存在,其长度取决于交互的时间。
对象的生命线:对象与生命线结合在一起就是对象的生命线,这个概念包含对象图标以及对象下面的生命线图标如上图。
激活(Activation)
激活(Activation):代表时序图中对象执行一项操作的时期,激活期可以理解为语义中 {} 中的内容,表示该对象被占用以完成某个任务。
去激活(Deactivation):指对象处于空闲状态,在等待消息激活这个对象。
激活的表示:当对象处于激活时期,生命线可以拓宽为矩形,这个矩形条成为激活条。
激活:对象激活是在激活条的顶部激活。
去激活:激活条的底部去激活,通常发生在一个消息离开对象生命线。
消息(Message)
消息概念:定义交互和协作中交换信息的类,对对象之间的通信内容建模。
消息动作:
- 动作种类:消息允许在实体间传递信息(传递参数),允许实体请求其它服务,对象之间通过发送和接收消息进行通信。
- 产生结果: 消息可以触发操作,唤起信号,或使目标对象创建或销毁。
消息的异步通信和同步通信:
- 异步通信:消息是信号的时候,发送信号之后,等待对方触发相应方法,这是明确的命名的对象间的异步通信。
- 同步通信:直接调用对象的方法,执行方法返回结果,这种具有返回控制机制的操作是同步通信。
时序图和协作图中消息的区别:时序图中的消息强调顺序,协作图中的消息强调交换消息的对象间的关系。
消息类型 :
: 两个对象间绘制消息。
:两个对象之间的过程调用。
:两个对象之间的异步消息。
:过程调用中返回的消息。
:绘制反身消息。
示例
示例简介:
- 使用场景:汽车租赁公司
- 使用的对象
- Customer(客户)
- Worker(工作人员)
- Order(请求)
- Record(记录)
- Car(汽车)
- 工作流程
- 客户向工人提出租车要求
- 工人检查请求
- 客户付款
- 工人填写记录
- 工人取车
时序图:
转载于【UML 建模】UML入门 之 交互图 – 时序图 协作图详解,作者:万境绝尘