假设您正在与客户的领域专家合作。你意识到(或至少有合理的信念)你对他们问题的模型比他们的更清晰。你如何说服他们他们应该按照你的方式行事。
就我而言,需求的主要推动力是相当清楚的(例如,产品的交易系统)。根据我的经验和研究,我会推荐一个有两个 TraderParties 的 TradeContract。每个 TraderParty 购买一种产品并出售一种产品。如果我必须在 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 美元从鲍勃那里购买的哈利波特与阿兹卡班囚徒的模型。更抽象地说,这模拟了两方四足交易。为了争论,我们假设使用 XML 的系统验证tradeContract
并协调交易。
如果您的领域专家觉得这对他们来说太复杂了怎么办?虽然您可以很容易地承认一些中间步骤来获得上述域模型,但您如何说服他们“咬紧牙关”并尽早使用上述域模型更好?
补充:中小企业提出的模型...
领域专家一直在谈论的是我提出的模型,但看起来他们不相信他们的业务流程还没有准备好。(不过,我认为现在有一些方法可以解决)。
他们立即想要的模型是:
<tradeParty>
<id>1</id>
<name>Ann</name>
<transaction type="long" product="money" value="20.00"/>
</tradeParty>
Ann 赠送了 20.00 美元的这个模型。然后必须输入一个单独的事务:
<tradeParty>
<id>1</id>
<name>Ann</name>
<transaction type="short" product="book" reference="book.123"/>
</tradeParty>
为了建模,她获得了哈利波特的书。我认为这很麻烦,因为我们无法模拟我们的系统是否会欺骗 Ann。同样,交易合约中 Bob 一方也发生了类似的交易碎片化。