Lecture 4 5 uml uml
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

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


  • 114 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Lecture 4 5 uml uml

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


Lecture 4 5 uml uml

动态模型

  • 状态图:通常是一个对象的状态

  • UML中用时序图、通信图、活动图和状态机图来建立动态模型。

    • 显示对象在系统运行期间不同时刻的各对象的动态交互。


Lecture 4 5 uml uml

1. 时序图

  • 时序图用来描述对象间的交互行为,它关注于消息的顺序,即对象间消息的发送和接收的顺序。

  • 时序图还揭示了一个特定场景的交互,即系统执行期间发生在某时间点的对象之间的特定交互。它适合于描述实时系统中的时间特性和时间约束。

    • 实例形式:描述一次具体的交互历史

    • 一般形式:描述一个交互场景中所有可能的交互序列

      ( 可能带条件和分支)


Lecture 4 5 uml uml

  • 生存线:时序图中对象框下可画一垂直的虚线,称为该对象的生存线(lifeline),显示执行期间的时序。

  • 消息发送:用来指出该对象对象之间的消息发送用生存线之间的消息箭头表示。

  • 激活:当一个对象接收到一个消息时,该对象开始活动,称为激活。激活画成对象生存线上的一个长方形框,表示该对象可能在执行自己的代码,可能在等待另一对象的返回。

  • 作用:按垂直坐标从上到下的次序读时序图,可以发现随时间推进,对象间消息通信的顺序与功能执行。


Lecture 4 5 uml uml

呼叫方

应叫方

电话线

呼叫方拿起受话器

拨号音开始

拨数字(5)

拨号音结束

实例形式

拨数字(5)

拨数字(2)

拨数字(7)

拨数字(2)

电话振铃

铃声

应叫方摘机

铃声消失

停止振铃

电话接通

电话接通

户叫方挂机

电话被切断

电话被切断

应叫方挂机


Lecture 4 5 uml uml

A

B:myB

生命线

doOne

激活区

doTwo

doThree

public class A

{

private B myB=new B( );

public void doOne( )

{

myB.doTwo( );

myB.doThree( );

}

}


Lecture 4 5 uml uml

  • 在时序图中,不同的消息表示对象间不同类型的通信。

    • 简单消息:表示消息类型未知或与类型无关,或是一个同步消息的返回。

    • 同步消息:表示发送对象必须等接收对象完成消息的处理后才能继续执行。

    • 异步消息:表示发送对象在消息发送后立即继续执行,而不必等待接收对象的返回。

    • 传送延迟:可用倾斜的箭头表示,意思是消息发送后需经历一段延迟时间才被接收(可以注明最大延迟时间)。


Lecture 4 5 uml uml

:clockStarter

Log:logger

对象创建消息

主动对象:拥有独立的运行线程或进程

startclock

create

异步消息

run

同步消息

saveLog(desp, time)

返回消息

committed


Lecture 4 5 uml uml

:Sales

:Payment

一个对象可以通过一条消息创建另一个对象。

当需要显式地表示对象的销毁(没有垃圾自动回收机制或特别指明不再使用)时,在图中用一个X号表示。

创建或消亡一个对象的消息通常是同步消息

Create(cash)

<<Destroy>>


Lecture 4 5 uml uml

OP1()

A: A1

B:b1

C:c1

OP2()

OP3()

时序图中还可出现递归,即一个对象发消息给自身,这种消息通常是同步


Uml2 0

UML2.0中的带条件消息

:Foo

:Bar

xx

[color=red]

opt

calculate

yy

alt:互斥的有条件交互消息

alt

[x>0]

calculate

else

calculate


Lecture 4 5 uml uml

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


Lecture 4 5 uml uml

时序图中的循环

:A

:B

[make new sale]

loop

[more items]

[enteritem(item, quantity)

loop标记后还可以包含循环次数的限制

Description, total

endsale


Lecture 4 5 uml uml

时序图的结构化控制结构

  • 前面的时序图中描述的都是顺序的控制流,对于复杂的控制流可以用组合片段

    (combined fragment)来表示。

  • 组合片段:有一个关键字和一或多个子片段(subfragment),关键字指明操作符,子片段指出操作对象。下表给出了部分关键字及其含义。


Lecture 4 5 uml uml

时序图中的并行和嵌套

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

并行区域中,同一分区内的消息顺序执行,不同分区之间的

消息次序是任意的


Timing

时间图 Timing


Lecture 4 5 uml uml

通信图(协作图)

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


Lecture 4 5 uml uml

通信图(协作图)

  • 通信图:对象间的交互和链接(一个link是关联的一个实例)。Link可以带上消息

    • 消息:同顺序图

    • 链:两个对象之间的连接。

      • 链上可附加上消息

      • 在链的末端可附加上约束:如global, local, parameter,self(对象可以向自身发送消息)

    • 例1. 工作申请协作图


Lecture 4 5 uml uml

通信图举例


Interaction overview diagram

交互概览图interaction overview diagram

  • UML2.0新增,结合了时序图中的控制流与活动图的交互特征。

  • 关注控制流,但抽象掉了时序图中的消息和生命线的视图。

  • 使用活动图的表示法,其中的节点不是活动,而是UML的各种交互图(时序、通信、时间及交互概述图)


  • Login