这是使用关联类的类关联的一个很好的用例吗?

时间:2014-03-09 17:39:01

标签: uml class-diagram model-associations

假设我有一个Customer类和一个Product类。客户可以搜索产品,可能会过滤结果。我可以将其建模为客户和产品之间的关联,标题为使用关联类进行搜索,例如过滤器?

+---+   SEARCHES >  +---+
| C |-------+-------| P |
+---+       |       +---+

            |

            |
          +-+-+
          | F |
          +---+

如果这是有效的,那么这是个好主意吗?

1 个答案:

答案 0 :(得分:3)

不,这里有类图的混合用例。

类图

  • 用户搜索产品的事实是一个用例。在类图中实现它,你不需要真正让这三个类如此接近。但是你当然可以。
  • 在类图中,您应该显示系统的结构,而不是其行为。所以,这个“SEARCHES>”注意不应该在这里。不仅因为它超出了类图的范围。更糟糕的是。类客户不是演员“客户”,它本身不是人,它只是系统中关于他的记录。此记录不会进行任何搜索。
  • 您可以在类图上显示搜索,使搜索成为类或函数。我会把它命名为一个类,所以你可以为每次搜索做一个这个类的实例。
  • 当然,您也可以使用类Filter。使用精心设计的功能可以根据过滤器获取产品列表。
  • 当然,关于客户的更重要的部分将是他购买的历史,而不是他的搜索。所以,我加了它。它只是一个开始 - 你需要支持购买,支付,交付,记录等过程。

enter image description here

用例图

在这里,您只需要显示一个演员客户和一个用例:搜索。并连接他们。这里没有产品或过滤器。