假设您正在与客户的领域专家合作。您意识到(或至少有合理的信念)您对他们问题的模型比他们的更清晰。你如何说服他们应该走你的路。
就我而言,需求的主旨是什么(例如产品的交易系统)是相当清楚的。根据我的经验和研究,我会推荐一个有两个 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>
以上只是 Ann 以 20.00 美元从 Bob 处购买的哈利·波特与阿兹卡类的囚徒的模型。更抽象地说,这是一个两方四足贸易的模型。为了便于论证,我们假设使用 XML 的系统验证 tradeContract
并协调交易。
如果您的领域专家觉得这对他们来说太复杂怎么办?虽然您可以轻松地承认达到上述领域模型的一些中间步骤,但您如何说服他们最好“咬紧牙关”并尽早使用上述领域模型?
附加:中小企业提出的模型...
领域专家一直在谈论的是我提出的模型,但看起来他们不相信他们的业务流程已经准备好。 (不过,我认为现在有办法凑合)。
他们立即想要的模型是:
<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>
为了模拟她获得了《哈利·波特》这本书。在我看来这相当麻烦,因为我们无法模拟我们的系统是否会欺骗安。同样,类似的交易碎片也发生在交易合约的鲍勃一方。
最佳答案
我从来没有试图改变领域专家的领域思维模式......毕竟他们是专家。然而,如果我的模型与他们的模型略有不同,那么我确保它仍然可以产生相同的效果。所以我接受他们的观点,以我自己的方式建模,然后按照他们理解的方式呈现给他们。
总会有从您的技术角度到他们的业务导向角度的转换。这就是业务分析师的角色。
您的领域专家提出的模型是什么?如果正如您所说,您的模型捕获了需求,那么请使用您的模型,但向领域专家提供技术性较低的 View ......改为使用图表。他们不必知道从图表生成的 XML。
关于model - 您如何与领域专家协商领域模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/404601/