Geert写了一些真实的事情,但我认为你需要更多实用的建议。
单向箭头表示Enquette类具有Propriete类的字段或方法。在99%的情况下,它只是该类型的一个简单字段。现代标准建议在线的另一侧使用一个点。
箭头没有名称的事实通常意味着该字段的名称是propriete或Propriete,根据语言和公司接受的风格来定。 (这不是UML标准所要求的,但广泛使用)。根据问题的最后一段,似乎您的公司也使用此规则。
线的另一端没有箭头并不意味着Propriete类中没有Enquette类的字段或方法。(尽管在90年代是这样的)。它只是意味着我们还没有决定是否存在这样的字段。或者可能是我们认为这不重要。即未定义。已知缺少这种连接必须用十字形而不是箭头头显示。
因此,在Enquette中的某个地方,您有一条线:
Propriete propriete;
或者
Propriete* Propriete; //if you are in C++
甚至可能
Propriete** Propriete;
或者被您引用
virtual public Propriete Proprietes { get; set; } // apparently, C#
这可以是静态/类字段或实例字段-在图表中未定义。
在Propriete类中可能存在以下行:
Enquete enquete; // or some of the mentioned variants
你将关于它是否存在的决定留给了编码人员。
请注意,没有箭头的线意味着两端都有字段(或方法)。如果该线应显示两个箭头,则根本不绘制箭头。
因此,实际上,你在问题中犯了一个错误。这不是单向关系。这是显示可能是单向的关系的单向箭头。
类(不是表)之间的关联末尾箭头表示该端可导航。
这被定义为操作关联末尾的属性。UML 2.5规范中的定义如下:
此外,关于关联符号的说明:isNavigable() : Boolean The query isNavigable() indicates whether it is possible to navigate across the property.
body: not classifier->isEmpty() or association.navigableOwnedEnd->includes(self)