业务用例模型中的活动图

主题

解释 返回页首

业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。

工作流程活动图用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。活动既可以是手动执行的任务,也可以是自动执行的任务。它可完成一个工作单元。 

活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。

基本活动图 返回页首

一个活动图可能包括以下元素:

  • 活动状态表示在工作流程中执行某个活动或步骤。
  • 转移表示各种活动状态的先后顺序。这种转移可称为完成转移。它不同于一般的转移,因为它不需要明显的触发器事件,而是通过完成活动(用活动状态表示)来触发。
  • 决策,为其定义了一组警戒条件。这些警戒条件决定在活动完成后将执行一组备选转移中的哪一个转移。您也可以使用判定图标来表示线程重新合并的位置。决策和警戒条件使您能够显示业务用例的工作流程中的备选线程
  • 同步示意条用于显示平行分支流。同步示意条使您能够显示业务用例的工作流程中的并行线程

“机场登记”业务用例模型中“个人登记”业务用例的活动图

条件线程 返回页首

警戒条件用于说明一组并行线程中的某个线程是有条件的。例如,在上面的“个人登记”示例中,进行登记的乘客可能是频繁乘机旅行的顾客。在此情况下,您需要给他奖励一些飞行哩程数。

“机场登记”业务用例模型中“个人登记”业务用例的活动图

嵌套活动图 返回页首

一个活动状态可能要引用另一个活动图,因为后者显示了前者的内部结构。换言之,您可以嵌套活动图。您可以显示活动状态中的子图或是让活动状态引用另一个图。

活动状态中嵌套的活动图

如果您希望在一幅图中展示所有的工作流程细节,那么可显示活动状态中的子图,这不失为一种方便的办法。但是,如果所展示的工作流程较为复杂,这就会使活动图难以理解。

或者,也可将子图单独放在一个图中,然后让活动状态引用它。

为简化工作流程图,您可能要将子图单独放在一个图中,然后让子图所详细说明的活动状态来引用它。

使用泳道 返回页首

可以使用垂直实线将活动图划分为泳道。每条泳道代表整个工作流程的某个部分的职责,该职责由组织的某个部门来执行。泳道最终可以由组织单元或者业务对象模型中的一组类来实施。

泳道之间的排序并不会影响语义。每个活动状态都指派了一条泳道,而转移则可能跨越数条泳道。

以上活动图说明了代表一般销售流程的业务用例工作流程。在此示例中,泳道代表组织中的各个部门。

使用示例 返回页首

就工作流程的活动图和文本说明来说,首先使用哪一个?这多少取决于您的工作习惯,以及您是否以图表的方式进行思考。有些人倾向于先在一个图中勾画出结构的轮廓,然后再用文本进行详细说明。其他人则可能愿意先制定活动状态的大纲;对此达成一致之后,再使用图来定义结构。

另一个适当的问题是,您是否的确既需要文本文档又需要图。活动图技术确实允许您为每个活动状态撰写简要说明,这将使工作流程的文本规约变得毫无用处。在这种情况下,您需要对涉众及其预期的规约格式保持高度的敏感性。

我们提供了一个示例活动图,用于描述在指南:业务用例中定义的业务用例“提议流程”的工作流程。我们通过它来说明活动图是如何帮助加深对工作流程的理解的。该示例来自于一个销售电信网络解决方案的组织,其中每个解决方案都是为客户量身定制的。

业务用例“提议流程”的活动图

名为“初步机会工作”的活动状态包含了三个可平行执行的子步骤。这在此活动状态的一个子图中加以说明。

活动状态“初步机会工作”的子图。可以选择制定销售计划,这通过即将进行的转移中的警戒条件来说明。

活动状态可以代表相当大的过程(带有子结构),也可以代表某些相对较小的过程。如果您正使用活动图来定义工作流程的结构,则不要表示活动图中从顶层到最底层的所有结构层次。这很可能会使得活动图非常难以理解(如果使用多个单独的子图,则会使多幅图非常难以理解)。应该尽量在一个图中概述整个工作流程,其中的少数几个活动状态可以有子图.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

活动图

  • 反映一个连续的运动流
  • 某个操作的执行时的活动状况
  • 描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作)。
  • 描述对象内部的工作。
  • 显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
  • 显示用例的实例是如何执行动作以及改变对象状态。
  • 说明一次商务活动中的工人(角色)、工作流、组织和对象是如何工作的。
  • 动作、转移、泳道、对象、信号

    图11.1:活动图

               图11.2:活动图

                  图11.3:活动图

                 图11.4:活动图  

                    图11.5:活动图

### UML业务用例图和活动图绘制方法及示例 #### 一、UML业务用例图的绘制方法 UML业务用例图是一种特殊的用例图,主要用于描述企业或组织内部的业务流程及其参与者。以下是绘制业务用例图的关键步骤: 1. **确定业务边界** 明确要建模的具体业务领域或系统范围。这一步骤有助于限定后续分析的重点区域[^1]。 2. **识别业务参与者(Actors)** 从业务的角度出发,找出所有与业务交互的角色。这些角色可能是员工、客户、供应商或其他外部实体。例如,在一个订单处理系统中,“顾客”是一个典型的业务参与者[^3]。 3. **定义业务用例(Use Cases)** 将业务过程分解为多个独立的任务或功能单元,并将其表示为椭圆形节点。每个用例代表一项具体的业务活动。例如,“提交订单”、“支付款项”都是常见的业务用例[^4]。 4. **建立关系模型** 表达业务参与者与用例之间以及各用例之间的联系。主要涉及三种关系: - 泛化(Generalization):当某些参与者共享相同的行为模式时适用。 - 包含(Include):用于表达某项用例总是调用了另一项特定功能的情况。 - 扩展(Extend):适用于可选或附加功能的情形[^3]。 5. **优化布局并审查** 调整图形结构使其直观易懂;随后邀请相关人员共同审阅以确保准确性。 #### 示例代码片段展示简单的业务用例图逻辑: ```plaintext participant Customer as c usecase Submit Order as so usecase Pay Invoice as pi c --> so : initiates so --> pi : triggers payment process {include} ``` --- #### 二、UML活动图绘制方法 活动图用来描绘工作流或者算法的操作序列,特别适合表现复杂的控制流路径。下面是构建有效活动图的一些指导原则: 1. **设定起点与终点** 每张活动图都需标明初始状态(Start Node)和最终目标(End Node),以此指示整个流程的方向性[^2]。 2. **划分动作节点(Action Nodes)** 把每步具体行动封装成矩形框形式的动作节点。比如“打印发票”,就单独作为一个动作呈现出来。 3. **连接转换箭头(Transitions)** 使用带标签的有向边来表明从当前环节到下一个阶段的发展顺序。如果存在分支决策,则引入菱形判断条件符号[^2]。 4. **标注同步条(Synchronization Bars)** 当涉及到并发执行或多线程协作的时候,利用水平虚线分隔符区分不同的时间轴上的进程进展状况。 5. **标记泳道(Swimlanes)** 如果希望更清楚地体现各个责任主体分别承担的部分任务的话,那么可以采用垂直分区的方式即所谓的“泳道”。这样能够更加清晰地理顺跨部门合作下的分工情况。 #### 示例伪代码模拟基本活动图要素: ```plaintext startNode -> action1: Prepare Document action1 -> decisionPoint: Is Approval Needed? decisionPoint --Yes--> action2: Get Manager's Signature decisionPoint --No--> endNode action2 -> endNode: Archive Final Copy ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值