シーケンス図とコミュニケーション図の違いは何ですか?
5 に答える
どちらの図も同じ情報を提供しますが、シーケンス図はレイアウトで時間を強調し、コミュニケーション図はレイアウトで通信しているオブジェクトを強調します。
時間は、シーケンス図では暗黙的に示されますが (垂直位置によって推測されます)、コミュニケーション図では明示的に (数値によって) 示されます。
スコット・アンブラーを引用するには
コミュニケーション図とシーケンス図の主な違いは、シーケンス図は順序ロジックを示すのは得意ですが、「全体像」を示すのは得意ではありませんが、コミュニケーション図は正反対です。
メッセージの時間順序を強調する (シーケンス図を使用)
相互作用するオブジェクト間の構造的関係を強調する (コミュニケーション図を使用)。
参考:UMLユーザーマニュアル
シーケンス図は、新しいオブジェクトがそれぞれ右側に追加される一種のフェンス形式で相互作用を示します。
これはコードで何を表しているでしょうか? おそらく、そのクラス A には doOne という名前のメソッドと型 B の属性があります。また、そのクラス B には doTwo と doThree という名前のメソッドがあります。おそらく、クラス A の部分的な定義は次のとおりです。
public class A
{
private B myB = new B();
public void doOne()
{
myB.doTwo();
myB.doThree();
}
// . .
}
コミュニケーション ダイアグラムは、オブジェクトの相互作用をグラフまたはネットワーク形式で示し、オブジェクトをダイアグラムのどこにでも配置できます (ウォール スケッチの利点の本質)。
シーケンス図とコミュニケーション図の長所と短所は何ですか?
ダイアグラムの種類ごとに利点があり、モデラーには固有の好みがあります。絶対に「正しい」選択はありません。ただし、UML ツールは通常、表記能力が高いため、シーケンス図を強調します。
シーケンス図には、コミュニケーション図よりも優れた点がいくつかあります。おそらく何よりもまず、UML 仕様がよりシーケンス図中心になっていることです。表記法とセマンティクスにより多くの考慮と努力が注がれています。したがって、ツールのサポートが向上し、より多くの表記オプションが利用可能になります。また、シーケンス図を使用すると、コール フロー シーケンスを簡単に確認できます。上から下に読むだけです。通信図では、「1:」や「2:」などのシーケンス番号を読み取る必要があります。したがって、シーケンス図は、文書化や、UML ツールを使用してソース コードから生成されたリバース エンジニアリングされたコール フロー シーケンスを簡単に読み取るのに優れています。
しかし一方で、コミュニケーション図は、"UML as sketch" を適用して壁に描画する場合 (アジャイル モデリングのプラクティス) には利点があります。これは、ボックスを水平または垂直のどこにでも簡単に配置または消去できるためです。その結果、コミュニケーション ダイアグラムを使用すると、壁のスケッチを簡単に変更できます。ある場所でボックスを消去し、別の場所に新しいボックスを描画して、そこに線をスケッチするのは簡単です (創造的な変更の多い OO 設計作業中)。対照的に、シーケンス図の新しいオブジェクトは常に右端に追加する必要があります。これは、ページ (または壁) の右端のスペースをすぐに消費して使い果たすため、制限されます。垂直次元の空きスペースが効率的に使用されていません。
以下のリンクは、シーケンス図と通信の違いに対する短い答えです。参照してください。