1 / 23

Lecture 4-5 UML 建模 UML 时序通信与概览图

Lecture 4-5 UML 建模 UML 时序通信与概览图. 动态模型. 状态图:通常是一个对象的状态 UML 中用时序图、通信图、活动图和状态机图来建立动态模型。 显示对象在系统运行期间不同时刻的 各对象的动态交互。. 1. 时序图. 时序图用来描述 对象间的交互行为 ,它关注于消息的顺序,即对象间消息的发送和接收的顺序。 时序图还揭示了 一个特定场景的交互 ,即系统执行期间发生在某时间点的对象之间的特定交互。它适合于描述实时系统中的时间特性和时间约束。 实例形式 :描述一次具体的交互历史 一般形式: 描述一个交互场景中所有可能的交互序列 ( 可能带条件和分支).

kisha
Download Presentation

Lecture 4-5 UML 建模 UML 时序通信与概览图

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 4-5 UML建模UML时序通信与概览图

  2. 动态模型 • 状态图:通常是一个对象的状态 • UML中用时序图、通信图、活动图和状态机图来建立动态模型。 • 显示对象在系统运行期间不同时刻的各对象的动态交互。

  3. 1. 时序图 • 时序图用来描述对象间的交互行为,它关注于消息的顺序,即对象间消息的发送和接收的顺序。 • 时序图还揭示了一个特定场景的交互,即系统执行期间发生在某时间点的对象之间的特定交互。它适合于描述实时系统中的时间特性和时间约束。 • 实例形式:描述一次具体的交互历史 • 一般形式:描述一个交互场景中所有可能的交互序列 ( 可能带条件和分支)

  4. 生存线:时序图中对象框下可画一垂直的虚线,称为该对象的生存线(lifeline),显示执行期间的时序。生存线:时序图中对象框下可画一垂直的虚线,称为该对象的生存线(lifeline),显示执行期间的时序。 • 消息发送:用来指出该对象对象之间的消息发送用生存线之间的消息箭头表示。 • 激活:当一个对象接收到一个消息时,该对象开始活动,称为激活。激活画成对象生存线上的一个长方形框,表示该对象可能在执行自己的代码,可能在等待另一对象的返回。 • 作用:按垂直坐标从上到下的次序读时序图,可以发现随时间推进,对象间消息通信的顺序与功能执行。

  5. 呼叫方 应叫方 电话线 呼叫方拿起受话器 拨号音开始 拨数字(5) 拨号音结束 实例形式 拨数字(5) 拨数字(2) 拨数字(7) 拨数字(2) 电话振铃 铃声 应叫方摘机 铃声消失 停止振铃 电话接通 电话接通 户叫方挂机 电话被切断 电话被切断 应叫方挂机

  6. A B:myB 生命线 doOne 激活区 doTwo doThree public class A { private B myB=new B( ); public void doOne( ) { myB.doTwo( ); myB.doThree( ); } }

  7. 在时序图中,不同的消息表示对象间不同类型的通信。在时序图中,不同的消息表示对象间不同类型的通信。 • 简单消息:表示消息类型未知或与类型无关,或是一个同步消息的返回。 • 同步消息:表示发送对象必须等接收对象完成消息的处理后才能继续执行。 • 异步消息:表示发送对象在消息发送后立即继续执行,而不必等待接收对象的返回。 • 传送延迟:可用倾斜的箭头表示,意思是消息发送后需经历一段延迟时间才被接收(可以注明最大延迟时间)。

  8. :clockStarter Log:logger 对象创建消息 主动对象:拥有独立的运行线程或进程 startclock create 异步消息 run 同步消息 saveLog(desp, time) 返回消息 committed

  9. :Sales :Payment 一个对象可以通过一条消息创建另一个对象。 当需要显式地表示对象的销毁(没有垃圾自动回收机制或特别指明不再使用)时,在图中用一个X号表示。 创建或消亡一个对象的消息通常是同步消息 Create(cash) <<Destroy>>

  10. OP1() A: A1 B:b1 C:c1 OP2() OP3() 时序图中还可出现递归,即一个对象发消息给自身,这种消息通常是同步

  11. UML2.0中的带条件消息 :Foo :Bar xx [color=red] opt calculate yy alt:互斥的有条件交互消息 alt [x>0] calculate else calculate

  12. sd authen user :B :C :A :B :C Op1 do X op2 do A do B p3 authe(id) ref Authen user ref Sd do foo do foo :B :C 被引用的交互片断具有一样的生命线 准则:任何时序图 op4 op5

  13. 时序图中的循环 :A :B [make new sale] loop [more items] [enteritem(item, quantity) loop标记后还可以包含循环次数的限制 Description, total endsale

  14. 时序图的结构化控制结构 • 前面的时序图中描述的都是顺序的控制流,对于复杂的控制流可以用组合片段 (combined fragment)来表示。 • 组合片段:有一个关键字和一或多个子片段( subfragment),关键字指明操作符,子片段指出操作对象。下表给出了部分关键字及其含义。

  15. 时序图中的并行和嵌套 Bank: ATM User: Person Loop(1,3) [invalid pass] enter(password) Valid=verify(password) opt [valid pass] par [valid pass] Enter(account) Enter(ammount) Deliver cash 并行区域中,同一分区内的消息顺序执行,不同分区之间的 消息次序是任意的

  16. 时间图 Timing

  17. 通信图(协作图) • 通信图communication diagram,与1.X版本中的协作图collaboration diagram 相同

  18. 通信图(协作图) • 通信图:对象间的交互和链接(一个link是关联的一个实例)。Link可以带上消息 • 消息:同顺序图 • 链:两个对象之间的连接。 • 链上可附加上消息 • 在链的末端可附加上约束:如global, local, parameter,self(对象可以向自身发送消息) • 例1. 工作申请协作图

  19. 通信图举例

  20. 交互概览图interaction overview diagram • UML2.0新增,结合了时序图中的控制流与活动图的交互特征。 • 关注控制流,但抽象掉了时序图中的消息和生命线的视图。 • 使用活动图的表示法,其中的节点不是活动,而是UML的各种交互图(时序、通信、时间及交互概述图)

More Related