ログイン
検索
メインメニュー
開発者ブログ
ChangeVisionメンバーズ分布マップ
フォーラム一覧   -   トピック一覧
   UML全般
     シーケンス図:replyメッセージの仕様について
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
3moon
投稿日時: 2008-9-8 10:02
新米
登録日: 2008-9-5
居住地:
投稿: 5
Re: シーケンス図:replyメッセージの仕様について
ご回答ありがとうございます。
私もreplyメッセージは呼び出し元にだけ返るという見解には賛同します。
ですのでJUDEの仕様はこれでしっくりきています。
ただ、UMLの仕様上制限がないのであれば、オプションで変更可能にしておいても良いかもしれませんね。

フラグメントもよく分りました。
しかし、こちらも仕様がいまいち分りませんね。

仕様があまりに自由だと出来る図が個人のスキルに依存してしまうので、ある程度ツールに組み込んだ方がツールとしては良いでしょうね。
でも同じこと繰り返しますが、仕様に従った書き方もオプションで出来ると嬉しいですね。




okamura
投稿日時: 2008-9-5 17:14
開発者
登録日: 2006-5-2
居住地:
投稿: 157
Re: シーケンス図:replyメッセージの仕様について
3moonさん、こんにちは。
私は2は、今のところNGと考えるのが自然なのではないかと考えています。UMLの仕様書で明確にそれを言っている個所は、ぱっと指示せませんが、replyメッセージは操作呼び出しの戻りを表現するものだと思います。そのため、オブジェクトBが自分のオブジェクトの操作を呼び出したのなら、その戻りはやはりオブジェクトBになるのが自然なように感じるためです。
ツールとしては、そのような制限を加えない、という仕様もあってよいと思いますが、JUDEではそこに制限が入っています。

5についても2と同様の考えをしています。

6については、reply周辺のみをフラグメントを使ってかかずに、その呼び出しにあたるメッセージからフラグメントを使って描くようにするのはいかがでしょうか。それでもし共通部分が多くなる場合は、InteractionUseを使ったりできると思います。または、replyメッセージで表現すべきところを、通常のメッセージで代用してもいいかもしれません。UMLの仕様がどうかをスパッと指し示すことができるとよいのですが、すいませんが、こちらもちょっと難しいですね。ツール開発者として非常にまずいですが、曖昧なところも残っています(^^;;;
3moon
投稿日時: 2008-9-5 13:04
新米
登録日: 2008-9-5
居住地:
投稿: 5
シーケンス図:replyメッセージの仕様について
JUDEとEnterprise Architectを使ってモデル図を書いています。
そこでそれぞれのツールで出来ることが違うのでUMLの仕様上正しい描き方を知りたいです。手元の仕様書を見ましたがいまいち分りませんでしたので・・・。

シーケンス図で、オブジェクトAからオブジェクトBにメッセージを送ります。オブジェクトBは自己呼び出しをします。

ここで幾つかのケースで質問です。

1.自己呼び出しが終わりメインの活性区間からreplayメッセージを返す。これは普通。

2.自己呼び出しの区間からオブジェクトAへreplayメッセージは描けますか?
3.またその場合、メインの活性区間から別のreplyメッセージはかけますか?

JUDEの場合
 2→書けません。
   自己呼び出しからのreplyメッセージはオブジェクトBのメインの活性区間にしか戻せません。
   よって、1つの活性区間から1つのreplyメッセージの規約上、3も書けません。
Enterprise Architectの場合
 2→書けます。
 3→書けます。

どちらが使用上正しいのでしょうか。

4.1つの活性区間には1つのreplyメッセージが仕様だと思いますが、合ってますか?
    JUDE
     そうなってます。
    Enterprise Architect
     メインの活性区間はそうなってます。
     しかし自己呼び出しの区間からはいくつでも書けます。

5.replyメッセージは受信メッセージがないと書けないのが仕様だと思いますが、合ってますか?
    JUDEはそうなっていますが、Enterprise Architectは受信メッセージがなくてもreplyメッセージが書けます。

6.条件によって返すreplyメッセージが違います。
  このときフラグメントを使って書きますが、それぞれの条件で別のreplyメッセージを戻せますか?
    JUDE
     1つの活性区間で1つしか返せないので不可
     フラグメントにメッセージが属するわけではない?
    Enterprise Architect
     自己呼び出しを使えば可能
     (自己呼び出しの区間からオブジェクトAに返して良いのが仕様であれば問題なしです)


ばらばらと初歩的な質問になりますが、よろしくお願いします。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を