能否使用communication diagram做高层视图,为包间通信建模?
结论
你这种用法在UML概念层面是完全正确的,不属于误用。
- UML中的通信图属于交互图的大类,核心作用是展示参与交互的实体、实体间的连接以及消息传递规则,没有强制要求交互实体必须是细粒度的对象。你可以根据建模的抽象层级,自由选择实体的粒度:可以是对象、类,也可以是包、子系统、服务、业务模块等粗粒度逻辑单元。
- 你提到的「序列图画细粒度对象级实现逻辑、通信图画高层包间交互」的用法非常契合两类图的特性:序列图更擅长突出交互的时间先后顺序、细粒度调用链路,通信图更擅长突出参与交互的实体之间的拓扑关联,刚好适配不同层级的建模需求。
- 唯一的优化建议是你可以在通信图的说明位置标注当前建模的抽象层级为包/模块级,避免看图者默认按照对象级粒度理解产生歧义即可。
示例图


内容的提问来源于stack exchange,提问作者Luigi
相关产品推荐
相关产品推荐

