シーケンス図のリターンラインはどのようなステップで使用する必要がありますか?
<- - - - - -
戻り行は、メソッド/関数呼び出しから戻る制御のフローを表します
結果を返すメソッド/関数の場合、値が返されていることを示します。
例えば。
result
<-------------
それ以外の場合、voidメソッド/関数の場合は矢印になります
<-------------
非同期呼び出しの場合、呼び出し元は呼び出されたメソッド/関数を制御できないため、結果が返された場合にのみ戻り行を使用します(例:非voidメソッド/関数)
お役に立てば幸いです
[〜#〜]編集[〜#〜]
これは、検索のユースケース用に作成したシーケンス図の例です 検索のユースケース用に作成したシーケンス図の例http://web10.twitpic.com/img/107669708-1d6f9df82534756bfe2a684d4480cc43.4c00f3b0-full .png
匿名ユーザーは非同期呼び出しのみを行うことに注意してください。これは、人間として、アプリケーションに制御を渡さないため、戻り矢印がないためです。
また、「結果」を返すsearch()呼び出しの戻り矢印にも注意してください。
最後に、作成矢印(------ |>)は、インスタンス化されたオブジェクトを暗黙的に返すため、戻り矢印はありません。
編集2
更新された質問への回答:
結果はオブジェクトと同じ方法でユーザーに返されるのではなく、通常はある種のUIに出力されるため、login()などのユーザーによる操作の戻り矢印はありません。別の見方をすれば、ユーザーはプログラムの範囲外であるため、結果を直接返すことは意味がありません。
あなたの図から、私の解釈(一種の擬似コード)は次のようになります:
class User{
public void login()
public void sendEmail()
}
class Patient{
public void getPatient()
}
class Doctor{
public void getDoctor()
}
class Appointment{
//This method returns something, but it's not clear what, so I assumed a boolean
public boolean checkAvailability()
}
ご覧のとおり、これらのメソッドの1つを除いてすべては何も返しません。それがあなたが望んでいたことならそれでいいのですが、そうではないと思います。
また、sendEmail()メソッドをUserクラスに含めるつもりはなかったと思います。
また、checkAvailability()が戻ったときに何が起こっているかを考慮する必要があります。これは、制御フローがUserに戻り、不可解にAppointmentに戻るためです。
操作の戻りメッセージを表します。この記号を使用して戻り値を指定できます。
簡単な例:
club member
|
| getName()
'------------------------>.
|
|
result: "lee" |
<- - - - - - - - - - - - '
String memberName = member.getName();
//memberName now contains "lee"
破線の矢印<----は、メソッド呼び出しからの戻り値です。