2016-04-04 5 views
1

下の写真では、次の状況を表すメッセージのシーケンス を示す:直ちに応答(PIC 1) UMLメッセージロジック

  • A(刺激)メッセージ右起動することが続かない

    • 同期メッセージ同じオブジェクトによってreesponse(PIC 1)の後に
    • は自己メッセージを刺激せずにトリガすることができます(PIC 2)

    私の質問は:限り、これらとしてケースの説明の中にロジックを再現しても問題ありません。あるいは、UMLは、メッセージ(刺激)とその応答(戻り)の順序を決めなければならないような、ある種のロジックを課していますか?

    ピック1

    enter image description here

    ピック2

    enter image description here

    編集した画像

    ピック1

    enter image description here

    ピック2

    enter image description here

  • +0

    あなたが何を求めているのかは不明です。はい、UMLにはルールがあります。 UML 2.5仕様をダウンロードして、シーケンス図のセクションを読んでみてはいかがですか?それはあなたにすべてのルールを教えてくれます。 http://www.omg.org/spec/UML/2.5/PDFを参照してください。 –

    +0

    おそらく、同じ理由から、ほとんどの人はしません。ユーザーマニュアルではなく、ベンダーのガイドです。しかし、疑問が浮かび上がっています。なぜ、あなたは「かわいい空気から」自己呼び出しをモデル化したいのですか?もちろん、他のメッセージも「どこからも」から始まりますが、シーケンスの最初のメッセージを説明するユースケースがあります。 –

    +0

    @ JimL。それをダウンロードしました。私は何かを見つけるかどうかをskimmよ。そして、私は写真にもっと詳しい情報を追加しましたので、より意味があります。 –

    答えて

    1

    まあ、私はあなたが自己のメッセージのための非同期メッセージを使用しているため、両方の欠陥を持っていると思います。それは有効かもしれませんが、ここで間違って使用する可能性が最も高いです。自己に非同期メッセージを送信すると何が意味されますか?後で見つかるボトルのメッセージ?いくつかのフォークメッセージ?あなたが同期メッセージを意味していたと仮定すると、ユーザー名を受け取った後に、名前の長さの確認が順次アクションになる可能性があるので、上からのライフラインを広げたいと思うかもしれません。

    wrt edit pict 1これはあなたが意図している場合は問題ありません。しかし、私はもう一度それを疑う。これはCheck Name Lengthと呼ばれ、あなたが純粋な楽しみのためにそれをしていない限り、あなたはチェックの結果をどこかで処理するでしょう。これが非同期の場合、チェックが完了したかどうかをどのように知ることができますか?

    +0

    私はあなたが言ったように編集しました。しかし、私は最初の図に非同期の自己メッセージを残しました。私が理解していることから、非同期は応答を必要としません。私は最初のダイアグラムには必要ありません –

    +0

    答えに私の追加を参照してください。 –