UML——时序图
一、时序图的含义
时序图(Sequence Diagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息的时间顺序的交互图。
时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,当执行一个用例行为时,时序图总的每一条消息对应了一个类操作或状态机中引起转换的触发事件。
图形上参与交互的各对象在时序图的顶端排列,每一个对象的底端都绘制了一条垂直虚线,当一个对象向另一个对象发送消息时,此消息开始于发送对象底部的虚线,终止于接收对象底部的虚线,这些消息用箭头表示,水平放置,沿垂直方向排列,在垂直方向上,越靠近顶端的消息越早被发送。当对象收到消息后,把消息当做执行某种动作的命令。所以时序图向用户提供了事件流随时间推移的、清晰的和可视化的轨迹。
二、时序图包含的元素
(1)对象
对象代表时序图中的对象在交互中所扮演的角色。对象从左到右布置在顺序图的顶部。
(2)消息
一个对象到另一个对象的消息用跨越对象生命线的消息线表示。对象还可以发送消息给它自己,也就是说,
消息线从自己的生命线出发又回到自己的生命线。
消息的类型:
1)调用(Call):消息的发送者将请求传递给消息的接收者,请求接收者对象执行某种操作。通常,这需要发
送者等待接收者返回消息,所以这种消息又叫做同步(synchronous)的消息。
2)异步(asynchronous)消息:这种消息中,发送者把控制权转交给接收者,但并不等操作完成。
(3)生命线
生命线代表时序图中的对象在一段时期内的存在。每个对象底部中心都有一条垂直的虚线,这就是对象的
生命线,对象间的消息存在于两条虚线之间。
顺序图的基本图符集:
三、时序图的用途
(1)时序图有生命线
生命线表示一个对象在一段时期内的存在,正是因为这个特性,使时序图适合对象之间消息的时间顺序。
一般,对象的生命线从图的顶部画到底部,这表示对象存在于交互的整个过程,但对象也可以在整个交互中创
建和撤销,
(2)时序图有激活期
激活期代表一个对象直接或间接的执行一个动作的时间,激活矩形的高度代表激活持续时间。时序图的这
个特性可视化的描述了对象执行一项操作的时间,显然这个特性使系统间对象的交互更容易理解
四、时序图的建模技术
时序图建模时,遵循如下策略:
(1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。
(2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。
(3)设置每个对象的生命线。一般情况下,队形存在于交互的整个过程,但它可以在交互过程中创建和撤销。
(4)从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息。
(5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。
(6)如果需要设置时间后空间的约束,可以为每个消息附上合适的时间和控件约束。
(7)给某控制流的每个消息附上前置或后置条件,这可以更详细地说明这个控制流。
五、时序图建模举例
(1)饮料销售机之“买饮料”理想场景建模
(2)零钱数量不对情况下的建模
(3)机房收费系统之学生上机
补充:综合编程 , 其他综合 ,