顺序图
1.4 顺序图:一般顺序图
• 实例顺序图(instance sequence diagram):只 把一个场景用顺序图描述出来 • 一般顺序图(generic sequence diagram):绘 制顺序图时考虑到用例所有场景。
:Customer
:Front
:Register
:Dispenser
checkAvailability(selection) displyPrompt("Sold Out") returnCash(cash) update(cash,price) receiveChange(cash,price) releaseSoda(selection) [selection avaliable]receiveSoda(selection)
• 顺序图中对象的符号和对象图中对象所用的符号一样。
• 将对象置于时序图的顶部意味着在交互开始的时候对象就已 经存在了,如果对象的位置不在顶部,那么表示对象是在交 互的过程中被创建的。
生命线(lifeline):一条垂直的虚线,表示时序图 中的对象在一段时间内的存在。每个对象的底部 中心的位置都带有生命线。生命线是一个时间线, 从时序图的顶部一直延伸到底部,所用的时间取 决于交互持续的时间。
车主
钥匙
小车
getButtonPress(b) processKeyMessage(b) [b="lock] lock()
BlinkLights Beep
1.3 饮料销售机 (1)类图
1.3 饮料销售机 (2)最理想场景的顺序图
:Customer
:Front
:Register
:Dispenser
1.1 什么是顺序图
• 顺序图(sequence diagram)描述了对象之间传送消息的时间 顺序,用来表示用例中的行为顺序。
• 顺序图由采用通常方式表示的对象组成:对象用矩形框表示, 其中是带下划线的对象名;消息用带箭头的实线表示;时间 用垂直虚线表示。
对象 消息 时间
1.1.1 对象(Object)
:name
1.1.2 消息(Message)
• 消息定义的是对象之间某种形式的通信,它可以激发某个操 作、唤起信号或导致目标对象的创建或撤销。
• 消息是两个对象之间的单路通信,从发送方到接收方的控制 信息流。 • 消息可以用于在对象间传递参数。 • 消息可以是信号,也可以是调用。 • 在UML中,消息使用箭头来表示,箭头的类型表示了消息的 类型。
1.5 在消息序列中创建对象实例
• 创建对象的两种表示方法:
• 如果要撤销一个对象,只要在其生命线终止点放置一 个“X”符号即可,该点通常是对删除或取消消息的回 应。 • 一个对象可以销毁自己,也可接收一条销毁自己的指 令
1ห้องสมุดไป่ตู้6 小结
• UML顺序图在对象交互的表示中加入了时间维。在顺序图, 对象位于图的顶部,从上到下表示时间的流逝。每个对象都 有一个垂直向下的生命线。 • 消息用连接对象生命线之间的带箭头连线代表。消息在垂直 方向上的位置表示了该消息在交互序列中发生的时间。对象 生命线上的窄矩形代表一次激活,也就是对象的某个操作的 一次执行。一个对象通过执行操作来响应它所接收到的消息。 • 用例图可以只说明用例的一个实例,或者它可以是一般的, 用来表示一个的所有场景。 • 当序列中包括了创建对象的序列时,被创建的新对象也采用 通常的矩形表示法,只是它在垂直方向上的位置代表了它被 创建的时刻。
accept(cash,selection) getCustomerInput(cash,selection) [cash>price]checkForChange(cash,price) [no change]returnCash(cash)
displayPrompt("Use Correct Change")
<<signal>> BlinkLights
<<signal>> Beep
1.2 汽车和车钥匙 (2)顺序图
:CarOwner getButtonPress(b) processKeyMessage(b) [b="lock"] lock() [b="lock"] BlinkLights [b="lock"] Beep :CarKey :Car
accept(cash,selection) getCustomerInput(cash,selection) checkAvailability(selection) Available updateReserve(cash,price) askforSend(selection) receiveSoda(selection)
第一章 顺序图
Date:2015-03-23
第一章 顺序图 内容
• 什么是顺序图?
• 如何应用顺序图? • 如何对对象间的交互建模。
• 如何使用UML中新添加的有关顺序图的内容
• 顺序图在UML大图中应该处于什么位置。
引入
• 状态图是对单个对象的“放大”。它说明了对象所经历的状态 变化。 • UML可以让你放大视野,显示出一个对象如何与其他对象交互。 在这个“放大”了的视野中,要包括重要的一维:时间。 • 顺序图的关键思想是对象之间的交互是按照特定的顺序发生的, 这些按特定顺序发生的交互序列从开始到结束需要一定的时间。 当建立一个系统时,必须要指明这种交互序列,顺序图就是用 来完成这项工作的UML组件。
1.1.3 时间
• 顺序图中垂直方向代表时间维,时间流逝 的方向为自顶向下。靠近顶部的消息发生 的时间要比靠近底部的消息早。 • 顺序图将交互关系表示为一个二维图。其 中,纵轴是时间轴,时间沿竖线向下延伸; 横轴代表了在协作中各独立的对象。
1.2 汽车和车钥匙 (1)类图
ButtonPad
WirelessCo nnection