领测软件测试网
建立某个活动的图
但类或实例接收到消息时,它会在接收对象的生命线上创建一个框;这个框称作 活动。活动表示接收方的方法中的控制权流向。当消息导致创建了一个对象时,第一个活动表示构造器的逻辑。随后的消息将导致创建新的活动。
但接收到消息时,接收对象可以依次将消息发送到它自身或其它对象。这由箭头的尾巴显示,它表示箭头源于活动,而终止于新的活动。但对象调用自身时,新的活动将放到旧活动之上。
在此方案中,申请人与贷款申请交互两次,第一次是完成它,而第二次是提交它。当 LoanApplication 接收到 submit 消息时,它会通过将 validate 消息发送到自身来验证它自己。如果有效,则它会创建要发送到商业资信咨询机构的新 LoanRequest。图 4 显示了 LoanApplication 的验证过程。
图 4. 确认 LoanApplication
箭头文件:表示时间流逝
我们使用斜向箭头来表示消息发送和接收之间的真实时间的流逝。这种标记法用于显示非基本调用。非基本调用的示例是经由 CORBA 或 R
MI 进行的方法调用,或是在
网络上发送的消息。
在此示例中,商业资信咨询机构是一个外部系统,它是具有
服务器角色的参与者(有关详细信息,请参阅关于参与者角色)。服务器通常不生成消息,但会有发送给它们的消息 -- 在本例中是由信用检查器发送的信用报告的请求。信用检查器代表了商业资信咨询机构。它跟踪请求并将请求转发给商业资信咨询机构,跟踪并接收响应,此外就是建立贷款处理应用程序和商业资信咨询机构之间的连接。商业资信咨询机构将接收请求,并根据它自己的时间表处理请求。我们使用斜向箭头表示这段时间的流逝,如以下的图 5 所示。
在活动的结尾,返回到调用程序的结果是隐式的。然而,在某些情况下,您可能希望返回是显式的。显式返回调用由虚线箭头表示,该箭头的尾巴是接收方,头是发送方。显式返回箭头通常由调用返回的值标记。对于此示例,我们已经在 CreditBureau 和 CreditChecker 之间添加了显式箭头。这个箭头可以是带标签的 CreditReport,因为它是从 requestCreditReport 方法返回的对象。
图 5. 获取 CreditReport
下一步
我在本文开头已经提到过,序列图用于描述系统运行时的内部行为。在本文中,我已经介绍了通过建立对象间交互的模型来构建序列图的第一步。在下一部分中,我将介绍两种序列图(常规和实例),并使用根据简单的
Java 方法绘制的示例说明条件逻辑在序列图中的角色。到时候见!