首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于多线程数据流的UML

用于多线程数据流的UML
EN

Stack Overflow用户
提问于 2011-06-14 22:53:52
回答 5查看 3K关注 0票数 5

我想画一个图,在图中你可以看到java程序的数据流,以及是否有一个或多个线程处理数据。

序列图不会显示多线程,当你有超过5个不同的实体时,会变得非常混乱。

类图可以很好地显示这些关系,但是缺少数据流。

我想画一些盒子(比如类/包图)并把它们连接起来。也许让一个盒子加倍,并在其间插入...,以表明可以有多个线程。

对于这种数据流图,UML有什么图?

哪种编辑器适合这个图表?如果可能,请使用免费软件或开源软件。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-14 23:02:06

我会看一张UML活动图,用来显示多个线程及其并行执行。在通信图上,您有时也会看到线程字母(例如A、B、C)来尝试表示并发线程,但我几乎总是觉得这令人困惑。UML2中有一些片段可能有助于在序列图中显示并发性,但我总是发现这很麻烦,而且图很难重构(这意味着它们很快就会过时)。

如果线程正在执行相同的任务,但是是并行运行的,那么您只需在图中添加一个注释来解释这一点。这样,您就可以专注于准确、干净地对单个线程进行建模。

关于使用哪个工具,大多数IDE都会包含一定程度的UML建模工具,例如,我很乐意使用Eclipse附带的基于EMF的工具。

票数 6
EN

Stack Overflow用户

发布于 2011-06-14 23:15:35

序列图确实对这两个parallel operations and asynchronous调用都有符号,并且将是显示数据流的适当方法。

票数 5
EN

Stack Overflow用户

发布于 2011-06-14 23:02:19

这取决于问题,但我可能会使用活动图来描述事件的顺序:http://www.agilemodeling.com/style/activityDiagram.htm

然后,可能会有一组序列图来捕获每个步骤的类级交互。

或者,您可以考虑以串行方式描述序列(考虑在循环中迭代数组),并注意迭代应该在实现中并行化。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6345518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档