【问题标题】:Domain Modeling or class diagram for car dealership汽车经销商的领域建模或类图
【发布时间】:2010-09-17 23:04:16
【问题描述】:

我正在尝试在 UML 中为汽车经销商绘制域模型或类图。我不知道如何在模型中展示试驾。一种方法是预约课程,然后作为子课程试驾。经销商还提供售后车辆服务,因此我可以将预约/预订类作为超级类,然后将车辆服务和试驾作为两个子类。

另一种方法是让客户类与预约类下的试驾类和车辆服务类有直接关系。

经销商还销售新车和二手车及其零件。

经销商还为汽车销售提供融资。

试驾类是否与车辆类有关系,或者显示器和试驾类有单独的类?

另一个问题是如何在模型中显示潜在客户及其对销售和服务的查询。如果允许出于营销目的,经销商希望保存潜在客户的详细信息。我应该有两个类:一个用于客户,一个用于潜在客户,还是可以通过使用客户类中的属性来实现?

【问题讨论】:

  • 能否请有编辑权限的人解决这个问题,使其更具可读性?

标签: class uml dns diagram modeling


【解决方案1】:

我认为你没有抓住重点。领域模型的目的是让您熟悉领域:

-- What kind of entities you have in yor domain?
-- If they are important for your system under desing, 
   what kind of properties they have, how they behave?
-- What kind of business rules they obey?

剩下的就是细节。像地图制作者一样思考。记录那里有什么。创建一个简单的地图,这样你就不会在那个领域迷路。不要试图发明。抽象领域中存在的东西:不要落后于你自己创建的“花哨的抽象”。

域模型可以用作源 面向对象的分析/设计。 但他们的目的不是代表 软件抽象。

【讨论】:

    【解决方案2】:

    你的问题的第二部分被忘记了(当你同时问两个问题时很容易做到):

    另一个问题是如何在模型中显示潜在客户及其对销售和服务的查询。如果允许出于营销目的,经销商希望保存潜在客户的详细信息。我应该有两个类:一个用于客户,一个用于潜在客户,还是可以通过使用客户类中的属性来实现?

    我认为您的用例是“如果允许出于营销目的,经销商希望保存潜在客户的详细信息。”最简单的解决方案是拥有一个包含每个潜在客户的姓名和地址的邮件列表集合。

    【讨论】:

      【解决方案3】:

      test-drive 将包含仅与 test-drive 相关的信息:

      对客户的参考——即使包括在内也可能有争议

      参考车辆

      试驾时间

      位置(可能车辆行驶在与车主预约不同的位置)

      客户温度(热或冷 - 即客户看起来是否热情)

      cmets

      等等

      但 test-drive 对象中不包含与约会相关的任何内容 - 因为它始终包含在集合中 - 可能作为约会或其他事件容器的一部分。现在如果可以包含试驾的容器总是包含客户信息,我什至可能不会在试驾对象中包含客户参考——毕竟这将是多余的。

      这取决于试驾是否可以发生在非预约场景中 - 可能是在“销售活动”或“开放日”或在用例中实际上没有创建预约的情况下 - 或者是否可以为多人试驾客户将出现在一个容器内。

      【讨论】:

        【解决方案4】:

        您实际上只能通过拥有一组良好的用例或模型的预期行为来区分正确的决策。

        这将告知特定子分类是否真的准确。

        我可以看到约会可能包含多个试驾,这些试驾本身与个别车辆相关联,因此试驾本身只不过是从客户到与约会相关联的车辆的链接。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-01-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多