1

コミュニケーション図で次のように表現する方法を知りたいです。

foreach (User user in UsersCatalog) {
    list.add(user.getId());
}

私は実際に次のようなものを持っています

代替テキスト http://img691.imageshack.us/img691/9213/semttuloyc.png

(利用者=利用者)

しかし、お気づきのように、ループのようなことをしているという事実をうまく表現していません。

どうすればこれを達成できますか?

4

3 に答える 3

3

getId() : intアスタリスク (*) で定義するだけです。

1.4 *getId()

与えられた例のために。

于 2010-06-06T22:21:18.770 に答える
1

この図をシーケンス図で補完してみませんか?. シーケンス図は、イベント間の時間的な関係を表現するのに適していて、ループを表現するための定義済みの表記法があります。

于 2010-06-06T22:01:31.820 に答える
0

ジョルディが述べたように、ループを記述するにはシーケンス図の方が優れています。その理由は、メッセージ パッシングを使用して通信するオブジェクト間の相互作用を記述したいからです。この目的のために、UML では、相互作用のさまざまな側面に焦点を当てたさまざまな相互作用図を定義しています。シーケンス図は、オブジェクト (ライフライン) 間で渡されるメッセージのシーケンスに焦点を当てているため、ループ シーケンスで送信メッセージをキャプチャすることは理にかなっています。通信図は、特定のメッセージを相互に送信する通信オブジェクトに焦点を当てています。これらの図は、送信されるメッセージの種類と順序のみを示しているため、ループのモデリングには役立ちません。ただし、コミュニケーション ダイアグラムを適切な目的で使用し、コードにループを含めたい場合は、elysium のアドバイスに従う必要がありますが、心に留めておいてください。このアスタリスクは、不明な数のメッセージがあることを意味するため、ループの条件をキャプチャする式 (理想的には OCL) を追加する必要があります。詳細については、以下を参照してください。 http://www.smartdraw.com/resources/tutorials/uml-collaboration-diagrams/ http://en.wikipedia.org/wiki/Unified_Modeling_Language#Interaction_diagrams

于 2010-06-08T23:03:12.690 に答える