第五章 顺序图

目录

m1.交互的概念
m2.交互建模技术
m3.交互图概念
m4.顺序图
m5.顺序图分析
m6.示例

5.1交互的概念

m.交互(interaction

  交互是一种行为,是由语境中的一组对象为达到某种目的而交换的一组消息构成。

m2.语境(context

      就是对建模元素进行约束或者提供环境的一个模型片段。是为了某种目的而关联在一起的一组视图,如执行一个操作或构成某种模式。

      可以在语境中发现交互。

m3. 对象、角色、链、连接件

第五章 顺序图

m修饰链的端点的约束
Ø关联(association
Ø自身(self
Ø全局(global
Ø局部(local
Ø参数(parameter
m4.消息

       是对传送信息的对象之间所进行的通信的规约,其中带有对将要发生的活动的期望。

       在传送一个消息时,对消息的接收通常会产生一个动作。这个动作可能引发目标对象以及该对象可以访问其它对象的状态改变。

动作的种类:

Ø调用(call
Ø返回(return
Ø发送(send
Ø创建(create
Ø撤销(destroy
第五章 顺序图

m5.序列

       当一个对象向另一个对象发送消息时,接收对象可能接着会向另一个对象发送消息,这个对象又可能发送消息给下一个不同对象,如此一直传递下去。这个消息流形成了一个序列。

过程式序列(procedural sequence

第五章 顺序图

单调序列(flat sequence

第五章 顺序图

m6.表示法
Ø顺序图:强调时间的顺序。
对象或角色的生命期、创建与撤销都通过生命线的垂直延伸而显式地表示
Ø通信图:强调发送和接收消息的角色的组织。
必须使用注解表示创建和撤销。

5.2  交互建模技术

m对控制流建模

       使用交互最常见的目的是对整个系统的行为建模,是对系统的动态方面建模。策略如下:

Ø设置交互的语境
Ø设置交互的场所
Ø如想强调对象之间的结构组织,则需识别连接他们的链
Ø按照时间顺序,描述从对象传向对象的消息。
Ø用每个对象在每个时刻的状态和角色修饰对象
第五章 顺序图

m绘制交互图的策略
Ø选择交互强调的重点
Ø独立子序列中的事件只能是偏序关系
Ø仅显示对于理解语境中交互较为重要的对象的特征
Ø仅显示对于理解语境中的交互较为重要的消息特征

5.3 交互图概念

m交互图(interaction diagram)显示一个交互,由一组对象和它们之间的关系构成,其中包括在对象之间传递的消息。
m交互图的内容包括:
Ø角色或对象
Ø通信或链
Ø消息
m交互图表示法
Ø使用生命线表示参与者
第五章 顺序图

Ø消息表达式的基本语法

Return =message(parameter:parameterType):returnType

没有参数,也可省略()

如:initialize(code)

   initialize

   d = getProductDescription(id : ItemID) :ProductDescription

5.4 顺序图

m强调消息的时间顺序。显示的对象沿X轴排列,消息沿Y轴按顺序排列。
m特征
Ø顺序图有对象生命线
Ø顺序图有控制焦点(focus of control/执行规约execution specification
第五章 顺序图

m顺序图基本表示法
Ø生命线(lifeLine
Ø消息(message
第五章 顺序图

Ø控制期和执行规格条
第五章 顺序图
m表示应答或返回
Ø使用消息语法 returnVar = message(parameter)
Ø在活动条末端使用应答(或返回)消息线

第五章 顺序图

m对象的创建和销毁
第五章 顺序图

m结构化控制
Ø可选执行
Ø条件执行
Ø并行执行
Ø循环(迭代)执行
第五章 顺序图

m嵌套活动图
第五章 顺序图

m绘制SSD的动机

     因为我们必须处理和响应这些事件(来自于鼠标、键盘、其他系统……)来设计软件。

     软件系统要对以下三种事件进行响应:

Ø来自于参与者(人或计算机)的外部事件
Ø时间事件
Ø错误或异常(通常源于外部)

因此,需要准确地知道,什么是外部输入事件,即系统事件。这些事件是系统行为分析的重要部分

5.5 顺序图分析

mSSD和用例之间的关系
第五章 顺序图

m系统事件和操作命名
Ø系统事件应该在抽象级别而非物理的输入设备级别来表达
Ø系统事件名称以动词开始
第五章 顺序图

m交互图与类图的关系
第五章 顺序图

5.6 示例

1

第五章 顺序图

2

第五章 顺序图

3

第五章 顺序图

小结

m交互图是动态建模技术之一,包括顺序图和通信图。
m顺序图向读者提供了控制流随时间推移的清晰的可视化轨迹,强调消息的时间顺序。