我现在正在设计ArgoUML中的UML活动图。 我知道如果我想设计条件如下:
if(condition) {
doTrueAction();
} else {
doFalseAction();
}
可以在UML活动图中完成,如下所示:
但是如果我们在上一个决定的输出中有另一个条件呢?像这样:
if(condition) {
if(condition2) {
condition2TrueAction();
} else {
condition2FalseAction();
}
}else{
conditionFalseAction();
}
正如您在此处看到conditionTrueOutput正在输出并同时处于条件状态。在我看来,设计被打破了。
编辑:或者我应该使用fork元素而不是decision(diamond)元素?
我想知道如何正确设计。有没有规则?
答案 0 :(得分:0)
您的设计似乎是连贯的,但它不是UML图。我想您正在将活动图与序列图混合。
您的图表看起来像序列图,但它会尝试表示与活动图表相关的信息。
我建议您web site调查这两个图表之间的差异,我希望它能为您提供帮助。
相反,通过尝试使用您的设计,我建议您在两个condotion2之前插入另一个条件(例如SecondConditionAction)。