UML序列图箭头标注方法所属对象的相关规则咨询
UML序列图方法标注归属规则
针对关联Java代码的UML序列图标注规则,有明确的UML 2.x官方规范约束,核心规则如下:
- 所有调用类箭头(同步调用、异步调用)的标注方法,统一属于箭头指向的目标对象,和箭头方向强绑定,和箭头类型(同步/异步)无关。
- 普通同步调用(实心三角+实线):对应Java中最常见的阻塞式方法调用,源对象(箭头发起方)执行逻辑时调用目标对象的对应方法,箭头上标注的就是目标对象的被调用方法。
- 异步调用(半箭头+实线):对应Java中异步方法调用场景,源对象调用后无需等待返回即可继续执行,标注方法仍然属于指向的目标对象。
- 返回箭头(开放箭头+虚线)的标注内容为返回值信息,不属于方法标注范畴,不需要遵循上述规则。
- 自调用场景下箭头从对象指向自身,标注方法属于该对象本身,同样符合「归属指向方」的规则。
给一个实际Java代码对应示例:
代码片段:
public class OrderService { private PayService payService; // 属于OrderService的方法 public void createOrder(OrderDTO orderDTO) { // 调用PayService的扣款方法 payService.deductBalance(orderDTO.getUserId(), orderDTO.getAmount()); } }对应序列图中,箭头从
OrderService实例指向PayService实例,箭头标注为deductBalance(Long, BigDecimal),这个方法明确属于指向方PayService。
内容的提问来源于stack exchange,提问作者MagisterInformaticus
相关产品推荐
相关产品推荐

