2017-10-16 5 views
1
A::foo() { 
    if (B::bar()) 
     doSomething(); 
} 

B::bar()メソッドコールをUMLシーケンス図で表示するにはどうすればよいですか?otpのガードでのメソッド呼び出し

A::foo() { 
    x = B::bar(); 
    if (x) 
     doSomething(); 
} 

私は最初にメッセージを描くことができるので、[x] guardでオプションボックスを描くことができます。しかし、これはまったく同じではありません。他の方法はありますか?

答えて

1

グラフィカルにプログラムするためにトラップに入るべきではありません。 SDは複雑なアルゴリズムを描くことを目的としていません(断片でネストされたifを実行した後に簡単に推測できるので失敗します)。

x --assignmentがさらに複雑な構造の一部である場合、フラグメント内にそのまま使用することができ、最終的にはxが設定された方法と場所を示すメモを付けることができます。それがあなたの上にある場合は、フラグメント内のxのソース(つまり、B::bar())を使用するだけです。

+0

私は後で使用する場合、私はまだメソッド呼び出しメッセージを描画する必要がありますか? – klenium

+0

ガードで使用するシグネチャはすでに異なるため、これはおそらく必要ありません。しかし、何らかの理由でその代入を指摘したいのであれば、メッセージ自体は結果がどこに行くか(つまり 'x')は分かりませんが、メッセージを前に置いてください。 –

+0

私は1つ、私は "複雑なアルゴリズムを描くためのものではない"と考えて本当に良いです。 – granier

関連する問題