好的,所以当我尝试在UML图中显示关系时,我应该向类添加属性与绘制类的关联时,我有点困惑. 例如,假设我有一个DFA类,其中包含10个状态对象,每个状态对象都有一组到DFA中各种状态的路径
例如,假设我有一个DFA类,其中包含10个状态对象,每个状态对象都有一组到DFA中各种状态的路径.我应该将构图线从DFA绘制到State类,还是只在DFA类的属性部分中键入所有10个状态.
基本上我试图弄清楚当A类包含(或由一个或多个B类)组成时,我是否应该在它们之间绘制一条线(聚合,组合,关联依赖等)或者只将一个作为属性放入另一个.
This article试图回答这个问题,但是一旦他开始谈论他画的图表我就会感到困惑.
你指出的文章给出了一个指导原则:In the years I’ve been working with different modelling teams I’ve found that the rule that works best is to use Associations for Classes and Attributes for DataTypes.
A data type is a special kind of classifier, similar to a class. It differs from a class in that instances of a data type are identified only by their value.
我有点赞同作者,还有另一点:你的类图应该是可以理解的.如果你的图表中有许多相互交叉的图表,那么图表就没用了.发生这种情况时,您必须尝试找到可以使用属性建模的关系,而不会丢失太多的可视信息,并用属性替换它们.
你可以用关系而不是属性做的另一件事是显示双向关系(你可以在关系的每个类中使用一个属性来做这个,但是你松开了关系的语义).