我有以下代码(就像伪代码):我的伪代码匹配我的UML活动图吗?
switch (expression)
{
case (ONE)
{
#if(FLAG==ON)
Function1()
#endif
break;
}
case(TWO)
{
if(x==y)
{
Function2();
expression = THREE;
}
break;
}
case(THREE)
{
Function3();
}
default:
{
Function4:
break;
}
}
我试图创建一个UML活动图(见附件),并不能肯定我是否正确的一些观点:
- 这2个“流程最终”点是正确映射还是应该一起进入一个“流程最终”点? - 也请注意,最后一个CASE没有中断语句。
将感谢任何反馈!
案例二有一个突破,你是对的。但是在函数2()在情况2内完成后,表达式被设置为大小写(THREE)。所以这意味着我与案例三有联系,但也许我在图表上表示错了,对吧? – JohnDoe
该表达式被设置为THREE,但该表达式评估的唯一一点是'switch(expression)'。您需要知道开关盒的声明是如何工作的,然后才能制作它的活动图。 – Eashi
已编辑;具有一个退出流程的决策节点不是UML标准符合公平的,但我会在课堂上接受它,以防止学生平行绘制四个不同的箭头。 – Eashi