web-dev-qa-db-ja.com

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

現在、NetBeansを選択のIDEとして使用しており、UMLモデリング用のプラグインがあります。クラス図には、Boundary ClassControl Class、およびEntity Classというモデル要素があります。しかし、それらの適切な定義を見つけることはできませんが、UMLクラス図で このサイト を見つけました。

78
Thomas Owens

多くの場合、OOADおよびビジネスモデリングの一部として、またはその一部として使用されます。 Neilによる定義は正しいですが、基本的にMVCと同じですが、ビジネス用に抽象化されています。 「概要」はよくできているので、ここではコピーしません。これは私の作品ではなく、より詳細ですが、ニールの箇条書きに沿ったものです。

良い要約-Conceito:Entity-Control-Boundary Pattern

OOAD

19
Ted Johnson

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

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

  1. 俳優
  2. ユースケース
  3. エンティティ
  4. 境界線
  5. コントロール

Model-View-Controller パターンがユーザーインターフェイスに使用されるのに対し、Entity-Control-Boundary Pattern(ECB)はシステムに使用されます。 ECBの次の側面は、MVCの抽象的なバージョンに例えることができます。

UML notation

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

境界線(view/service collaborator)
システムアクターとインターフェイスするオブジェクト(例:userまたはexternal service)。ウィンドウ、画面、およびメニューは、ユーザーとのインターフェースの境界の例です。

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

4つのルールが通信に適用されます:

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

許可された通信:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X
181
Pup

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

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

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

  • 制御クラスは、いくつかのビジネスロジックなどを実装します

16
anon

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


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

jz

4
Jarek Zelinski

実際、ロバストネスダイアグラム(または分析ダイアグラム、時には呼ばれる)は、単に特殊なクラスダイアグラムです。それらはUMLの一部であり、最初からのものです(Jacobsonの本、The Unified Software Development Process-「Three Amigos」シリーズの本を参照)。前述の本は、これらの3つのクラスを183-185ページで適切に定義しています。

4
KP Haldeman