活动图与流程图的区别

      流程图是最常见的程序逻辑表达图,它经常能简明地表示出一个复杂逻辑的信息流向,生活小事、业务流程都可以用流程图来表示,但在复杂的系统交互中,有时候表达并发的概念时,发现流程图的短板。所以,有人想出来了活动图, 活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。即使提到状态图,也顺便说一下,状态图的英文是state diagram;是指一个图形,描绘一个系统或组件可能假设的状态,并且显示引起或导致一个状态切换到另一个状态的事件或环境。状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。

      流程图与活动图解决的都是信息的开始到结束的流通过程,有时候两个概念容易混淆,那么具体它们的详细区别如下:

       一、流程图明确的指定了每个活动的先后顺序,而活动图描述活动所必要的工作顺序(最根本的区别)。活动图主要考虑业务的流程,体现actor与系统的交互行为。

       二、流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图描述的则是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。

       三、 活动图能够表示并发活动的情形,而流程图做不到。

       四、活动图是面向对象的,而流程图是面向过程的。

       这里要注意绘制活动图中的一个细节,如果是业务方面的执行失败,那么必须清晰表达出来,如果仅是系统异常,如断电,断网,提交失败等,都在活动图中,不进行体现。

你可能感兴趣的:(软件工程)