2016-08-18 15 views
3

オブジェクトarrayが与えられ、任意のクラスArrayのインスタンスがあり、この目的のためには属性がlengthです。オブジェクトをガード条件で使用するためのUML決定ノードの構文

制御フロー文、つまり決定ノードのガードにおいて、ある時点でarray.lengthを使用するUMLアクティビティ図をモデル化するにはどうすればよいですか。

array = getArray(); 
if (array.length > 5) 
    save(); 
else 
    waitForData(); 

は、私が使用される決定ノードの警備員が[array.length > 5][array.length <= 5]だろうことを知っています。しかし、これをアクティビティ図に存在するオブジェクトフローとどのように統合できるかはわかりません。

答えて

2

UMLは、ガードの記述方法を指定していません。それは論理的な表現、すなわち真のものか偽のものかを評価するものでなければなりません。 自然言語、任意のプログラミング言語、またはOCLを使用できます。 あなたが使ったステートメントは絶対に有効です。 さらに、オブジェクトの状態をオブジェクトノードに置くことができます。 [length> 5]

+0

また、**自然言語契約**はUMLで完全に受け入れられています。 – mike

+0

@mike OCL /正確な言語の目的は、それらが機械消費可能であり、あいまいさをもたらさないということです。あなたのターゲットオーディエンスが人間の場合、自然言語で十分です。 –

関連する問題