2008-10-18 36 views
1

我想绘制UML中的汽车经销商域模型或类图。我被困在如何在模型中呈现试驾。一种方法是先预约课,然后试驾作为子课。经销商还提供售后服务,所以我可以将预约/预订课程作为超级课程,然后将车辆服务和试驾作为两个子课程。汽车经销商的域模型或类图

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

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

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

testdrive类与车辆类有关系,还是有单独的类用于显示和testdrive类?

另一个问题是如何显示潜在客户及其对模型中的销售和服务的查询。一个经销商想要保存潜在客户的细节,如果他们允许营销目的。我应该有两个班:一个给顾客,一个给潜在顾客,或者只能使用顾客类中的属性来实现?

+0

有人可以编辑权限,请解决这个问题,使其更具可读性? – 2008-10-18 23:47:02

回答

2

你真的只能通过拥有一套好的用例或模型的预期行为来区分正确的决定。

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

我可以看到约会可能包含多个测试驱动器,它们本身链接到单个车辆。因此,测试驱动器本身不过是从客户到链接到约会的车辆的链接。

0

试驾会包含有关只试驾的信息:

参考客户 - 即使这可能是值得商榷的,包括

参考车辆测试的

长度驱动器

位置(也许车辆被驱动的位置不同于可以从拥有的约会确定)

顾客温度(热或冷 - 即没有客户似乎热情)

评论

但究竟是不是在试驾对象任何有关委任 - 因为它总是包含在一个集合中 - 可能作为约会或其他事件容器的一部分。现在,如果容纳测试驱动器的容器始终包含客户信息,那么我甚至可能不会将客户参考信息包含在测试驱动对象中 - 毕竟这将是多余的。

这取决于测试驱动器是否可能发生在非预约情况下 - 可能是在“销售活动”或“开放日期”或某些约定实际上未在用例中创建的情况下 - 或者测试驱动器是多个客户将在一个容器内发生。

0

你问题的第二部分已经被遗忘了(当你问一个两个问题很容易做到):

的另一个问题是如何显示潜在的客户和他们对模型中的销售和服务咨询。一个经销商想要保存潜在客户的细节,如果他们允许营销目的。我应该有两个班:一个给顾客,一个给潜在顾客,或者只能使用顾客类中的属性来实现?

我认为你的使用案例是“一个经销商想要保存潜在客户的细节,如果他们允许营销目的。”最简单的解决方案是有一个邮件列表集合,其中包含每个潜在客户的名称和地址。

0

我想你错过了这一点。领域模型的目标是使您熟悉该领域:

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

其余的细节。像地图制造商一样思考。记录下这些内容。创建一个简单的地图,以便您不会在该域中迷失方向。不要试图发明。摘要在领域中存在的东西:不要在你自己创造的“花哨的抽象”背后运行。

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