决策节点与合并节点

2.3.6 决策节点与合并节点

回顾一下,我们前面介绍过3种活动节点,分别是操作、控制节点和对象节点。对象节点下面可以细分成插针和活动参数节点,插针下面又可以细分成输入插针和输出插针。还有,我们谈到两种控制节点:初始节点和活动最终节点。看看你能不能试着绘制出如图2-40所示的UML元模型,这有助于你整理学过的这些琐碎的知识。

 
(点击查看大图)图2-40 活动节点(UML元模型)
活动图的组成元素中,除了一堆的操作、对象节点,还有另一组用来协调流程的控制节点。在前面的内容中,我们认识了初始节点和活动最终节点,在活动图工具箱中还有另外两个控制节点,分别是决策节点(Decision Node)和合并节点(Merge Node),如图2-41所示。
 
图2-41 决策节点与合并节点
所以,你一定可以猜到,UML模型的控制节点下面可以再多增加两种控制节点,如图2-42所示。
 
(点击查看大图)图2-42 控制节点(UML元模型)

先说决策节点,它的概念很简单,是一个很实用的控制节点。决策节点是一个大的空心菱形,一条进入边,多条离开边,但是它会从多条离开边中,实时判断当下流程应该走哪一条离开边。

推想一下,决策节点怎么知道该走哪一条离开边呢?想到了吗?当然是利用警戒条件,我们可以在离开边中设置警戒条伯,只有通过警戒条件的离开边才可以通行。

现在来看报名课程的活动图,我们可以加入一个决策节点,用来判断用户填写的报名资料是否齐全,如图2-43所示。用户填写完并发送报名给系统后,系统会立即检查报名资料是否齐全,假如报名资料不齐全,就让流程回到报名课程操作,请用户补齐数据。

如果要决策节点配合对象节点来使用,这可以吗?当然可以了。报名课程操作结束生成一个报名表对象,我们把报名表对象节点连到决策节点,检查报名表内的资料是否填写齐全,如图2-44所示。

 
图2-43 决策节点与警戒条件
 
图2-44 决策节点与对象节点
最后,回到Visual Studio 2010的活动图,打开决策节点的属性,如图2-45所示,看看有没有什么特别的属性可以学习的。看起来除了决策节点的名称外,Visual Studio 2010并没有支持其他特别的属性。
 
图2-45 决策节点的属性

在UML的活动图中,决策节点和合并节点共享空心大菱形的图标,只不过前者是一条进入边,多条离开边,后者则是多条进入边的,一条离开边。

顾名思义,合并节点用来合并多条分流,它像高速公路上的关卡,多条道路都接到同一个关卡,以便进入高速公路。在这个日常生活的典型示例中,关卡就是合并节点,而多条道路就是多条进入边,至于高速公路则代表唯一一条离开边。

请看图2-46的范例,用户可以从列出的当期课程中直接报名,也可以挑出其中一门课来查看课程细节之后,才决定报名课程。因此,我们可以把列出当期课程和查看课程细节这两个操作连到同一个合并节点,然后再连接到报名当期课程。

最后,我们仍打开Visual Studio 2010的合并节点属性来查看一下,如图2-47所示,跟前面的决策节点一样,Visual Studio 2010并没有支持更多特殊的属性。

然后,再把活动图工具箱调出来查看一下,如图2-48所示,我们确实把Visual Studio 2010活动图中所支持的初级概念都介绍完了。当然,UML活动图的初级概念远比Visual Studio 2010支持的多,不过由于本书锁定以Visual Studio 2010支持的范围来介绍UML,所以Visual Studio 2010未支持的UML概念,除非必要,否则我们就省略不进行介绍了。

 
图2-46 合并节点
 
图2-47 合并节点的属性
 
图2-48 活动图的初级概念与中级概念

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值