5

Javaプログラムのデータフローと、データを処理するスレッドが1つまたは複数あるかどうかを確認できる図を描きたいと思います。

シーケンスチャートはマルチスレッドを表示せず、5つを超える異なるエンティティがある場合は非常に混乱します。

クラス図は関係を示すのに適していますが、データフローがありません。

ボックス(クラス/パッケージ図など)をペイントして接続したいと思います。たぶん、...複数のスレッドが存在する可能性があることを示すために、ボックスを2倍にしてその間に配置します。

この種のデータフロー図に対してUMLにはどのような図がありますか?

その図に適したエディターはどれですか?可能であれば、フリーウェアまたはオープンソース。

4

5 に答える 5

6

複数のスレッドとそれらの並列実行を示す UML アクティビティ図を見てみましょう。通信図では、並行スレッドを示すためにスレッド文字 (A、B、C など) が表示されることもありますが、ほとんどの場合、これは混乱を招きます。UML 2 には、シーケンス図で並行性を示すのに役立つフラグメントがありますが、これは面倒で、図をリファクタリングするのが難しい (つまり、すぐに古くなってしまう) といつも思います。

スレッドが同じタスクを実行しているが、並行して実行している場合は、図にメモを追加してこれを説明できます。このようにして、単一のスレッドを正確かつきれいにモデリングすることに集中できます。

どのツールを使用するかに関しては、ほとんどの IDE にある程度の UML モデリング ツールが含まれています。たとえば、Eclipse に同梱されている EMF ベースのツールを喜んで使用します。

于 2011-06-14T15:02:06.253 に答える
5

シーケンス図には、並列操作と非同期呼び出しの両方の表記があり、データフローを示す適切な手段になります。

ここに画像の説明を入力

ここに画像の説明を入力

于 2011-06-14T15:15:35.473 に答える
3

問題によって異なりますが、イベントのシーケンスを説明するために、おそらくアクティビティ図を使用します: http://www.agilemodeling.com/style/activityDiagram.htm

次に、一連のシーケンス図を作成して、これらの各ステップのクラス レベルの相互作用をキャプチャします。

または、シーケンスをシリアルに記述して (ループ内で配列を反復することを考えてください)、反復を実装時に並列化する必要があることに注意してください。

于 2011-06-14T15:02:19.220 に答える
0

マルチスレッドを表示するには、さまざまな色を使用して表示できます。

たとえば、赤は 1 つのスレッドを示し、青の色は別のスレッドを示します。

于 2012-04-18T09:05:25.377 に答える