Uml 如何为复杂操作的逻辑建模

Uml 如何为复杂操作的逻辑建模,uml,diagram,sequence-diagram,activity-diagram,Uml,Diagram,Sequence Diagram,Activity Diagram,如何对复杂操作的逻辑建模?例如,根实体的保存方法,其中状态、版本和各种属性应根据某些逻辑进行处理。DTO和实体存在 我在考虑序列图、活动图、自然语言和一些抽象代码 我认为序列图是不合适的,因为它更可能用于交互建模 在我看来,活动图太笨拙了,我不知道把属性赋值之类的指令放在哪里。它在活动的注释或描述中看起来不正确 自然语言是模棱两可的,大量的信息很少 Mayby抽象代码可能是正确的选择。或者它与自然语言的结合。有推荐的表格吗?我不想写Java代码。如果你是说复杂的算法,那么最好用活动图来建模。自U

如何对复杂操作的逻辑建模?例如,根实体的保存方法,其中状态、版本和各种属性应根据某些逻辑进行处理。DTO和实体存在

我在考虑序列图、活动图、自然语言和一些抽象代码

我认为序列图是不合适的,因为它更可能用于交互建模

在我看来,活动图太笨拙了,我不知道把属性赋值之类的指令放在哪里。它在活动的注释或描述中看起来不正确

自然语言是模棱两可的,大量的信息很少


Mayby抽象代码可能是正确的选择。或者它与自然语言的结合。有推荐的表格吗?我不想写Java代码。

如果你是说复杂的算法,那么最好用活动图来建模。自UML2.0以来,它们对几乎所有类型的操作(包括分配)都有操作。这不是问题所在

不过,我同意,在某些情况下,最好采用一些更非正式的方法。活动图的绘制和布局速度非常慢,附加值值得怀疑(如果以后没有使用自动化)。关于它们“笨拙”的说法,您总是可以通过在多个层次上打破模型的良好结构和层次结构来克服这个问题(因为单个活动可以包含整个图)


也许一个组合可以完成这项工作——概述算法的主要步骤,也许是主要的决策、循环、调用,对你来说很重要的任何东西。稍后添加对这些单一活动的详细描述:使用伪代码、自然语言或其他嵌入式图表(状态、活动)。

如果你是指复杂的算法,它们可能最好由活动图表建模。自UML2.0以来,它们对几乎所有类型的操作(包括分配)都有操作。这不是问题所在

不过,我同意,在某些情况下,最好采用一些更非正式的方法。活动图的绘制和布局速度非常慢,附加值值得怀疑(如果以后没有使用自动化)。关于它们“笨拙”的说法,您总是可以通过在多个层次上打破模型的良好结构和层次结构来克服这个问题(因为单个活动可以包含整个图)


也许一个组合可以完成这项工作——概述算法的主要步骤,也许是主要的决策、循环、调用,对你来说很重要的任何东西。随后,添加对这些单一活动的详细描述:使用伪代码、自然语言甚至其他嵌入式图表(状态、活动)。

@ziri Check DRAKON。它是为了使复杂的逻辑尽可能简单。更多关于德拉康的信息,请参见我的回答:@ziri检查德拉康。它是为了使复杂的逻辑尽可能简单。关于DRAKON的更多信息,请参见我的回答:非常有用的回答@Aleks,谢谢。我想知道如何使用action对分配建模,因为我在UML规范中发现了AddStructural feature value action,但我不知道如何应用它?如果可能的话,有没有使用此操作的示例?非常有用的回答@Aleks,谢谢。我想知道如何使用动作对分配建模,因为我在UML规范中发现了“添加结构特征值”动作,但我不知道如何应用这个动作?如果可能,有没有使用这个动作的例子?