交互图是UML中刻画对象动态协作与消息传递的图形化工具,包括顺序图(强调时间顺序)和通信图(侧重结构连接与带序号消息)。

交互图是统一建模语言(UML)中用于刻画对象之间动态协作关系及消息传递行为的图形化表达工具,侧重于系统运行时的对象交互过程。以下是关于其定义与常见形式的详细说明:
一、交互图的基本定义
交互图用于描述系统中一组对象如何通过发送和接收消息进行协作,以实现特定用例或场景的行为逻辑。它不关注对象的静态结构或类属性,而是聚焦于运行时对象的生命期、交互次序与控制流走向。交互图的核心要素包括对象、生命线、消息、激活条以及连接关系。
1、对象在图中表示为矩形框,名称带下划线,代表参与交互的实例角色;
2、每条生命线是一条垂直虚线,从对象底部向下延伸,表示该对象在时间维度上的存在区间;
3、消息以带箭头的实线或虚线表示,沿时间轴方向传递,可为同步调用、异步信号或返回响应;
4、激活条(控制焦点)是覆盖在生命线上方的窄矩形,表示对象正在执行某项操作的活跃时段。
二、顺序图(Sequence Diagram)
顺序图是一种强调消息时间顺序的交互图,对象沿水平轴排列,消息沿垂直轴按发生先后自上而下排列,直观展现交互的时间轨迹与控制流路径。
1、在绘图工具中新建UML交互图,并选择“Sequence Diagram”模板;
2、从工具栏拖入参与者(Actor)与对象(Object),置于顶部水平排列;
3、为每个对象自动添加垂直生命线,确保其贯穿整个交互时间段;
4、使用实线箭头从调用方生命线指向被调用方生命线,标注消息名称及参数;
5、在被调用方生命线上绘制激活条,长度覆盖其处理该消息的全过程。
三、通信图(Communication Diagram)
通信图原称协作图,侧重展示对象之间的结构连接关系与消息路径,对象以节点形式分布,连接线表示对象间可通信的链路,消息标注在连接线上并附有序号以体现时序。
1、在建模环境中创建新通信图,添加对象节点并手动布局,体现其逻辑邻近性;
2、使用实线连接存在交互关系的对象对,每条连接代表一个链(Link);
3、在连接线上方标注带编号的消息,如“1: request()”,“2.1: validate()”表示嵌套调用;
4、若需表达返回消息,可添加虚线箭头并标注“return”或省略,依建模约定而定;
5、对涉及循环或条件分支的交互,可在消息编号前添加约束标记,例如“[i
四、交互概览图(Interaction Overview Diagram)
交互概览图融合活动图与顺序图的表达能力,以高层活动节点为主体框架,每个活动节点内部可嵌入子顺序图或引用已有交互片段,适用于分解复杂业务流程中的多阶段交互。
1、新建交互概览图,采用活动图风格的圆角矩形作为主干节点;
2、在起始节点后添加多个活动节点,分别命名如“用户登录验证”、“订单生成”、“支付处理”;
3、为每个活动节点添加构造型>,并在其内部插入对应顺序图的缩略引用;
4、使用带守卫条件的控制流边连接各活动节点,例如“[认证成功]”、“[支付超时]”;
5、在关键决策点插入合并节点(Merge Node)与分叉节点(Fork Node),支持并发与同步建模。
五、定时图(Timing Diagram)
定时图专门用于刻画对象状态或值随时间变化的精确时序行为,横轴为时间,纵轴为状态或数值范围,适用于实时系统、硬件接口或协议时序分析等对时间精度要求严格的场景。
1、创建定时图,为每个待建模对象设置独立的时间轴轨道;
2、在轨道上绘制时间刻度线,标注关键时间点如t₀、t₁、Δt;
3、使用水平线段或阶梯状折线表示对象在不同时间段所处的状态或数值;
4、在状态转换处标注触发事件,如“signal_start”、“timeout_elapsed”;
5、对具有持续时间约束的操作,用阴影区域标出允许的最短/最长执行窗口。










