您好!
我正在进行复合结构图(CSD)的工作,但是我无法弄清楚CSD和组件图之间的区别。它们看起来对我来说都是一样的。或者我错了吗?
使用CSD能否模拟所有可以用组件图模拟的情况?如果不能,哪些是不行的情况?
在什么情况下使用CSD比使用组件图更好?(反之亦然)
组件图旨在建模架构。我不能用CSD建立相同的架构吗?
谢谢!
UML并没有严格定义各种图表类型("不严格执行各种图表类型之间的边界")。
然而,通常最好创建只呈现主题的图表。
假设您有一个组件'汽车'、组件'轮子'和组件'发动机'。发动机驱动前轮而不是后轮。
组件图显示组件及其关系。组件是一种特殊的类。该图表不显示组件实例。在此示例中,我们将显示三个组件。汽车与轮子具有1:4的组合关联,与发动机具有1:1的组合关联。发动机与轮子具有1:2的关联。指定引擎仅连接到前轮且两个轮子必须属于同一辆汽车并不是微不足道的。您需要编写一些OCL约束。
组合结构图显示包含在另一个组件内部的组件实例以及这些实例之间的链接(事实上,我应该使用单词部分而不是实例)。该图表显示发动机和四个轮子作为单独的块在汽车组件内。现在很容易显示发动机仅连接到同一辆汽车的前轮。