摘自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.直到全部人都同意,文档才算通过评审。

这个图有两条粗的横向,第一条粗横线表示从这里开始,所有的分支将并行进行,也就说高层领导、开发人员、测试人员、质量部成员将各自己评审文档;第二条粗横线,“汇集”了所有的分支,这表示待所有分支都完成时,才能进行一步的活动,也就是说要待所有角色都评审完了,才能进行一步。

UML: 活动图的更多相关文章

  1. [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图

    [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...

  2. UML活动图与流程图的区别

    http://blog.chinaunix.net/uid-11572501-id-3847592.html UML活动图与流程图的区别 (1).流程图着重描述处理过程,它的主要控制结构是顺序.分支和 ...

  3. Thinking in UML 学习笔记(四)——UML活动图来看核心

    在UML活动图的性质是一个流程图,它需要描述为完成活动的特定目标的描述来完成,这些交互运行顺序. UML有两个级别的活动图,的用例场景的叙述性描述,还有的对象用来描述交互的描述. 工具.它不是我们的分 ...

  4. DataUml Design 介绍10 - DataUML 1.4版本功能(增加UML活动图和用例图)

    DataUml Design 1.4版本正式发布 1.解决软件自动关闭的问题 2.增加UML活动图和用例图功能 详细介绍稍后继续...........................

  5. UML活动图(转载)

    概述: 活动图是另一个重要的UML图来描述系统的动态方面. 活动图基本上是代表流程形成一个活动到另一个活动的流程图.活动可以被描述为一个系统的操作. 因此,绘制控制流从一个操作到另一个.此流可以是连续 ...

  6. uml活动图

    uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些 ...

  7. 2.3 UML活动图

    活动图定义 活动图描述了在一个过程中,顺序的/并行的活动及其之间的关系 应用于商业过程.工作流(业务过程).复杂算法的建模 活动图是顶点和弧的集合 活动节点 动作 流 对象值 注解和约束等 活动图基本 ...

  8. umlの活动图

    在介绍了曾经的类图和用例图等之后,因为对象图是描写叙述类图的某一个时刻的快照,所以类图没有详细的赋值可是对象图能够有详细的值.而包图是蕴含在画uml图之中的,对类图和对象图等进行分类的图,就像wind ...

  9. UML 活动图(转载)

    活动图:用于表示系统中各种活动的次序,它的应用非常广泛,即可用来描述用例的工作流程,也可用来描述类中某个方法的操作行为.常用于表示业务流程,对系统功能建模,强调对象之间的控制流.活动图是由状态图变化而 ...

随机推荐

  1. C++简单单例模式

    #ifndef _SINGLETON_H_ #define _SINGLETON_H_ #include <stdio.h> template<typename T> clas ...

  2. Java进制转换

    其他转10进制 System.out.println(Integer.parseInt("10", 2));// bin System.out.println(Integer.pa ...

  3. const与#define宏常量 , inline与#define

    1.预处理 预处理器是在真正的编译开始之前由编译器调用的独立程序.预处理器可以删除注释.包含其他文件以及执行宏替代. 预处理命令(宏定义#define..#undef. 文件包含#include. 条 ...

  4. LeetCode Closest Binary Search Tree Value II

    原题链接在这里:https://leetcode.com/problems/closest-binary-search-tree-value-ii/ 题目: Given a non-empty bin ...

  5. LeetCode Find Peak Element

    原题链接在这里:https://leetcode.com/problems/find-peak-element/ 题目: A peak element is an element that is gr ...

  6. android JSONArray JSONObject 字符串转json数组 遍历json对象

    String json = "{''data'':[{''name'':''Wallace''},{''name'':''Grommit''}]}"; StringBuffer m ...

  7. java中 set,list,array(集合与数组)相互转换

      public static Object[] List2Array(List<Object> oList) { Object[] oArray = oList.toArray(new ...

  8. Linux 技巧:让进程在后台可靠运行的几种方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  9. Java集合 List,Set,Map

      一.List:.有顺序以线性方式存储,可以存放重复对象 线程安全方法:List list = Collections.synchronizedList(new LinkedList(...)); ...

  10. 高级选择器querySelector和querySelectorAll

    Javascript新提供的querySelector和querySelectorAll方法,是仿照CSS选择器功能编写的 querySelector 功能:该方法返回满足条件的单个元素.按照深度优先 ...