我即将为一个旧程序制作一个 UML 活动图,其中充满goto
. 我要建模的程序是按照示例中的方式构建的。首先,它做一些事情,然后检查错误标志。如果设置了错误标志,它会将错误代码写入日志并可能转到程序中的另一个位置。
// When error, the program generate a Trap and then go to 1000
err = Foo(A,B,C)
if (err != 0)
{
CTrap(2000,err,A,B,C)
goto(1000)
}
// When error, the program generate a trap and continue
err = Foo2(A,B,C)
if (err != 0)
{
CTrap(2000,err,A,B,C)
}
CTrap
将错误代码写入日志,我希望活动图显示每个活动可以生成的错误代码以及何时生成。
现在我已经尝试用无数的决策和合并对此进行建模,并为写入日志的每个错误代码添加了一个操作。但那时几乎不可能遵循该计划。我可以删除错误代码的操作,但随后我会丢失重要信息。然后它仍然是无数的决定和合并。我想知道是否有任何符号可以用来以某种方式简化它。因此,它显示了可以生成的错误代码和时间,而不必在图表中充斥着决策和合并。如果我可以以任何方式在错误标志上使用 post-contion,或者如果您可以从带有条件的活动中获得多个输出?
编辑
我通过在评论中放置有关错误代码(陷阱)的信息进行了一些实验。不知道能不能像我这样写?我可以从我在某些地方完成的活动中获得不同的输出吗?然后我想知道我是否一直在使用“写入变量”正确?这是一个实验,而不是完整的图表。
以 BFX 为前缀的函数为系统函数,以 BX2 为前缀的函数为与本程序相关的函数。所有合并都是一个 GOTO 目的地。例如,名为 8100 的合并是程序的一部分,用于处理您遇到的错误情况GOTO 8100