顧客のドメイン エキスパートと協力しているとします。あなたは、彼らの問題のあなたのモデルが彼らのものよりも明確であることを認識しています (または少なくとも合理的な信念を持っています)。彼らがあなたの道を行くべきだとどのように彼らを説得しますか.
私の場合、要件の主な目的が何であるかはかなり明確です (たとえば、製品の取引システム)。私の経験と調査に基づいて、2 つの TraderParties を持つ TradeContract をお勧めします。各 TraderParty は、1 つの Product を購入し、1 つの Product を販売します。コンポジットを XML でモデル化する必要がある場合、次のようにモデル化できます。
<tradeContract>
<id>1234</id>
<tradeParty>
<id>1</id>
<name>Ann</name>
<long type="money" value="20.00"/>
<short reference="book.123"/>
</tradeParty>
<tradeParty>
<id>2</id>
<name>Bob</name>
<long reference="book.123"/>
<short type="money" value="20.00"/>
</tradeParty>
<product>
<id key="book.123">123</id>
<type>book</type>
<title>Harry Potter and the Prisoner of Azkaban</title>
</product>
</tradeContract>
上記は単に、アンがボブからハリー・ポッターとアズカバンの囚人を 20.00 ドルで購入したモデルです。より抽象的に言えば、これは二者四足の取引をモデル化したものです。tradeContract
議論のために、XML を使用するシステムが XML を検証し、取引を調整すると仮定しましょう。
ドメインの専門家がこれが複雑すぎると感じたらどうしますか? 上記のドメイン モデルに到達するためのいくつかの中間ステップを容易に認めることができますが、「弾丸をかじって」上記のドメイン モデルを遅かれ早かれ使用する方がよいと彼らを説得するにはどうすればよいでしょうか?
追加: SME が提案するモデル ...
ドメインの専門家が話し続けているのは、私が思いついたモデルですが、彼らのビジネス プロセスはまだその準備ができているとは考えていないようです。(それでも、今はやり遂げる方法があると思います)。
彼らがすぐに欲しいモデルは次のとおりです。
<tradeParty>
<id>1</id>
<name>Ann</name>
<transaction type="long" product="money" value="20.00"/>
</tradeParty>
このモデルは、アンが 20.00 ドルを寄付したものです。次に、別のトランザクションを入力する必要があります。
<tradeParty>
<id>1</id>
<name>Ann</name>
<transaction type="short" product="book" reference="book.123"/>
</tradeParty>
彼女がハリー・ポッターの本を手に入れたというモデルに。私たちのシステムがアンをだますかどうかをモデル化できないため、私の意見ではかなり面倒です。同様に、同様の種類のトランザクションの断片化が、貿易契約のボブ側で発生します。