UML—行为图

行为图分为活动图和状态图。

活动图

什么是活动图?

活动图:描述一个过程或操作的工作步骤,用于展现参与行为的类的活动或动作。从本质上说就是流程图,但是它和流程图有一定的区别。

活动图和流程图的区别

(1)流程图着重描述处理过程,各个处理过程之间有严格的顺序和时间关系;而活动图着重表现系统在某段时间内的行为,描述的是对象活动顺序所遵循的规则。
  可以这么理解:流程图比活动图要更加严密,因为流程图明确规定了各动作之间的顺序关系,而活动图只是描述了在满足某些条件之后,系统接下来需要做哪些事情,做完这些事情之后,又需要做另外的事情,是以几件事情为单位的。

UML—行为图_第1张图片

  比如上图中,大概可以分为三步:进入考场、进入考场需要做的事以及做完这些事之后开始答题。对于检查证件、发考卷、对号入座就没有规定这三种活动的顺序;如果是流程图整个事件的顺序就是:进入考场->检查证件->对号入座->发考卷->开始答题。
(2)活动图可以表示并发活动的情形,而流程图不能。
(3)活动图是面向对象的,流程图是面向过程的。

活动图的基本要素
基本要素 表示方法
动作状态 这里写图片描述
分支与合并 这里写图片描述
分叉与汇合 这里写图片描述
初态 are neat (一个)
终态 这里写图片描述(一个或多个)
泳道

泳道:对于活动图中的活动进行分组,描述对象之间的合作关系。
我的理解就是:哪一个动作由哪个对象来执行,可以按照角色来分类。

什么时候使用活动图?

1.描述一个并行的过程或行为时
2.详细设计时,描述一个算法的时候
3.描述一个跨越多个用例的活动的时候

示例

UML—行为图_第2张图片

状态图

状态图:描述一个具体对象的可能状态以及它们之间的转换。
 状态机:一个对象或一个交互在生命期内响应事件所经历的状态序列,是展示状态与状态转换的图。比如状态图就是一个状态机。

活动图和状态图的区别

1.活动图强调有几个对象参与的活动过程建模,而状态图更强调对单个对象建模。
2.活动图表示一个事件处理流程中涉及的活动,侧重行为的动作;而状态图表示状态的变迁,侧重行为的结果。

我自己的理解:状态图表示从某个状态转换到其他状态,忽略其中的具体操作过程;而活动图正是对状态之间转换的具体描述,描述了其中的每一步操作过程。
我认为这两种图就是互补的,状态图表示了结果,活动图表示了过程;活动图是对状态图的补充。

状态图示例—卡的状态

UML—行为图_第3张图片
本人总结多有疏漏不足之处,希望大家多多指正~

你可能感兴趣的:(UML)