表示此类图表的常用方法是什么?

时间:2015-12-13 15:34:25

标签: class uml system payment diagram

我需要代表客户付款才能在机场购买机票。 机场系统有奖金制度。

因此,客户可以通过奖金或其他支付系统或一起支付机票。但我不知道如何一起代表这一切。

我想创建一个名为PaymentMethod的接口并创建此层次结构:ByPaymentSystem(接口),ByBonuse(类),ByMix(依赖于{{的类) 1}})

支付系统也将有很多实现方式。 : ByPaymentSystemwebmoney等等。

此外,我还希望制作一个mastercard课程,其中包含PaymentService方法,该方法将采用参数pay,并且还会获取有关付款方式的具体信息。

我不确定method:PaymentMethod课程,我的精神想要避开这门课程。

你怎么看待它?

请不要打破我的声誉,只是评论你的意见。我将审查他们,而不是决定这个主题的命运。另外,如果有必要的话,我会想象我在UML类图中对subj的所有想法。

这是我的图表的一部分草稿

我想制作类似的东西,但我不知道如何进一步处理。 如何用混合案例表示付款:奖金和信用现金。

UPD: 该项目是avia公司的网站。该公司拥有奖励里程系统。这意味着经常飞行的客户可以获得一些免费的千米奖金,因为他们可以支付部分航班费用。 当然,他们可以通过信用卡付款,甚至可以结合使用这些方法。 - 我有股票。如何表示这种组合?

我需要代表满足上述愿望的类图。

UPD:

enter image description here

1 个答案:

答案 0 :(得分:2)

您应该从问题域的模型开始。我期待以下内容:

Domain Model

此图说明:

  • Customer 提供一个或多个PaymentPayment Service
  • Payment Service 接受 提供的一个或多个Payments Customer
  • 每个Payment都有amount
  • Payment必须是Mileage PaymentCash PaymentCredit Card Payment
  • Payment s
  • 的类型之间没有重叠

要在解决方案域方面回答您的问题,我会让您的pay()方法接受一系列付款。对于每种Payment,您不需要从属接口,只需要各种类实现。我会使用多态操作来借记(如果这是正确的词),如果有任何失败则回滚,并在所有借记成功时提交。