时序图(sequence diagrams)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换。也就是说,时序图描述了类以及类间相互交换以完成期望行为的消息。当执行一个用例行为时,时序图中的每一条消息对应了一个类操作或状态机中引起转换的触发事件。
序列图简单的构成:
其中:
1:角色 :可以是人活着其他系统,子系统
2:对象
有三种命名方式:
a:包括对象名和类名
b:只显示类名不显示对象名,即表示他是一个匿名对象。
c:只显示对象名不显示类名。
3:生命线:在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。
4:控制焦点:是时序图中表示时间段的符号,在这个时间段内对象将执行相应的操作,用小矩形表示。
5:消息:
有四种消息:
a:同步消息:消息的发送者把控制传递给消息的接受着,然后停止活动,等待消息的接受者放弃或者返回控制。用来表示同步的意义。
b:异步消息:消息发送者通过消息把信号传递给消息的接受者,然后继续自己的活动,不等待接受者返回消息或者控制。两者并发工作。
c:返回消息:即表示过程调用返回。
d:自关联消息:表示方法的自身调用以及一个对象内的一个方法调用另一个方法。
下面是我画的机房收费系统的协作图:
1 注册新用户
2 基本信息维护
用Rational rose画好时序图之后,按F5直接转换为协作图。
协作图与时序图比较:
两者都表示出了对象间的交互作用,但是两者的侧重点不同。时序图强调时间,清楚的表达了交互作用中的时间顺序,但是没有明确表示对象之间的关系。相反,协作图清楚的表示了对象间的关系,但是时间顺序需要从序号获得。二者只是从不同的侧面描述了对象之间的交互作用,本质上是相同的,可以相互转化。