UML之活动图
活动图——Activity diagram
阐明了业务用例实现的工作流程。
业务工作流程说明了,业务为所服务的业务主角提供其所需的价值而必须完成的工作,业务用例由一系列活动组成,它们共同为业务主角生成某些工件。
工作流程通常包括一个基本工作流程和一个或多个备选工作流程,工作流程的结构使用活动图来进行说明。
活动图简介
工作流程活动图用于研究实现业务目标时所要执行的各项任务或活动的顺序安排,活动既可以是手动执行的任务,也可以是自动执行的任务,它可完成一个工作单元。
活动图是状态图的一种特殊形式,其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。
活动图的构成
活动状态:表示在工作流程中执行某个活动或步骤。
转移:表示各种活动状态的先后顺序。这种转移可称为完成转移,它不同于一般的转移,因为它不需要明显的触发器事件,而是通过完成活动(用活动状态表示)来触发。
决策:为其定义了一组警戒条件。这些警戒条件决定在活动完成后将执行一组备选转移中的哪一个转移,也可以使用判定图标来表示线程重新合并的位置,决策和警戒条件能够显示业务用例的工作流程中的备选线程。
同步示意条:用于显示平行分支流。同步示意条能够显示业务用例的工作流程中的并行线程。
条件线程
警戒条件用于说明一组并行线程中的某个线程是有条件的。
例如,进行登记的乘客可能是频繁乘机旅行的顾客,在此情况下,您需要给他奖励一些飞行里程数。
嵌套活动图
一个活动状态可能要引用另一个活动图,因为后者显示了前者的内部结构,就是可以使用嵌套活动图,可以显示活动状态中的子图,或是让活动状态引用另一个图。
如果在一幅图中展示所有的工作流程细节,那么可显示活动状态中的子图,这不失为一种方便的办法,如果所展示的工作流程较为复杂,这就会使活动图难以理解,为简化工作流程图,可能要将子图单独放在一个图中,然后让子图所详细说明的活动状态来引用它。
泳道
可以使用垂直实线将活动图划分为泳道。
每条泳道代表整个工作流程的某个部分的职责,该职责由组织的某个部门来执行,泳道最终可以由组织单元或者业务对象模型中的一组类来实施。
泳道之间的排序并不会影响语义,每个活动状态都指派了一条泳道,而转移则可能跨越数条泳道。
对象流
对象流用于显示如何在工作流程中创建并使用业务实体。
对象流是一种控制流,其中有一个对象流状态用作输入或输出。
这个符号有两个元素:
对象流状态代表一个类的对象,该对象参与了活动图所表示的工作流程,该对象可以是某个活动的输出,也可以是众多其他活动的输入。