摘自http://www.umlonline.org/school/thread-36-1-1.html
活动图和流程图很类似,我们看看一个流程图的例子:
活动图是用来描述流程的一种图,它与流程图的不太一样,但实际工作中很多人会把活动图画成流程图。
活动图是UML图的一种,流程图不是UML图,但不管怎样,只要能表达清楚问题,用流程图或是活动图都可以。
如果我们将每天上床睡觉要做的几个事情,用活动图画下来,可能是这样的:
上图是最简单的一个活动图,活动图的几个基本要素如下:
1.活动图是用来表示某个事情的一系列步骤的,一个活动图只能表达一件事情或者一个主题。很多初学者往往企图在一个活动图中表达多个事情,这是不合适的。
2.每个活动图,都有一个开始和结束标记。
3.每个圆边的框框就是活动,活动的文字用动宾的方式表达。
上图是“顺序”的活动图,我们看看有分支的活动图是怎样画的:
这是一个关于工时审批的活动图,填写工时后,将会根据工时不同的情况,由项目经理或者部门经理来审批。
这个菱形符号就是判断(Decision)。Decision左右各有一条引出的线条,线条上面分别有“[项目工时]”“[非项目工时]”的字样,这些用中括号括起来的文字,就是条件。如果工时是项目的工时,则执行“项目经理审批工时”这个活动,如果工时是非项目工时,则下一个活动是“部门经理审批工时”。
要注意,通过Decision分支后,我们需要再用一个菱形把这些分支合起来,那个菱形叫合并(Merge)。
Decision有两个或者以上的分支,但每次只可能走其中一条分支,不能每条分支都同时进行。如果每条分支同时进行,那应该如何表达呢?看看下面这个图:
这是某公司文档会签评审的流程,大致如下:
1.文档作者编写文档后,发出评审通知。
2.高层领导、开发人员、测试人员、质量部成员看到通知后,各自查看文档,提出各自的意见。
3.如果不是全部人通过评审,则文档需要修改,修改后再次发出评审通知,重复第2步。
4.直到全部人都同意,文档才算通过评审。
这个图有两条粗的横向,第一条粗横线表示从这里开始,所有的分支将并行进行,也就说高层领导、开发人员、测试人员、质量部成员将各自己评审文档;第二条粗横线,“汇集”了所有的分支,这表示待所有分支都完成时,才能进行一步的活动,也就是说要待所有角色都评审完了,才能进行一步。