9.7.4 表示法
当泛化关系的直线有名字时,该名字指示了该泛化所属的一个泛化集。所有具有相同泛化集名称的泛化关系都是相同泛化集的一部分。该表示如图9.15。
图9.15 GeneralizationSets designated by name
当两条或更多的直线指向相同的箭头同时由一个泛化集名称所标注,即图9.16所示的“共享目标”风格,涉及的每个特定的分类符都是相同泛化集的一部分。
图9.16 GeneralizationSets designated by shared target
不论是上图中的哪种表示,如果泛化箭头上没有标注,那么就不能从图中确定模型中是否有泛化集。
最后在图9.17中,可以通过画一个跨越那些在具有独立箭头的虚线,以指示它们是相同泛化集的一部分。此处与图9.16一样,泛化集以单一名称标注,而不是每条线上独立标注。这个标注可以省略。
图9.17 GeneralizationSet designated by dashed line spanning Generalization arrows
为了指示泛化集是否covering和disjoint,每个集合可以标注一个包含如下文本表示的约束。
表9.1 GeneralizationSet constraints
{incomplete, overlapping} | 指示泛化集不完备且特定的分类符有共享的实例 |
---|---|
{complete, disjoint} | 指示泛化集完备且特定分类符没有实例交集 |
{incomplete, disjoint} | 指示泛化集不完备且特定的分类符没有实例交集 |
{complete, overlapping} | 指示泛化集完备且特定的分类符有共享的实例 |
约束可以以任意次序出现:{complete, disjoint}和{disjoint, complete}是相等的。缺省值是{incomplete, overlapping}。如果只显示一个约束,另一个采用缺省值。
图形上,不管是图9.18所示的公共箭头表示,还是图9.19中的虚线表示,泛化集约束要靠近该泛化集放置。
图9.18 GeneralizationSet constraint notation with shared target style
图9.19 GeneralizationSet constraint notation with dashed line style
幂类规约通过在靠近相应泛化集的地方放置该幂类分类符的名字——前面加冒号——来指示。图9.20展示了在共享箭头表示中如何体现,图9.21展示了在虚线表示法中的表示。
图9.20 Power type notation with shared target style
图9.21 Power type notation with dashed line style
泛化集名称、泛化集约束和幂类可以在图中以任意组合出现。