活动图( 二 )


活动图

文章插图
活动图另一个适当的问题是,您是否的确既需要文本文档又需要图 。活动图技术确实允许您为每个活动状态撰写简要说明,这将使工作流程的文本规约变得毫无用处 。在这种情况下,您需要对涉众及其预期的规约格式保持高度的敏感性 。我们提供了一个示例活动图,用于描述在指南:业务用例中定义的业务用例“提议流程”的工作流程 。我们通过它来说明活动图是如何帮助加深对工作流程的理解的 。该示例来自于一个销售电信网路解决方案的组织,其中每个解决方案都是为客户量身定製的 。名为“初步机会工作”的活动状态包含了三个可平行执行的子步骤 。这在此活动状态的一个子图中加以说明 。
活动图

文章插图
活动图活动状态可以代表相当大的过程(带有子结构),也可以代表某些相对较小的过程 。如果您正使用活动图来定义工作流程的结构,则不要表示活动图中从顶层到最底层的所有结构层次 。这很可能会使得活动图非常难以理解(如果使用多个单独的子图,则会使多幅图非常难以理解) 。应该儘量在一个图中概述整个工作流程,其中的少数几个活动状态可以有子图 。业务对象模型业务用例模型中的活动图中对活动图使用的符号作出了进一步的说明 。本页举例说明如何套用符号来描述业务用例实现 。业务用例实现的活动图用于研究完成业务目标的任务或活动的安排顺序,并且这些任务或活动还可实现外部业务主角和内部业务角色之间的约定 。活动是执行某个工作单元的任务,它既可手工执行,也可自动执行 。活动图帮助:提供在业务中引入信息系统的理由以及对此举措的理解 。为系统开发项目实施业务转换机制确定目标 。证明基于详细的业务流程指标而进行有关自动化方面的投资是正确的 。与序列图(可认为它和活动图具有类似的目的)相比,包含泳道和对象流的活动图侧重于如何将职责拆分为类,而序列图则帮助您理解各对象是如何并且以何种顺序进行互动的 。活动图侧重于工作流程,而序列图则侧重于对业务实体的处理 。活动图和序列图可作为互补性的技巧使用,其中序列图用来表示活动状态中发生的事情 。使用泳道如果使用泳道,而且泳道与业务对象模型中的类(主要是业务角色)耦合,那幺您就使用活动图来记录业务用例实现,而不是业务用例 。作为示例,我们给出了有关实现业务用例“提议流程”的活动图 。有关该业务用例的说明,请参见指南:业务用例 。“提议流程”的业务用例实现通过检查担任特定角色(业务角色)的人员及其执行的活动,该活动图向您详细展示了业务中所发生的一切 。如果是应用程式开发项目,这些图将帮助您详细了解该新应用程式将支持或影响的业务领域 。它们帮助建立到所提议的新系统之间的连线点,而且这些连线点还产生了系统用例 。使用对象流在本部分中,对象流用于显示如何在工作流程中创建并使用业务实体 。对象流允许您在活动图中显示活动状态的输入和输出 。这个符号有两个元素:对象流状态代表一个类的对象,该对象参与了活动图所表示的工作流程 。该对象可以是某个活动的输出,也可以是众多其他活动的输入 。
活动图

文章插图
活动图对象流是一种控制流,其中有一个对象流状态用作输入或输出 。对象流符号不仅仅表示对象本身的存在,而且还表明它所处的特定状态 。同一个对象可被大量的、改变该对象状态的连续活动所控制 。此后,该对象就可在活动图中多次出现,而且每次出现时都表示其生命期中的不同状态 。该对象在每一点所处的状态都可置于括弧内,并附加到其类名称之后 。藉助于对象流表示的普通销售流程,用来说明订单状态在执行工作流程的过程中是如何改变的 。请参见指南:业务用例模型中的活动图 一个对象流状态可能表现为一个对象流(转移)的目标和多个对象流(转移)的来源 。“提议流程”的活动图,该图使用对象流来说明所涉及的核心业务实体对象流可与业务用例的工作流程中的数据流作比较 。与传统的数据流不同,对象流存在于活动图中的某个特定点 。