如果没有特殊说明,时序图认为消息的传送是不需要时间的,这种假设在大多数场景下是没有问题的,但是在系统的范围非常大或者对时间的要求十分严苛的情况下,时间/时刻就会变得重要起来。

设定方法


打开消息的上下文菜单并选择【Timing Details】菜单项,即可得到以下对话框:




EA&UML日拱一卒--序列图(Sequence Diagram)::时间约束_UML


Duration Constraint:信息传送时间的约束。


Duration Constraint Between Messages:相邻两次消息之间的时间约束。


Duration Observation:信息传送时间观测,格式为name=duration。其中name为保存观察结果的变量。


Timing Constraint:信息到达时刻约束。

Timing Observation:信息发送时刻观测,格式为:name=now。其中name为保存观察结果的变量。

设定实例


传送时间约束




EA&UML日拱一卒--序列图(Sequence Diagram)::时间约束_UML_02


Duration Constraint:1s...10s


表示传送时间必须在1s到10s之间。


发送时刻观测,到达时刻约束


EA&UML日拱一卒--序列图(Sequence Diagram)::时间约束_EA_03

Timing Constraint:start=now,

Timing Observation:start...start+3s

首先记录发送开始时刻为start,然后要求到达时刻在start到start+3s之间,即3s以内到达。


传送时间观测




EA&UML日拱一卒--序列图(Sequence Diagram)::时间约束_序列图_04

Duration Observation:d=duration

Timing Constraint:t=now

Timing Observation:t...t+3s



消息发送间隔约束




EA&UML日拱一卒--序列图(Sequence Diagram)::时间约束_面向对象_05


Duration Constraint Between Messages:1s...5s


要求相邻两次消息之间的时间在1s到5s之间。


阅读更多新文章,请扫描下面二维码,关注公众号【面向对象思考】


EA&UML日拱一卒--序列图(Sequence Diagram)::时间约束_面向对象_06