UML之序列图(Sequence Diagram)

序列图作为类图的补充,主要展示对象间的动态交互,特别是方法调用关系。每个参与者由Lifeline表示,方法调用通过消息传递,包括同步调用、输入输出和返回值。数据库查询等实际场景进一步解释了序列图的应用。序列图可以被视为运行时的方法调用栈,揭示了系统中对象如何协作完成任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类图描述的是类之间的静态关系,而序列图展示的是对象之间的沟通方法,描述运行时的交互关系。
OOP编程语言里面合理的直接交互方式只有一种,方法调用(Event通讯是间接的)。所以序列图也可以
理解为方法调用交互图。方法调用有四个元素,参与者(两个,调用者和被调用者),方法名称,输入
和输出。

参与者

参与者用一个Lifeline来表示,图像为一个矩形外加底部的一条竖线。矩形里面显示对象名,格式为
name:ClassType的样式,都为可选项,Martin Fowler推荐a Handler的格式,我更喜欢Handler
不过记得序列图里面的参与者都是对象。竖线表示生命周期,从上往下来看,Active的地方为Bar形式,
其它为虚线。如下图:


方法调用

方法调用在序列图里面用消息来表示,为了简单起见,这里只考虑同步调用。方法名体现为消息名称;
输入置于消息名称之后,用逗号分隔,并用小括号括起来,很像Java或C#里面的参数列表;返回值用
独立的返回消息来表示,返回值为虚线。如下图:


数据库查询的例子

注意new关键字,OOP里面有构造函数的概念,新建一个对象的过程就是调用构造函数的过程。
图如下:


小结

我觉得序列图是类图的一个补充,用于描述一些重要的运行时对象调用关系。简单来理解的话,
序列图就是方法调用栈。参与者,方法名,输入,输出是调用的四个组成部分。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值