質問

ドメインモデルとデータモデルの違いは何ですか?

役に立ちましたか?

解決

Aのデータモデルは、データとそれの関係を記述することをのデザインのモデルです。モデルは、エンティティが含まれていますが、それらはどのようなのデータの彼らは、このデータまたは何責任があるに作用しない方法所有しています。

の観点から説明されています

は一方のドメインモデルは、問題ドメインの分析に使用される概念モデルです。それは関係、データと振る舞いを持つエンティティの用語でドメインを記述します。これは、問題領域を理解するための関連として、これらのエンティティの責任を記述します。

ところで優秀とUMLへの非常に短い導入があります:

UML蒸留:標準オブジェクトモデリング言語への簡単なガイドする

他のヒント

A のデータのモデルは、テーブル、列、および関係を含む、DBスキーマ定義に焦点を当てています。

A のドメインのモデルは概念(オブジェクトのクラス)、行動(メソッド/ロジック)、および関係を含む、ビジネスドメインに焦点を当てています。

の両方の場合において、カーディナリティが関係するために使用される(例えば、1:1、1:多く、0:多く、...)。

NAME列とFKにしてPERSONテーブルに関連する...、すなわちA名前を持つ人、...とMailingAddress、あなたが理想的に密接に関連するデータモデルとドメインモデルたい、と述べましたあるmailing_addrテーブルエントリ。あなたは、ロジックがホストされている場所を決定する必要があります - 。オブジェクトにDBにおけるソフトウェアシステムの対にプロシージャ、トリガ、および、そのような経て

私は、そのドメインモデルとデータモデルは今やほとんど同じモデリング・テクノロジーダウン新しいトップであると思います。私はあなたのクラス図にモデル化し、あなただけの図に、データベースのステレオタイプを追加できることを意味します。私はその後、使用することをあなたがツールを使用する場合は、あなたのEJB3注釈はすぐにあなたのコードと同期させることでしょう。次のステップでは、データベースを作成するために、マッパーを使用するだけです。この技術は、Javaだけで動作します。

後世のためにここである程度の明確さを提供することが重要だと思います。

データ・モデル 情報を構造化して表現する方法のデザインです。構造とは、「第 5 正規形」のような懸念を意味します。表現とは、整数、浮動小数点、文字列などのコンピューターのシリアル化を選択することを意味します。

用語 ドメインモデル 実際には 2 つの意味が混同されています。

  • のモデル 本質的な特徴 世界の現実のものまたは想像上のもの. 。この種のモデルでは、クラスは人間の概念化を表し、インスタンスは世界に存在するものです。たとえば、「人物」クラスには、あなたと私を含むインスタンスがあり、重要な特徴は、すべての人物に母親がいるということです。この種のモデルは、しばしば 概念的なオントロジー または コンセプトモデル そして意味を与えることを目的としています。
  • のモデル 必要な情報 世界の物事について、通常は何らかのシステムを念頭に置いて. 。この種のモデルでは、クラスは保存する必要がある情報を表します。 について 世の中のこと。たとえば、「人」クラスには、必要な情報を表すインスタンスがあります。 について あなたと私の名前、姓、生年月日、現在の身長、現在の体重など。この情報は多くの場合、 ない 特定のシステムの目的では、その情報は必要ないため、母親などのすべての重要な特徴が含まれます。この種のモデルは、しばしば 情報モデル, 概念的な データ モデル, 、 または 運用上のオントロジー.

UML 言語と OWL 言語の両方を使用して、どちらかの種類のドメイン モデルを表すことができます。どちらも考えられます 分析 ドメインを分析するために使用されるモデル。1 つはドメイン内の物事を理解するために使用され、もう 1 つはドメイン内の物事に対する特定のソフトウェアまたはデータベース システムを構築するための要件を収集するために使用されます。どちらも必要ですが、残念ながら、通常は混同されているため、分析モデルを構築する人自身が何をモデリングしているのか混乱してしまいます。

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