2016-04-03 24 views
2

私は、公衆電話(PP)システムのシーケンス図を描いています。私は何をしようとしています: - のメッセージ:発信者はお金を入れ、呼び出し先の電話番号との呼び出し要求を送信します - PPのメッセージ:PPの呼び出しの継続時間を計算します - 通話時間制限をCALLERに設定 - 次のメッセージ:通話時間計算中に発信者と着信者が通信する - >このメッセージは継続時間メッセージの一部です - PPの通話終了時間を検出するメッセージ - 次のメッセージ:コミュニケーションを終わらせるためにUMLシーケンス図「メッセージの継続時間」

以下は私がやろうとしていることの写真です:

enter image description here

どのように私は正しくここにLOOPフラグメントないメッセージ(特にメッセージ4など、それの後)をreprensentべきでしょうか?持続時間は、依然として斜め線と明らかである...そのメッセージ10は、メッセージ4

編集図 enter image description here

LAST改変された図 < ---の持続時間を閉じるものであるようにOK !!!これは、メッセージ自体の継続時間を知らせるため、私は1つはあなたが両方のメッセージ4

enter image description here

答えて

1

あなたはループせずに話して参加者を表示することはできません。それはメッセージXXを送信するためにXX:XXの時間がかかりません。それはUMLを乱用するようです。

非同期メッセージ(開いている矢印のあるメッセージ)を使用する方がよいでしょう。通話を開始する1つ、電話を介して発信者と着信者との間で多くの前後のメッセージ、および通話を終了する1つのメッセージ。電話による前後のメッセージは、オプション、並列、およびループとして表示できます。

実際に使用する必要があるのは、ステートマシンの図です。それは、あなたが時間制限に達したときを含め、このプロトコルの許可されたすべての痕跡を表現することを可能にします。シーケンス図は通常、許可されたすべてのトレースのサブセットを示しています。それらをすべて表示しようとすると、ダイアグラムが読みにくくなり、メンテナンスがほとんど不可能になります。

+0

私はUMLの初心者ですので、マシンの状態やタイミング図をどのように使うのか分かりません。とにかく、あなたの返信の第1段落はあなたのすぐ下の答えのように何かを示唆しているようです。私は断片を使わずに何かできることを望む。 –

+0

ステートマシンの最近の例です:http://stackoverflow.com/a/36368880/2596664 –

+0

シーケンス図を使用する必要がある場合は、少なくともすべてを非同期メッセージに変更してください。 –

2

を言ってきたもの合計すると思い

は角度を付け描かれてはいけません。

enter image description here

altがデフォルトとタイムアウトを持っています

ここでも、フラグメントを利用することができます。このようなタイミング制約をより良い方法で表示できる重要な領域を持つアクティビティ図を使用して、これを補強することができます。

enter image description here

+0

ここにOPTフラグメントも他のフラグメントも使用しない方法はありますか? OPTが唯一の方法であれば、[Defaul]、[time exceeded]、[その他の条件]を使用できますか? –

+0

Hey Kurt、あなたのアドバイスに従って、私は私のdiagrammの図を編集しました。あなたはそれを見てみることができますか? –

+0

@ JimL。あなたはおそらく正しいでしょう。しかし、私はスーパーストラクチャーのすべてを金のバランスに置いていません。おそらく 'alt'を使用してそれを少し狭めて、戻り値のみが影響を受けるようにしてください。私はそれを変更します。 –

関連する問題