我想画一个图,在图中你可以看到java程序的数据流,以及是否有一个或多个线程处理数据。
序列图不会显示多线程,当你有超过5个不同的实体时,会变得非常混乱。
类图可以很好地显示这些关系,但是缺少数据流。
我想画一些盒子(比如类/包图)并把它们连接起来。也许让一个盒子加倍,并在其间插入...
,以表明可以有多个线程。
对于这种数据流图,UML有什么图?
哪种编辑器适合这个图表?如果可能,请使用免费软件或开源软件。
发布于 2011-06-14 23:02:06
我会看一张UML活动图,用来显示多个线程及其并行执行。在通信图上,您有时也会看到线程字母(例如A、B、C)来尝试表示并发线程,但我几乎总是觉得这令人困惑。UML2中有一些片段可能有助于在序列图中显示并发性,但我总是发现这很麻烦,而且图很难重构(这意味着它们很快就会过时)。
如果线程正在执行相同的任务,但是是并行运行的,那么您只需在图中添加一个注释来解释这一点。这样,您就可以专注于准确、干净地对单个线程进行建模。
关于使用哪个工具,大多数IDE都会包含一定程度的UML建模工具,例如,我很乐意使用Eclipse附带的基于EMF的工具。
发布于 2011-06-14 23:15:35
序列图确实对这两个parallel operations and asynchronous调用都有符号,并且将是显示数据流的适当方法。
发布于 2011-06-14 23:02:19
这取决于问题,但我可能会使用活动图来描述事件的顺序:http://www.agilemodeling.com/style/activityDiagram.htm
然后,可能会有一组序列图来捕获每个步骤的类级交互。
或者,您可以考虑以串行方式描述序列(考虑在循环中迭代数组),并注意迭代应该在实现中并行化。
https://stackoverflow.com/questions/6345518
复制相似问题