如何在UML对象图中对不同类之间的属性依赖关系进行建模?

时间:2019-02-12 09:07:17

标签: uml class-diagram

在可视化系统的不同部分的范围内,我想精确显示不同属性之间的依赖性。

在我的情况下,用例将出现在用户界面中,用户必须选择国家(地区),并且必须根据其对产品的选择值在相应的下拉列表中进行更新。

Country的值:

  • Country1
  • Country2
  • Country2

Product的值:

  • Product1仅适用于 Country1
  • Product2可用于 Country1Country2
  • Product3仅适用于 Country2
  • Product4仅适用于 Country3

我已经阅读了有关派生属性和约束的信息,这可能是我的情况。 另外,某些链接可能与同一问题有关: https://softwareengineering.stackexchange.com/questions/386816/how-to-model-attribute-dependency-inside-one-class-in-uml-class-diagram

但是目前我没有可行的解决方案。

出于一般目的,我试图用抽象的类图表示这些关系,但是我很难用对象图中的这些类的确切值来做到这一点

Class diagram

2 个答案:

答案 0 :(得分:0)

您可能将其建模为关联类:

enter image description here

CountryProduct需要填写相应的信息(因此,其中包含一个国家/地区用于产品的价格)。

您“可以”将其建模为对ProductCountry之间的关联的约束。但是我敢打赌,企业对此不会满意,因为它在编码时将所有内容都具体化了,而企业希望在此具有一定的灵活性。

答案 1 :(得分:0)

只需在AssociationProduct之间使用Country。如果要捕获每个产品-国家/地区对的属性(例如@Thomas提到的价格),自然选择AssociationClass

在对象图的关联实例中(链接)可以显示为线。您将在Country1和Product1之间,以及Country2和Product2之间,以及Product3之间建立一行。 这可以用来说明系统的结构以及它随着时间的变化。要真正定义它,其他图更适合。

我不知道,对协会的约束有何帮助。文本约束可以在其他Selection类上。约束的开始可以是:context Selection: product = product1 implies country in (country1)。这将不允许以后添加新产品。而且,国家与产品之间的链接所定义的约束条件更具可读性。