9.2.4 表示法

Classifiers

分类符是一个抽象元类。然而,对于分类符的任意具体子类来说,在一个地方定义一个缺省的表示还是很方便的。一些分类符的特化具有自己不同的表示。

分类符的缺省表示是一个实线外框矩形,它包含了分类符的名称和一些通过水平直线(在名称之下)分隔的格间(compartments)。分类符的名称应该居中粗体显示。对于那些区分大小写的语言,分类符的开头字母应该大写。

如果分类符使用缺省的表示,那么与该分类符元素相对应的关键字应该显示在名字上方的书名号中。每一个元类的关键字列在附录C,并在每一个分类符的表示法中进行指定。不需要关键字来指示元类是类。

任何关键字(包括stereotype的名称)都应该以普通体的形式居中显示在分类符名称之上的书名号中。如果多个关键字或stereotype名字应用于相同的模型元素,每一个可以一个接一个地包含在一对独立的书名号中。或者它们可以出现在相同的书名号中,通过逗号分隔。

抽象分类符的名字以斜体表示,如果使用的字体允许的话。或者还可以(Alternatively or in addition)在名称后或下面使用{abstract}文本表示。

分类符图形中的一些格间是必需的,应该由工具所支持。其它的是可选的,工具可以不支持它们。

名为“attributes”的格间包含可以通过attribute属性访问的属性的表示。该格间是必需的,在没有被抑制(suppressed)的情况下,总是出现在其它格间之上。

名为“operations”的格间包含操作的图示。操作格间是必需的,如果没有被抑制总是显示在属性格间的下面。操作格间用于拥有操作的分类符,包括类(参见11.4)、数据类型(参见10.2)和接口(参见10.4)。

名为“receptions”的格间包含Receptions图示。该格间是必需的,如果没有被抑制总是显示在操作格间之下。receptions格间用于拥有Receptions的分类符,包括类(参见11.4)。

任何包含特征图示的格间都可以把那些特征组织到代表它们可见性的不同组(public、private、protected字面量)下。可见性字面量在格间中左对齐,相应的特征在它们下面缩进显示。这些组可以以任意次序排列。可见性分组时可选的:遵循本规范的工具不需要支持它。

遵循本规范的工具可以提供在一个包含特征图示的格间中抑制独立特征的选项。

遵循本规范的工具可以(可选的)支持格间命名。显示格间的名字可以消除二义性,或者格间的名字被隐藏。格间的名字应该居中显示并以小写字母开头。格间的名字可以包含空格,不应该包含标点符号(包括书名号)。

如果一个分类符拥有是分类符(包括Behaviors——参见13.2)的ownedMembers,那么遵循本规范的工具可以提供一个选项,在该分类符的矩形框内的一个单独的格间中图形化的展示所拥有的分类符和它们之间的联系。除非另有规定,这样的一个格间的名字应该能够从相应的元模型属性衍生而来,如果该属性的multiplicity大于1,那么应该采用复数。因此,举个例子,展示一个类(参见11.4.2)的nestedClassifier属性的内容的一个格间应该被称为“nested classifiers”;展示一个BehavioredClassifier的ownedBehavior属性的内容的一个格间应该被称为“owned behaviors”。

如果分类符拥有约束,遵循本规范的工具可以实现一个用于展示所拥有的约束的格间。这个可选的格间的名字是“constraints”。

Other elements

泛化显示为所涉及的分类符之间的一条带有一个空三角作为箭头的直线。箭头所指的符号代表general分类符。

多泛化(Multiple Generalization)关系引用相同的general分类符,可以采用单独的带箭头的直线来表示。这种表示被称为“独立目标风格”(seperate target style)。在“共享目标风格”(shared target style)中它们还可以被连接到相同的箭头上。

对于RedefinableElement没有一般性的表示。特定的表示请参见RedefinableElement的子类。

Substitution表示为附加«substitute»关键字的依赖。

被分类符继承的成员相比非继承的成员,可以在它们的文本表示之前加一个插入符号‘^’。该表示法采用如下定义:

<inherited-property> ::= ‘^’ <property>

其中<property>定义在9.5.4

类似的,被继承的Connector(连接器)的表示采用如下的定义:

<inherited-connector> ::= ‘^’ <connector>

其中<connector>定义在11.2.4

同样的表示法可以用于所有的NamedElements,以表示它们是分类符的inheritedMembers

被继承的成员还可以采用一种更淡的颜色来显示以帮助与非继承的成员相区分。遵循本规范的工具不必提供这个选项。

9.2.5 示例

分类符表示的例子在不同的具体子类部分进行展示,尤其是类(参见11.4.4)。

图9.2展示了不同目标风格的泛化表示。

图9.2 Generalization notation showing different target styles

在图9.3中,一个更加一般化的Window类在一个特定的环境下被ResizableWindow类所替换。

图9.3 Example of Substitution notation

results matching ""

    No results matching ""