【发布时间】:2015-04-20 15:26:09
【问题描述】:
我对组件 - 子组件关系和 组件之间的泛化关系。
我们什么时候需要将两个组件称为组件-子组件关系以及何时将它们称为泛化关系。
泛化关系(图A)是否可以一直被称为组件图中的组件-子组件关系(图B)? (倒数为假可以理解)
图A:
图 B:
【问题讨论】:
标签: uml associations generalization component-diagram
我对组件 - 子组件关系和 组件之间的泛化关系。
我们什么时候需要将两个组件称为组件-子组件关系以及何时将它们称为泛化关系。
泛化关系(图A)是否可以一直被称为组件图中的组件-子组件关系(图B)? (倒数为假可以理解)
图A:
图 B:
【问题讨论】:
标签: uml associations generalization component-diagram
图中B中的符号用来表示component realization关系。
www.omg.org/spec/UML/2.5/Beta2:
11.6.3 结构化分类器 → 组件 → 语义
...
Component可以由多个分类器实现(或实现)。在这种情况下,Component拥有一组ComponentRealizations到这些Classifiers。一个组件的作用类似于
Package,用于定义涉及或与其定义相关的所有模型元素,应该明确拥有或导入。通常实现Component的Classifiers归它所有...
您可以像往常一样在组件之间使用generalization 关系(图A),因为组件与任何其他类一样是UML classifier。
但是图A和图B代表不同的东西和图B在你的例子是不好
【讨论】:
B 是错误的。它们可能共享一些行为甚至代码,因此它们可能通过泛化关系连接起来,所以图A就是OP想要表达的意思
UML Superstructure 2.4.1 还说:“..应该注意的是,对于需要多个不同实现集合来实现单个组件规范的应用程序,UML 标准配置文件中定义了一组标准原型。特别是、«规范»和«实现»是为此目的而定义的..”。如果你需要调用的东西正确,请查阅规范