温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

EA画UML时序图中如何实现条件执行

发布时间:2021-12-20 14:09:31 来源:亿速云 阅读:1226 作者:小新 栏目:大数据

这篇文章主要介绍EA画UML时序图中如何实现条件执行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

时序图提供了一种Fragment(片段),用来表现条件执行,循环,并发等情况。具体使用哪种Fragment,通过以下的对话框来选择。

EA画UML时序图中如何实现条件执行

今天先说条件执行相关的Fragment。

alt(alternative)

alt用于表现条件执行的程序构造。和alt对应的程序结构可以是if/else结构,也可以是swtich结构。还是从图形编辑软件中找例子。

EA画UML时序图中如何实现条件执行

这个时序图描述的是DrawerView根据用户按下的方向键来移动图形时的处理。使用的就是名为alt的Framgment。它的设定画面如下:

EA画UML时序图中如何实现条件执行

设定内容

Type:alt

Name:ArrowKeyHandling。选取一个有意义的名字有助于读者的理解。

Condition:输入每个分支的判断条件。输入完成的条件可以在Condition输入框下方的列表中表示出来。

需要说明的是,这个对话框中不能调整条件的顺序。条件的顺序是通过例子图中红线框出的小箭头来调整的。

opt(optional)

当然,在实际的程序中,只有某个图形被选中时才可以移动该图形。这就是opt出场的时候了,具体时序图如下:

EA画UML时序图中如何实现条件执行

只有在m_currentShape有效时才调用移动图形方法并更新表示。opt其实就是一个没有else的if。

break


首先要明确的是,这个break不是C/C++语言中的那个break,它包含一个带有监护条件的操作片段,如果监护条件为真,则该片段被执行,该片段以后的部分被忽略;如果监护条件为假,那么该片段不会被执行,该子片段以后的部分则会被执行。

好像有点复杂,结合下面代码一起说就容易理解了。

void openfile(void)

{

     CFileDialog dlg;

    if(dlg.DoModal()!=IDOK)

    {

         MessageBox.setMessage("Can't open file!");

         return;

    }

    CString  FilePathName = dlg.GetPathName();

    /*此处省略50行。*/

}

代码很简单,画成时序图如下:

EA画UML时序图中如何实现条件执行

上图中包含一个以result是否不等于IDOK为监护条件的break片段,如果监护条件为真,则该片段中的sendMesage和删除dlg操作被执行,GetPathName及以后的部分被忽略;如果监护条件为假,那么break片段不会被执行,GetPathName及以后的部分会被执行。

费了半天劲,break其实就是一个有条件的中途退出处理。

以上是“EA画UML时序图中如何实现条件执行”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI