使用通信图来建模包之间的通信而不是对象之间的通信是正确的吗?我想在更高的层次上对通信进行建模,但我不想滥用该图。作为示例,我向您展示了一个使用这两个图建模的用例。在序列图中,所有的对象都会出现,因为它是详细实现的,而通信对象则提供了更高层次的视图。我想知道它在概念上是否正确。


发布于 2021-07-07 02:36:24
它真的是关于UML包的吗?
UML将包定义为在名称空间中将事物打包在一起的方法:
包是其成员的命名空间,这些成员包括通过packagedElement关联的元素(据说是拥有的或包含的),以及导入的元素。
UML提供了在包之间使用依赖关系、合并包名称等类似的方法。但是包本身没有行为,因此无法通信。
可能是组件吗?
然而,您的图表建议使用具有某种形式的通信和行为的分类器。您的“包”的名称似乎暗示着比简单类更复杂的东西。
UML定义组件:
组件代表系统的一个模块化部分,它封装了它的内容,并且其表现形式在其环境中是可替换的。
UML组件有两个重要特征:
在实践中,可能会发生一些组件边界匹配包边界(巧合?),这可能会造成一些术语上的混淆。
通信图表
如果您所说的“包”与实际的UML组件相匹配,特别是考虑到这两个特征,那么您可以像以前那样完美地考虑通信图。
无关的旁注:我知道这是一种常见的做法。但在原则上,交互图(如序列图和通信图)显示了“封闭分类器的行为单元”,即原则上在系统内部的东西,而根据定义,参与者在外部。
https://stackoverflow.com/questions/68271384
复制相似问题