我对统一建模语言(UML)与(R)UP在其他OOA / D方法中认可的不同建模视角(概念,规范和实施)之间的关系有点不确定。
据我所知,使用相同符号的相同类型的图表可能具有不同的含义,具体取决于所使用的透视图*。例如,类图可以表示概念视角中的现实世界系统/现象的抽象,并且当透视稍后改变为规范/实现时,类图用于抽象计算机程序的构造。
问题:
1)我的理解是,一般来说UML类图存在某些规则。例如,类可以扩展另一个类,但它不能扩展关联。 类图的实体和关于它们如何定义的规则在哪里定义?这一切都发生在UML元模型体系结构的M2层 (参见元模型架构的wikipedias illustratio)?
2)一个相关的问题。我看待它的方式,特定图表的一般规则跨越建模视角(同样,类扩展关联是荒谬的),但不同的建模视角会将某些含义叠加到特定类型的图表上。例如,域模型(概念视角)的类图中的关联本质上是双向的,而在设计模型的类图(规范/实现透视图)中它可以是双向的或单向的。
在刚才描述的场景中,叠加的规则限制了关联的属性。 是否正确假设由透视图叠加的规则将始终是uml元模型定义的规则的子集/限制,而不是超集?
这些规则/限制是由形式化定义的(以类似于元模型的方式)还是仅仅是OOA / D文献中描述的约定?
答案 0 :(得分:1)
1)你的第一个问题很清楚。您正在寻找的规则称为“元模型”。是的,它们被记录为OMG(UML的创建者,基本上)称之为“MOF”或“元对象设施”。这是一个OMG标准。
2)你的第二个问题有点令人困惑。我会试着在这里回答。图只是底层模型的视图。如果您愿意,该模型是全面的,无所不包的。但图表不是。您提到的观点与图表有关。但是,基础模型是多视角的,在某种意义上,所有元素形成一个连接的网格,没有孤立的“孤岛”。这有意义吗? : - )