【问题标题】:Is this a good use case for class association using an association class? [closed]这是使用关联类进行类关联的一个很好的用例吗? [关闭]
【发布时间】:2014-03-09 17:39:01
【问题描述】:

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

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

            |

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

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

【问题讨论】:

    标签: uml class-diagram model-associations


    【解决方案1】:

    不,您在这里将用例与类图混合在一起。

    类图

    • 用户搜索产品这一事实是一个用例。在类图中实现它,您实际上不需要将这三个类如此紧密地结合在一起。但你当然可以。
    • 在类图中,您应该显示系统的结构,而不是其行为。所以,这个“SEARCHES>”注释不应该在这里。不仅因为它超出了类图的范围。情况更糟。客户类不是演员“客户”,它本身不是人,它只是系统中关于他的记录。并且此记录不会进行任何搜索。
    • 您可以在类图上显示搜索,使搜索成为类或函数。我将它命名为一个类,这样您就可以在每次搜索时都有一个此类的实例。
    • 当然,您也可以使用类过滤器。具有可根据过滤器获取产品列表的详细功能。
    • 当然,关于客户更重要的部分将是他的购买历史,而不是他的搜索。所以,我添加了它。而这仅仅是开始 - 您需要支持购买、支付、交付、登录等流程。

    用例图

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

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 2021-09-20
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多