在可视化系统的不同部分的范围内,我想精确显示不同属性之间的依赖性。
在我的情况下,用例将出现在用户界面中,用户必须选择国家(地区),并且必须根据其对产品的选择值在相应的下拉列表中进行更新。
类Country
的值:
Country1
Country2
Country2
类Product
的值:
Product1
(仅适用于 Country1
)Product2
(可用于 Country1
和Country2
)Product3
(仅适用于 Country2
)Product4
(仅适用于 Country3
)我已经阅读了有关派生属性和约束的信息,这可能是我的情况。 另外,某些链接可能与同一问题有关: https://softwareengineering.stackexchange.com/questions/386816/how-to-model-attribute-dependency-inside-one-class-in-uml-class-diagram
但是目前我没有可行的解决方案。
出于一般目的,我试图用抽象的类图表示这些关系,但是我很难用对象图中的这些类的确切值来做到这一点
答案 0 :(得分:0)
您可能将其建模为关联类:
CountryProduct
需要填写相应的信息(因此,其中包含一个国家/地区用于产品的价格)。
您“可以”将其建模为对Product
和Country
之间的关联的约束。但是我敢打赌,企业对此不会满意,因为它在编码时将所有内容都具体化了,而企业希望在此具有一定的灵活性。
答案 1 :(得分:0)
只需在Association
和Product
之间使用Country
。如果要捕获每个产品-国家/地区对的属性(例如@Thomas提到的价格),自然选择AssociationClass
。
在对象图的关联实例中(链接)可以显示为线。您将在Country1和Product1之间,以及Country2和Product2之间,以及Product3之间建立一行。 这可以用来说明系统的结构以及它随着时间的变化。要真正定义它,其他图更适合。
我不知道,对协会的约束有何帮助。文本约束可以在其他Selection
类上。约束的开始可以是:context Selection: product = product1 implies country in (country1)
。这将不允许以后添加新产品。而且,国家与产品之间的链接所定义的约束条件更具可读性。