辞書などのドメインモデル

A "領域モデル" 視覚的には誰があなたのプロダクトを記述する表し. ドメインモデルは、人とシステムと抽象的アイデアとの関係を示している辞書です. これは、パターンを発見するのに便利な方法を提供しています, 誤差脱漏.

ドメインモデルを使用すると、ブレークダウン曖昧さを助ける. 彼らは、私たちは、より複雑な考えを表現するために使用する辞書になる, そのようなワークフローなど.

ドメインモデルを示しています 新製品の; これらは私達が私達の中で識別された物理的および抽象名詞である 意識運動の流れ.

[技術注記: ドメインモデルは、オブジェクト指向プログラミングにおけるクラス間の関係を表すために使用され. ここで説明したドメインモデリングは、物理的および抽象オブジェクト間のより一般的な関係であり、, どの月か最終的なコードのクラスとして表現さ​​れない場合があります。]

私たちは、使用 "持っている" 集計を表示する関係, 一部が相互に属していること; と, AN "です" 一般化を示すために関係, その一部は、別の特殊化. このように, 私たちは、視覚的にボックスや線を介しての執筆、ページの10​​Sに存在する同じ情報を表すことができます. あなたは、以下の図に、これらの関係が表示されます, どこ "持っている" ダイヤモンド·エンド·ラインによって表され、 "です" 矢印で.

あなただけを始めている場合は、鉛筆と紙は、単純なドメインモデルを作成するための好ましい方法である. あなたのニーズはより高度化, スパークスシステムズのようなエンタープライズ·アーキテクトとしての専門的なUMLのソフトウェアが便利になる (複雑なオーバー) ツール.

の使用例をいくつか見てみましょう SOFIns, 私の最も最近のベンチャー.

簡単な例

私のSOFInsサービスで, A コントロールエージェント リモートコンピュータへの特別なアクセスを可能にするソフトウェアです. SOFIns複雑なソフトウェアシステムです. それは私が一貫性のある用語を使用してそれを記述することは非常に重要であり、この用語は私の開発者が理解することは容易である. ここではそれの一部がどのように機能するかである, 一口に書き出さ:

A ユーザー があります コントロールエージェント. の2種類があります ユーザー: A 受信者 そして 差出人 または 所有者. A 受信者 持つことができます コントロールエージェント それが呼び出される 外国代理人. アン 所有者/送信者 持つことができます コントロールエージェント それが呼び出される 共有エージェント.


これと同じデザインがあることを示し、対称ドメインモデルを介して視覚的に表現することができる 共有のフォーリン エージェントは、特殊化され コントロールエージェント その 受信者, 所有者と送信者 すべての特殊化は、 ユーザー. モデルの読み込み, 私たちは見ることができます:

  • ユーザーがコントロールエージェントを持ってい
  • 受領者は、ユーザーである
  • 受信者は、外部エージェントを持ってい; と, 外部エージェントは、コントロールエージェントである.
SOFIns Domain Model for Agents and Users.

エージェントとユーザのためのSOFInsドメインモデル.

何が理解することがより簡単である, ユーザーと制御剤のテキスト表現は、上記の黄色のボックスや対称性を有するイラストで説明? あなたは、私が構築された技術システムを理解していない可能性, しかし、あなたは、同じのより簡単な表現を識別することができます 関係.

現実的な例

マイSOFInsサービスは、リモートコンピュータの制御を取ることができます, そのコンピュータは、オペレーティング·システムがインストールまたはハード·ディスク·ドライブに機能有していない場合であっても. この技術的偉業を達成することに関与する多くの部分があります. それは私が説明することは非常に重要です ワークフロー 一貫性のある使用して, 明確に定義された用語. それは私の開発者が、これらの用語を理解することも同様に重要である.

ここで私は、物理的および抽象的なオブジェクトの定義された方法です (ザ 私のサービスの). この図は、4つの主要コンポーネント間の単純な関係としてスタートし、より特化したオブジェクトがワークフローを精製する過程で同定されたとして進化.

下の図は、何が、あいまいである. 複雑な? はい. 曖昧な, いいえ.

SOFIns Subsystem Showing "Component A" Objects

SOFInsサブシステム目を表示 "成分A" オブジェクト

10月30日, 2013 投稿者 ジョンJaroker に提出された: DomainModeling, UML

コメントする最初の人になる. コメントを残す

あなたのメールアドレスは公開されません. 必須フィールドがマークされている *