|
 |
仕入注文(Purchase Order) |
| |
ここでは、製造業を例に説明します。企業が企業活動を行うには、製品を生産するために必要な原料、資材、および部品を他企業から購入する必要があります。
ここでは、企業が他企業から原料などを購入するときに使用する仕入注文をモデリングします。発注側の当該企業がパーティ(当事者)となり、仕入注文を発行します。仕入注文書には、複数の注文商品が数量ごとに記載されます。商品単価を基に注文商品の価格(販売価格)が設定され、注文商品の数量ごとの小計を計算します。その小計を基に仕入注文自体の総合計を計算します。サンプル モデルでは、「注文商品」と「仕入注文」の関係が1対1または1対多になります。すなわち、仕入注文には必ず1つ以上の注文商品が存在することになります。ここではモデルを見やすくするために、「注文商品価格」や「仕入注文日」という完全名を使用していません。 |
| |
 |
 |
| Describeモデル |
ER/Studioモデル |
 |
|
| AllFusion ERwin Data Modeler
モデル |
|
|
|
 |
購入注文(Sales Order) |
| |
引き続き製造業を例に説明します。
企業が利益を計上するためには、生産したモノを販売する必要があります。
ここでは、企業が他企業から製品の販売依頼を受けるときに使用する購入注文をモデリングします。発注側の外部企業がパーティ(当事者)となり、購入注文を発行します。購入注文書には複数の注文商品が数量ごとに記載されます。
商品単価を基に注文商品の価格(販売価格)を設定し、注文商品の数量ごとの小計を計算します。その小計を基に購入注文自体の総合計を計算します。
サンプルモデルでは「注文商品」と「購入注文」の関係が1対1または1対多になります。すなわち、仕入注文には必ず1つ以上の注文商品が存在することになります。購入注文は先述の仕入注文と類似していることに気付かれたかと思います。なぜなら、各モデルでの当該企業の役割が違うだけで、売買されるモノやサービスは基本的に注文商品として同等に取り扱われているためです。役割の違いを説明すると、仕入注文では当該企業は「買う立場」にあり、購入注文では当該企業は「売る立場」にあるという意味です。そのため、買う場合は「仕入れるための仕入注文」となり、売る場合は他企業が「購入するための購入注文」となります。
|
| |
 |
 |
| Describeモデル |
ER/Studioモデル |
 |
|
| AllFusion ERwin Data Modeler
モデル |
|
|
|
 |
契約簡易版 |
| |
仕入と購入で別々のエンティティを作成するのは効率的ではありません。仕入と購入で別々のエンティティを作成した場合は、冗長したエンティティの保守コストが増加するためです。ここでは、保守コストを節約するために仕入注文と購入注文モデルを統合します。統合するためには、仕入注文や購入注文を契約として抽象化します。モデルでは売買契約を例にしているので、売主と買主の2人のパーティが必要になります。販売項目にサービスを追加しましたが、契約と注文商品の関係が1対1あるいは1対多となっているので、注文商品から商品タイプとサービスへの関連は排他的になります。 |
| |
 |
 |
| Describeモデル |
ER/Studioモデル |
 |
|
| AllFusion ERwin Data Modeler
モデル |
|
|
|
 |
契約詳細版 |
| |
契約簡易版を基にモデルを拡張します。多数のエンティティが追加されたように見えますが、主なエンティティは簡易版のままです。このモデルは、販売する商品が単なる抽象的な商品タイプから、販売可能な有形物、貸借対照表に資産として計上されないカタログ上でのみ存在する商品、またはサービスといった無形物に分解されました。残りは主なエンティティを分類しました。他企業と行う売買契約、個人と行う雇用契約、または官公庁と行う許認可契約などを視野に入れています。契約と注文商品の関係が1対1または1対多となっているので、注文商品から資産、カタログ商品、または活動への関連は排他的になります。 |
| |
|
|
|
| Describeモデル |
ER/Studioモデル |
|
|
※ こちらのモデルはダウンロードできます |
| AllFusion ERwin Data Modeler
モデル |
|
|
|
 |
静的契約ロール |
| |
これまで、売主と買主のみに焦点を当てていましたが、実際の契約にはさまざまな役割を持つ関係者が存在する可能性があります。例えば、為替小切手の場合には、代金の支払いが買主ではない第三者になる可能性がありますし、配達を売主以外の第三者物流企業が行う可能性もあります。このモデルでは、契約の主当事者である甲と乙以外をオプションという関係で静的に表現しています。
|
| |
|
| |
 |
 |
| Describeモデル |
ER/Studioモデル |
 |
|
| AllFusion ERwin Data Modeler
モデル |
|
|
|
 |
動的契約ロール |
| |
静的に契約関係者を表現すると問題が発生する場合があります。例えば、契約を保証する保証人や、特注注文した製品を作る請負企業などさまざまな関係者をすべて事前に包含できない場合があります。ここでは、このような問題を解消するために契約ロールというエンティティを追加します。売買契約を前提にしているので、買主と売主は必ず存在することになります。それ以外の関係者は契約の種類によって動的に作成されます。このモデルでは、契約エンティティが再帰関連を保持し、主契約より派生する副契約をカバーします。 |
| |
 |
 |
| Describeモデル |
ER/Studioモデル |
 |
|
| AllFusion ERwin Data Modeler モデル |
|
|
 |
契約のパターン化 |
| |
これまで、売買契約に焦点を当てて説明をしてきましたが、売買契約モデルを基に異なる契約をモデル化できます。ここでは、売買契約をモデリングしたときに使用したロジックを用いて雇用契約をモデリングします。雇用契約にも雇用される側と雇用する側という需要と供給の関係が必要です。売買契約でも売主と買主という需要と供給の関係がありました。雇用する企業はあらかじめ職級を定義しておき、職級と雇用する人材の能力とを比較して職級を任命します。職級を任命する際に給料額を設定します。売買契約でも販売する商品は定義されており、契約や商品タイプを比べて注文商品の販売価格を設定しました。 |
| |
|
|
|
| Describeモデル |
ER/Studioモデル |
|
|
※ こちらのモデルはダウンロードできます |
| AllFusion ERwin Data Modeler
モデル |
|
|
| |