2017-09-26 5 views
0

私はXというアクタを持っています。このアクタはユースケース:ビューインベントリに接続されています。 ビュー項目と呼ばれるユースケースもあります。インベントリを表示している間、アクタはインベントリに属する​​アイテムを表示することを選択できます。2つのユースケース間でUMLを拡張するかどうかを指定します

この場合:ビューアイテムユースケースはビューインベントリを拡張する必要がありますか?アクタがすべてのインベントリを見ながら項目を表示するのはオプションですか? どちらのケースも単にアクターに接続されていて、相互に接続されていないはずですか?

UML 2と統一プロセスでは、一般的に、拡張のユースケースは完全な使用例であり、インスタンス化できないと述べています。 私は自分の状況に本当に混乱しています。ここで

simpelerビュー:

利用の場合:ビューの在庫

---->拡張表示項目

あなたが最初のビューの在庫から特定の在庫を選択せず​​にアイテムを表示することはできません使用事例。これはオプションです。

ユースケース:表示項目は

延長---->拡張項目 を追加---->追加または削除する前に、特定のインベントリからアイテムを表示する必要がある項目

を削除アイテム。これはオプションです。 enter image description here

+0

短い答え:いいえ、この場合は使用しないでください。この質問は、[ユースケース図のインクルードと拡張の違いは何ですか?](https://stackoverflow.com/質問/ 1696927/whats-is-the-difference-between-use-with-use-case-diagram) –

+0

[ユースケース図のインクルードと拡張の違いは何ですか?](https: //stackoverflow.com/questions/1696927/whats-is-the-difference-between-include-and-extend-in-use-case-diagram) –

+0

@GeertBellekensさらに詳しい情報を追加しました。 – Urban

答えて

1

これらの拡張/インクルード関係を忘れた方がよいでしょう。あなたはUCに機能分解を適用したいと思っています。それは単にあなたがここで達成しようとしているものの反対です。 UCは、検討中のシステム(SUC)がそのアクターの1人に提供するユニークな付加価値でなければならない。したがって、UCは、SUCを表す境界内に単純なバブルとして、そして外に立つ俳優として最もよく見えます。境界の右の境界線に左アクタと(存在する場合)二次アクタを配置するのは一般的です。

  • extend/includeを使用しないでください。 (私は本当にそれらの関係を必要としませんでした.IMHOはUMLの設計上の欠陥です。)
  • あなたのUC図がスパイダーウェブに似ていると、デザインが破損する可能性があります。
  • UCは機能の順番ではありません。あるUCが実行された後にのみUCを実行できる場合は、制約{ can only be executed after UC x has been completed once }などを追加します。
  • +0

    フィードバックいただきありがとうございます!だから私の場合、私は単に2つの泡を作り、それらを俳優にのみ接続し、お互いには接続しないでください。しかし、私のアプリケーションでは、俳優は在庫を選択した後でしかアイテムを見ることができません。ユースケース図でこれをどのように表示できますか? – Urban

    +0

    '{inventoryを選択する必要があります}'という制約を 'view'に追加するだけです。 –

    関連する問題