2 Stimmen

Wie verhandeln Sie ein Domänenmodell mit Ihren Domänenexperten?

Angenommen, Sie arbeiten mit den Fachleuten eines Kunden zusammen. Sie stellen fest (oder glauben zumindest), dass Ihr Modell des Problems klarer ist als das des Kunden. Wie können Sie sie davon überzeugen, dass sie Ihren Weg gehen sollten?

In meinem Fall ist es ziemlich klar, was die Hauptrichtung der Anforderungen ist (z.B. ein Handelssystem für ein Produkt). Aufgrund meiner Erfahrung und meiner Recherchen würde ich einen TradeContract empfehlen, der zwei TraderParties hat. Jede TraderParty kauft ein Produkt und verkauft ein Produkt. Wenn ich das Composite in XML modellieren müsste, würde ich es wie folgt modellieren:

<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>

Die oben genannten Modelle zeigen einfach, dass Ann gekauft hat Harry Potter und der Gefangene von Askaban von Bob für $20.00. Abstrakter ausgedrückt, handelt es sich hier um ein Modell für einen zweiseitigen, vierseitigen Handel. Nehmen wir einmal an, dass das System, das die XML-Datei konsumiert, die Daten validiert. tradeContract und orchestriert den Handel.

Was ist, wenn Ihre Fachleute meinen, dass dies zu kompliziert für sie ist? Sie können zwar einige Zwischenschritte auf dem Weg zum obigen Domänenmodell anerkennen, aber wie können Sie sie davon überzeugen, dass es besser ist, in den sauren Apfel zu beißen und das obige Domänenmodell eher früher als später zu verwenden?

ZUSATZ: Das von den KMU vorgeschlagene Modell ...

Die Fachleute sprechen immer wieder über das Modell, das ich vorgeschlagen habe, aber es sieht so aus, als ob sie glauben, dass ihr Geschäftsprozess noch nicht bereit dafür ist. (Dennoch glaube ich, dass es Möglichkeiten gibt, es jetzt zu tun).

Das von ihnen gewünschte Modell sofort ist:

<tradeParty>
   <id>1</id>
   <name>Ann</name>
   <transaction type="long" product="money" value="20.00"/>
</tradeParty>

Diese Modelle, die Ann verschenkt $ 20,00. Dann ein getrennt Transaktion eingegeben werden muss:

<tradeParty>
   <id>1</id>
   <name>Ann</name>
   <transaction type="short" product="book" reference="book.123"/>
</tradeParty>

Als Modell hat sie das Harry-Potter-Buch erworben. Das ist meiner Meinung nach ziemlich umständlich, weil wir nicht modellieren können, ob unser System Ann betrügen wird. Eine ähnliche Art der Fragmentierung von Transaktionen findet auch auf Bobs Seite des Handelsvertrags statt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X