UML建模——活动图(Activity Diagram)

活动图概述node

•活动图和交互图是UML中对系统动态方面建模的两种主要形式并发

•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流工具

•活动图是一种表述过程基理、业务过程以及工做流的技术。它能够用来对业务过程、工做流建模,也能够对用例实现甚至是程序实现来建模spa

•UML 2.0而言,去除了“活动图是状态图的一种特例”这一规定3d

【用途】活动图是UML用于对系统的动态行为建模的另外一种经常使用工具,它描述活动的顺序,展示从一个活动到另外一个活动的控制流。活动图在本质上是一种流程图。活动图着重表现从一个活动到另外一个活动的控制流,是内部处理驱动的流程。对象

 

1、活动图的组成元素 Activity Diagram Elementblog

一、活动状态图(Activity)——活动状态用于表达状态机中的非原子的运行事件

  活动状态图特色以下:事务

  (1)、活动状态能够分解成其余子活动或者动做状态。ci

  (2)、活动状态的内部活动能够用另外一个活动图来表示。

  (3)、和动做状态不一样,活动状态能够入口动做出口动做,也能够有内部转移

  (4)、动做状态是活动状态的一个特例,若是某个活动状态只包括一个动做,那么它就是一个动做状态

  UML中活动状态和动做状态的图标相同,可是活动状态能够在图标中给出入口动做和出口动做等信息

  【图形】平滑的圆角矩形

                          

二、动做状态(Actions)—— 动做状态是指原子的,不可中断的动做,并在此动做完成后经过完成转换转向另外一个状态。

  动做状态有以下特色:

  (1)、动做状态是原子的,它是构造活动图的最小单位

  (2)、动做状态是不可中断的。

  (3)、动做状态是瞬时的行为。

  (4)、动做状态能够有入转换,入转换既能够是动做流,也能够是对象流。动做状态至少有一条出转换,这条转换之内部的完成为起点,与外部事件无关

  (5)、动做状态与状态图中的状态不一样,它不能有入口动做和出口动做,更不能有内部转移

  (6)、在一张活动图中,动做状态容许多处出现。

  【图形】平滑的圆角矩形

                           

三、动做状态约束(Action Constraints)——动做状态约束:用来约束动做状态

  【图形】以下图展现了动做状态的前置条件和后置条件

                     

四、动做流(Control Flow)——动做之间的转换称之为动做流活动图的转换

  【图形】用带箭头的直线表示,箭头的方向指向转入的方向。

                    

5、开始节点(Initial Node)——活动开始节点
  【图形】实心黑色圆点

                   

6、终止节点(Final Node)——分为活动终止节点activity final nodes流程终止节点(flow final nodes

  (1)、活动终止节点表示整个活动的结束

  【图形】圆圈+内部实心黑色圆点

                               

  (2)、而流程终止节点表示是子流程的结束。

  【图形】圆圈+内部十字叉

                               

7、对象(Objects)

  【图形】矩形方框  

             

8、数据存储对象(DataStore) ——使用关键字«datastore»

   【图形】矩形方框,内含关键字

                               

9、对象流(Object Flows)——对象流是动做状态或者活动状态对象之间的依赖关系,表示动做使用对象或动做对对象的影响

  用活动图描述某个对象时,能够把涉及到的对象放置在活动图中并用一个依赖将其链接到进行建立、修改和撤销的动做状态或者活动状态上,对象的这种使用方法就构成了对象流。

  对象流中的对象有如下特色:

  (1)、一个对象能够由多个动做操做

  (2)、一个动做输出的对象能够做为另外一个动做输入的对象。

  (3)、在活动图中,同一个对象能够屡次出现,它的每一次出现表面该对象正处于对象生存期的不一样时间点。

  【图形】用带有箭头的虚线表示。若是箭头是从动做状态出发指向对象,则表示动做对对象施加了必定的影响。施加的影响包括建立、修改和撤销等。若是箭头从对象指向动做状态,则表示该动做使用对象流所指向的对象。

  状态图中的对象用矩形表示矩形内是该对象的名称名称下的方括号代表对象此时的状态

              

10、分支与合并(Decision and Merge Nodes)——选择分支
  【图形】分支与合并用菱形表示,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每一个离开转换上都会有一个监护条件,用来表示知足什么条件的时候执行该转换。

                                         

11、分叉与汇合(Fork and Join Nodes)——分叉用于将动做流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

  对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。

  【图形】分为水平风向和垂直方向。

12、时间信号

                             

13、发送信号

                         

1四、接收信号

                       

14、泳道(Partition)——泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每一个活动只能明确地属于一个泳道。

泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方能够给出泳道的名字或对象的名字,该对象负责泳道内的所有活动。泳道没有顺序,不一样泳道中的活动既能够顺序进行也能够并发进行,动做流和对象流容许穿越分隔线

               

2、活动图案例分析

例1.购物用例图

一、  泳道分为:会员泳道和系统泳道。会员选择商品并加入购物车,系统完成订单生成及其支付完毕。

二、  开始节点:会员添加商品到购物车,点击【订单确认】,开始交于系统处理订单流程

三、  结束节点:商品发送完毕和付款成功,订单处理流程结束

四、  活动状态:产生订单、Check Credit Cart核对信用卡、Check Stock 核对库存量、Deliver Goods 发送商品、Process Credit Cart付款

五、  分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,若是不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。

 

例2. 带有发送信号与接收信号的活动图

image 

 

例3.带对象流的活动图

image

 

 

例4.辅助活动图

image

相关文章
相关标签/搜索