本文和大家重点讨论一下UML时序图问题,UML时序图描述对象是如何交互的,并且将重点放在消息序列上,并且UML时序图中包括如下元素,类角色,生命线,激活期和消息。具体内容请看本文详细介绍。
UML时序图
时序图(SequenceDiagram)用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。
UML时序图描述对象是如何交互的,并且将重点放在消息序列上。也就是说,描述消息是如何在对象间发送和接收的。时序图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示对象。每一个对象的表示方法是:矩形框中写有对象或类名,且名字下面有下划线;同时有一条纵向的虚线表示对象在序列中的执行情况(即发送和接收的消息对象的活动),这条虚线称为对象的生命线。对象间的通信用对象的生命线之间的水平的消息线来表示,消息线的箭头说明消息的类型,如同步,异步或简单。浏览时序图的方法是,从上到下查看对象间交换的消息,分析那些随着时间的流逝而发生的消息交换。
UML时序图中包括如下元素,类角色,生命线,激活期和消息。
1、类角色(ClassRole)
类角色代表UML时序图中的对象在交互中所扮演的角色,位于时序图顶部。类角色一般代表实际的对象。
2、生命线(Lifeline)
生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。
3、激活期(Activation)
激活期代表uml时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。
4、消息(Message)
消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。
UML时序图中的消息可以是信号、操作调用或类似于C++中RPC(RemoteProcedureCall,远程过程调用)或Java中的RMI(RemoteMethodInvocation,远程方法调用)。当对象接收到一个消息时,该对象中的一项活动就会启动,我们把这一过程称做激活(Activation)。激活会显示控制焦点,表明对象在某一个时间点开始执行。一个被激活的对象或者是执行它自身的代码,或者是等待另一个对象的返回(该被激活的对象已经向另一个对象发送了消息)。在图形上,激活被绘制为对象生命线上的一个瘦高矩形。
消息可以用消息名及参数来标识。消息还可带有条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。消息也可以有顺序号,但是在时序图中,消息的顺序号很少使用,因为时序图已经将消息的顺序显式地表示出来了。
【编辑推荐】