IBM Rational Rhapsody序列图中创建if else的alt工具位置及用法咨询
IBM Rational Rhapsody序列图条件逻辑实现答疑
1. alt组合片段工具位置
打开序列图编辑界面后,在左侧绘图工具箱(Palette)中找到*组合片段(Combined Fragment)*工具,点击后在画布上拖拽选中需要包裹的交互范围,在弹出的类型选择下拉菜单中选中alt即可创建if/else逻辑对应的组合片段,创建后可直接在片段的分区头部输入对应的判断条件。
对应工具界面截图:
2. 卫士条件(Guard Conditions)用法说明
你提到的[Guard Condition] message写法完全符合UML序列图规范。该方案和alt组合片段的适用场景不同,不能完全互相替代:
- 仅单分支判断、分支仅涉及1-2条简单消息的场景下,卫士条件写法更简洁,可以替代
alt使用 - 多分支(if/else if/else)、分支内包含多条连续消息、需要明确划分分支边界的场景下,必须使用
alt组合片段,否则交互逻辑的可读性会大幅下降,也不符合UML复杂交互的表达规范
3. 为Interaction Operation添加else分支的操作方法
你使用的Interaction Operation本质就是alt组合片段下的操作数分区,添加else分支的步骤如下:
- 选中已创建的
alt类型组合片段,右键点击唤起操作菜单 - 选择「添加操作数(Add Operand)」选项,即可新增一个分支分区
- 在新增分区的头部条件输入栏填写
[else]即可,也可以根据需求填写else对应的具体判断条件 - 多个分支的判断优先级可以通过右键菜单的「上移操作数/下移操作数」选项调整
示例:登录逻辑
alt组合片段参考
- 第一个操作数条件:
[用户名+密码校验通过],分支内包含两条消息:系统→用户:返回登录成功,系统→页面:跳转至首页- 第二个操作数条件:
[else],分支内包含两条消息:系统→用户:返回登录失败,系统→页面:弹出错误提示
内容的提问来源于stack exchange,提问作者Questioner
相关产品推荐
相关产品推荐

