全面认识UML动态模型图

开发 架构
你对UML动态模型图是否熟悉,UML动态模型时指系统随时间变化的行为,行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。

本文和大家重点讨论一下UML动态模型图,动态模型图主要包括交互图和行为图,交互图又分为时序图和协作图,行为图又分为状态图和活动图。

UML动态模型图

动态模型时指系统随时间变化的行为,行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。
从UML的表现上,UML动态模型图主要是:

交互图和行为图

交互图又分为:
时序图
协作图

行为图又分为:
状态图
活动图

下面详细读解各类图:

时序图

UML动态模型图中时序图(SequenceDiagram)用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。
时序图主要包括如下元素:

类角色,生命线,激活期,消息

1,类角色(ClassRole)

类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。类角色一般代表实际的对象

2,生命线(Lifeline)

生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。

3,激活期(Activation)

激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容

4,消息(Message)

消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信

协作图

协作图(CollaborationDiagram)是UML动态模型图的另一种表现形式,它强调参加交互的各对象的组织。协作图只对相互间有交互作用的对象和这些对象间的关系建模,而忽略了其他对象和关联。协作图可以被视为对象图的扩展,但它除了展现出对象间的关联外,还显示了对象间的消息传递。
协作图中包括如下元素:类角色,关联角色和消息流

1,类角色(ClassRole)

类角色代表协作图中对象在交互中所扮演的角色。在协作图中矩形中的对象代表类角色,类角色的代表参与交互的对象,它的命名方式和对象的命名方式一样

2,关联角色(AssociationRole)

关联角色代表协作图中连接在交互中所扮演的角色。协作图中连线代表着关联角色

3,消息流(MessageFlow)

消息流代表协作图中对象间通过链接发送的消息。协作图中类角色之间的箭头表明在对象间交换的消息流,消息由一个对象发出由消息所指向的对象接收。链接用于传输或实现消息的传递。消息流上标有消息的序列号和类角色间发送的消息,一条消息会触发接受对象中的一项操作

状态图

UML动态模型图中状态图是表现一个系统或一个组件可能存在的状态
状态图用业显示一个对象的状态序列,使对象达到这些状态的事件和条件,以及在此过程中所做的操作。
图通常包括如下内容

1,状态

状态定义对象在其生命周期中的条件或状况,在此期间,对象满足某些条件,执行某些操作或等待某些事件。状态用于对实体在其生命中状况建模

2,转换

转换包括事件和动作。事件是发生在时间空间上的一点值得注意的事情,动作是原子性的。它通常表示一个简短的计算处理过程。
在UML中,图形上每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始。还有一个终止状态(半实心圆),用来表示状态机的终止。其它的状态用一个圆角的矩形表示。转换表示状态间可能的路径,用箭头表示,事件写在由它们触发引起的转换上。

活动图

UML动态模型图中活动图是一种表述过程基理,业务过程以及工作流的技术。它所起到的作用与流程图类似,但是,与流程图不同的是,活动图支持并行行为。活动图可看作是状态图的特例或者扩展。而活动图除表述对象状态外,更注更对象的活动
整个过程用黑实心圆表示开始,用黑白黑心圆表示终止,用圆角矩形表示活动。分支以及分支结束时的合并merge在图中用菱形表示。解以及分解结束时的线程结合join在图中用粗黑线表示

UML动态视图比较

UML的动态视图包括交互图,状态图和活动图,它们的区别是:
1,状态图是为一个对象的生命期间的情况建立模型
2,交互图(时序图和协作图)表示若干个对象在一起工作完成某项服务
3,活动图描述活动的序列,建立活动间控制流的模型
 

【编辑推荐】

  1. 实例解析UML用例建模应用
  2. 全面认识九种基本的UML模型图
  3. 绘制UML图时应避免的六大问题
  4. UML部署图绘制及应用说明
  5. 九步实现UML包图创建

 

 

责任编辑:佚名 来源: sina.com.cn
相关推荐

2010-07-02 12:39:38

UML对象图

2010-07-01 17:43:23

UML包图

2010-07-12 13:47:09

UML部署图

2010-07-01 16:02:48

UML组件图

2010-07-01 15:12:34

UML时序图

2010-07-02 10:17:45

UML模型图

2010-07-01 12:53:34

UML用例图

2010-07-01 11:33:17

UML类图关系

2010-07-05 16:07:15

UML图设计模式

2010-07-09 16:30:31

UML状态图

2010-07-09 15:19:58

UML类图建模

2010-07-05 17:58:41

UML活动图

2010-07-12 09:18:36

UML模型图

2010-06-28 16:37:05

UML类图

2010-07-07 09:34:06

UML用户指南

2010-07-02 14:16:42

UML

2010-07-07 14:43:19

UML协作图

2010-06-30 13:53:28

UML建模过程

2010-07-07 10:35:40

UML软件建模

2010-06-28 16:27:03

UML类图元素
点赞
收藏

51CTO技术栈公众号