0

インクルード、エクステンドなどの依存関係の例をいくつか見つけましたが、まったく混乱しています。1 つの例では、次includeの方向にある必要があります。

user profile --> login

一方extends、の方向にする必要があります。

validate credit card <-- print receipt.

一方required、の方向にする必要があります。私の人生では、なぜこれができないのかわかりませんinclude

place order --> create account

また、これらがどのように構築されているかは重要ですか

user profile --> login (include)

      **vs**

validate credit card (extend)
       ^
       |
       |
       |
  print receipt
4

1 に答える 1

1

あなたの質問のすべての部分を完全に理解しているかどうかはわかりませんが、ここに行きます:

インクルードは、インクルードからインクルードへと進みます。これは、ユース ケースの必須のサブ部分を示します。

including -----------> included
          <<include>>

Extend は include と同じですが、sub 部分は必須ではありません。残念ながら、矢印は逆です。これはあなたをとても困惑させているようです。

including <----------- optionnally included
            <<extend>>

あなたが必須について話すとき、それは匿名の破線の矢印だと思いますか? 実際、そのような依存関係は、ユースケースであろうとなかろうと、何に対してでも書くことができます。ユースケースではそれほど一般的ではありませんが、ユースケースに前提条件として別のユースケースがあることを意味する場合があります。インクルードとの違いは、サブパーツではないことです。この場合、このように描画されます。

requiring -----------> required

あなたの例では、注文するには、アカウントを作成している必要があるようです (確かに論理的です)。ただし、アカウントの作成は注文のサブ部分ではないため、含まれていません。

最後の質問ですが、垂直/水平について話しているのですか? もしそうなら、それはUMLでは問題ではありません。実際、ポジショニングについてのルールはありません。唯一のルールは明確に保つことです。

于 2013-04-05T17:10:58.317 に答える