15.6.5 示例

活动分区

图15.70展示了一个吧订单处理活动图划分为泳道的例子。顶部的分区包含Order Department所负责的部分活动;中间的是Accounting Department,底部的是Customer。Accounting Department和Order Department是performingDept属性的值。而Customer是一个外部的。

注意. 跨分区的活动边不被任何子分区所包含。

图15.70 ActivityPartitions using swimlane notation

图15.71展示了与图15.70中相同的分区,但使用的是带标注的活动节点而不是泳道。

图15.71 ActivityPartitions using annotation

图15.72展示了多维度泳道。Receive Order和Fill Order行为由类Order Processor的一个实例来执行,它位于Seattle,但不必这两个行为都由一个相同的实例来执行。即使Make Payment节点被包含在Seattle/Accounting Clerk泳格内,它的执行者和地址没有被包含它的泳道所规定,因为它有一个重载的外部分区标注。

图15.72 ActivityPartitions using multidimensional swimlane notation

可中断活动区域

图15.73展示了一个可中断活动区域的使用。当活动处于接收、备货,或者出货时,如果收到一个订单取消请求,那么它们终止,Cancel Order节点执行。

注意. 如果这发生在Fill Order结束后,那么开发票可能已经被启动了(由于Fill Order后的ForkNode)。

由于这个流在可中断区域外,它不会被订单取消请求所终止,即使Ship Order被终止。

图15.73 InterruptableActivityRegion example

results matching ""

    No results matching ""