UML クラス図における境界クラス、コントロール クラス、エンティティ クラスとは何ですか?

StackOverflow https://stackoverflow.com/questions/683825

  •  22-08-2019
  •  | 
  •  

質問

私は現在、IDE として NetBeans を使用していますが、これには UML モデリング用のプラグインが含まれています。クラス図には、として知られるモデル要素があります。 Boundary Class, Control Class, 、 そして Entity Class. 。ただし、それらの適切な定義は見つかりませんでしたが、見つけました。 このサイト UML クラス図について。

役に立ちましたか?

解決

多くのOOADとビジネスモデリングの一環として/を使用。ニールによって定義が正しいですが、それは基本的にMVCと同じですが、ただのビジネスのための抽象化。 「グッドサマリは、」よく、それはニールの箇条書きと私の仕事、より詳細なしかし、インラインではないように、私はここでそれをコピーしません行われます。

グッドサマリ - Conceito:エンティティ制御 - 境界パターン

OOADする

他のヒント

ロバストネス図は、ユースケースの後、クラス図の前に記述されます。これらは、ユースケースのステップの役割を特定するのに役立ちます。それらを使用して、 ユースケースが十分に堅牢であることを確認する 構築しているシステムの使用要件を表します。

それらには以下が含まれます:

  1. 俳優
  2. 使用例
  3. エンティティ
  4. 境界線
  5. コントロール

一方、 モデル-ビュー-コントローラー パターンはユーザー インターフェイスに使用され、Entity-Control-Boundary Pattern (ECB) はシステムに使用されます。役立つ場合は、ECB の次の側面を MVC の抽象バージョンに例えることができます。

UML notation

エンティティ (モデル)
システム データを表すオブジェクト。多くの場合、ドメイン モデルからのもの。

境界線 (ビュー/サービス協力者)
システム アクターとインターフェイスするオブジェクト (例:ある ユーザー または 外部サービス)。ウィンドウ、画面、メニューは、ユーザーとのインターフェイスとなる境界の例です。

コントロール (コントローラ)
境界とエンティティの間を仲介するオブジェクト。これらは境界要素とエンティティ要素の間の接着剤として機能し、さまざまな要素とその相互作用を管理するために必要なロジックを実装します。設計内でコントローラーをオブジェクト以外のものとして実装することを決定する可能性があることを理解することが重要です。多くのコントローラーは、たとえばエンティティまたは境界クラスのメソッドとして実装できるほど単純です。

彼らのコミュニケーションには 4 つのルールが適用されます。

  1. アクターは境界オブジェクトとのみ会話できます。
  2. 境界オブジェクトはコントローラーとアクターのみと通信できます。
  3. エンティティ オブジェクトはコントローラーとのみ通信できます。
  4. コントローラーは境界オブジェクト、エンティティ オブジェクト、および他のコントローラーと通信できますが、アクターとは通信できません。

許可される通信:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X

これらは分析で使用されるクラスのステレオタイプです。

  • 境界クラスはシステムの境界にあるクラス、つまりユーザーまたは他のシステムが対話するクラスです。

  • エンティティ クラス クラスは、「個人」や「銀行口座」などの典型的なビジネス エンティティです。

  • コントロール クラスはビジネス ロジックなどを実装します。

は、実際には、ロバストネス図(またはそれらが時々呼ばれているとして分析図は、)だけでクラス図を専門にしています。彼らは、( - ブックの「三アミーゴス」シリーズの一部ヤコブソン氏の著書、統合ソフトウェア開発プロセスを参照してください)UMLの一部であり、初めからされています。前述した本は、頁183から185にこれらの三つのクラスの良い定義を持っています。

境界制御エンティティ パターンには 2 つのバージョンがあります。
- 127 で説明されている古い構造 (データ モデル要素としてのエンティティ、関数としてのコントロール、アプリケーション インターフェイスとしての境界)
- 新しいオブジェクトパターン


オブジェクトパターンとして:
- 境界は「異世界」へのインターフェース
- 任意の内部ロジックでの制御 (DDD パターンのサービスなど)
- エンティティは、オブジェクトの永続化サービスです (DDD パターンのリポジトリのような)。
すべてのクラスには操作があります (ファウラー貧血ドメイン モデルのアンチパターンを参照)
それらはすべて MVC パターンの Model コンポーネントです。ルール:
- 「異世界」向けのサービスを提供しているのはBoundaryだけです
- Boundary は Controll のみを呼び出すことができます
- コントロールは誰にでも電話をかけることができます
- エンティティは誰にも呼び出すことができず (!)、呼び出されるだけです。

ジェイズ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top