シーケンス図に「if」条件を表示するにはどうすればよいですか?


194

ifシーケンス図で" "ステートメントをどのように表すことができますか?

if (somethingShouldBeDone) {
       // Do it
} else {
       // Do something else
}

それはまったく表現できますか?問題は...私のコードでは、さまざまなアクションを決定するためにかなりの量の条件がチェックされます。アクションを表示する場合、アクションは特定のイベントによって引き起こされることを明示的に述べたいと思います。

可能であれば、ソリューションのイメージ表現を作成します。


1
この質問は古く、まだ検索を行っていませんが、分岐を表示することがシーケンス図にとっても良いアイデアであるかどうか疑問に思いました。シーケンスの条件はシナリオで明示的に記述されていると常に思っていたため、シーケンス中に分岐は発生しませんでした。代替パスは、独自のシーケンス図を持つシナリオのバリアントを記述することによって処理されました。やや主観的なので、メタやソフトウェアエンジニアリングに投稿するべきでしょうか?
ケリーS.フランス語

回答:


285

else else条件の場合、UML用語では代替案とも呼ばれ、シーケンス図で表すことができます。これは件名に関するすばらしいリソースを見つけることができるリンクです http://www.ibm.com/developerworks/rational/library/3101.html

altで分岐


Visioでは、Alt別の名前で呼ばれていますか?見つけられないようです
James Raitsev、

13
Visio自体はUMLモデリングツールではありません。UML 2.0を使用する場合は、2.0仕様を完全に実装する適切なVisioステンシルを見つける必要があります。いくつかの無料のステンシルはあなたがそれらのいくつかを試してみることにしたい場合があり、ウェブ上で利用可能があります:)ここでは良い(かかわらず、すべての機能を試していない)に見えるものですsoftwarestencils.com/uml
ゲタ

Visio以外に他のUMLツールはありますか?エンタープライズアーキテクトは十分ですか?
Venkat Madhav

1
@VenkatMadhav本当に言えない。私は全力でそれを使用したことがありませんが、グーグルで見つけた読書から、それはかなり良いはずです
GETah

@Venkat私は個人的に視覚パラダイムのファンです。(visual-paradigm.com
コーディ投票

35

貼り付けたら

A.do() {
  if (condition1) {
   X.doSomething
  } else if (condition2) {
   Y.doSomethingElse
  } else {
   donotDoAnything
  }
}

https://www.zenuml.comにアクセスます。それはあなたのための図を生成します。if / elseシーケンス図


@ Gholamali-Irani Chrome拡張機能を試しましたか?
Xiao Peng-ZenUML.com

もしそうならA.do(int condition)-もし.. else ... elseなら、1回の呼び出しの結果としてすべてが起こるわけではありません。フローは条件引数に依存します。ZenUMLがそれを描くことができれば、すばらしいでしょう。時間内に注文された3つの通話になります。
シェフグラディエーター

@ChefGladiator私はあなたが何を言っているのか理解できるかどうかわかりません。ここにいくつかの疑似コードを追加していただけませんか?または、サイトで私を指すことができます。
Xiao Peng-ZenUML.com

確かに、ここにコードがあります:wandbox.org/permlink/PURdGJc8YxJmpUh7-すべての条件を満たすために3つの呼び出しが必要です。UMLシーケンスは、1つではなく3つの呼び出しを表示する必要があります。
シェフグラディエーター

もちろん、アクティビティ図はアルゴリズムの内部を示すのに適しています/
Chef Gladiator

2

非常にシンプル、使用 Altフラグメント

ATMマシンのシーケンス図の例を見てみましょう。

IFカードが挿入された....「PINを入力し、」プロンプトの後、有効になりELSEプロンプト「無効なピンを」

次に、同じのシーケンス図を示します

ATM機シーケンス図

お役に立てれば!


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.