为了计算业务流程的性能,需要知道工作流程的内容和执行该工作流程所涉及的资源类型。开始评测之前,需要准备好以下描述工作流程的元素:
基本的成本发生因素
对于活动图中的每个活动状态,基本的成本发生因素为:
- 资源:确定将要参与的业务角色和业务实体,以及各个业务角色和业务实体的实例数。将资源分配给工作流程意味着将产生一定的成本。
- 成本率:每个业务角色或业务实体实例在每个时间内单位能使用的成本。
- 持续时间:活动在一定时间内发生,所以资源既可以被分配在活动的持续时间内使用,也可以被分配在一段固定的时间内使用。
- 日常开支:因调用工作流程或活动而发生的所有固定成本。
此外,可能需要确定转换的发生概率,即进行转换的可能性。对于备选线程(从判定图标出发的转换)和条件线程(从同步条出发的条件转换),都需要确定发生概率。
计算工作流程的执行成本
工作流程通过一系列活动状态来描述。对于每一个活动状态,都必须定义成本发生因素,以计算活动的总执行成本。
示例:

活动总执行成本的计算公式为:“资源数”*“资源成本”*“持续时间”+“日常开支成本”。如果已知使用客户代表的成本率是 200/小时,此活动的总成本就是 1*200*0.5 + 100=200。
工作流程的总执行成本为各项活动成本的总和,虽然经常会有与启动工作流程相关的日常开支。对于整个工作流程,您也许有兴趣计算总持续时间或频率。
示例:

在该活动图所描述的工作流程中,有需要添加到每项活动执行成本中的日常开支成本。
并行线程
如果活动图中存在并行线程,最长线程的持续时间就是所有线程的相对持续时间。并行线程用同步条来表示。
示例:

以上两个并行线程的总持续时间为 8 分钟,这是本例中的最长线程的持续时间。
备选线程
如果活动图中存在备选线程,备选线程的成本就计算为各备选线程成本的加权和,加权系数为各备选线程的发生概率。 备选线程用判定图标来表示。
示例:

一个包括备选线程的工作流的总成本为所有备选线程的加权成本。
条件线程
如果存在条件线程,其成本首先用其发生概率进行加权,然后添加到其平行线程的成本中。 条件线程用有关转换的警戒条件来表示。
示例:

如果存在条件线程,其成本首先用其发生概率进行加权,然后添加到其平行线程的成本中。
嵌套活动图
如果活动具有子图,该活动的成本就是子图中活动的成本。
基于活动的成本核算经常用于比较各种不同方案,如比较变更建议与当前做法,或比较不同的变更建议。可以通过更改三种参数来探究各种不同方案之间的差异:
- 更改成本属性的值而不更改工作流程的结构或实现;例如采用较短的持续时间。
- 更改工作流程的结构;例如将活动执行从顺序结构更改为并行结构。
- 更改在工作流程的实现中所使用的资源;例如合并资源以避免资源闲置。
要比较这些备选流程,可以创建“同系列”活动图,以显示业务用例的变化。当更改在工作流程的实现中所使用的资源时,还必须建立工作流程的“同系列”实现,以正确地计算资源成本。