UML 和 OCL 之间的区别

Mam*_*mun 2 architecture uml ocl

我被要求使用 UML 制作并展示一个应用程序设计。然而,在做研究的过程中,我遇到了OCL。他们看起来几乎是一样的。也就是说,他们都做类及其属性以及类之间的关系。

哪些用例分别最适合 UML 和 OCL?

谢谢!

qwe*_*_so 5

不,它们是两个不同的东西。OCL,即对象约束语言,用于以类似 C 语法的形式化语言来描述约束。OCL和UML有相同的父辈,即OMG。您可以在OMG 的站点上找到 OCL 的描述。UML可以使用OCL来描述约束。所以OCL是UML的扩展。

OCL(我的观点)更多的是学术性的东西。几乎在所有情况下你都会遇到文本限制。阅读 OCL 并不那么困难。尽管用正确的语法编写约束需要时间来学习。能够应用正确的 OCL 将帮助机器从 UML 生成代码。只有少数工具可以做到这一点(老实说,我从未使用过其中任何一个)。

  • 的确。OCL 1.x 是 UML1.x 规范的一个章节。对于 UML 2,文本 OCL 语言作为不同的规范与图形 UML 语言分开。 (2认同)