画过UML活动图的都知道,在活动图中有个action和activity。乍一看,这两个元素差不多,但是实质上两者还是有区别的。
Activity
活动状态用于表达状态机中的非原子的运行,其特点如下:
(1)活动状态可以分解成其他子活动或者动作状态。
(2)活动状态的内部活动可以用另一个活动图来表示。
(3)和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。
(4)动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态。
在EA中它的图标表示是这样的
Action
动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。动作状态有如下特点:
(1)动作状态是原子的,它是构造活动图的最小单位。
(2)动作状态是不可中断的。
(3)动作状态是瞬时的行为。
(4)动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。
(5)动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
(6)在一张活动图中,动作状态允许多处出现
在EA中它的图标表示是这样的
所以说着两个元素还是有差别的,具体在实际中的应用还应根据它俩的性质做出最合适的选择应用。